Model Positions

As a Roblox developer, it is currently hard to position Parts and models (presuming they have physical objects in them) relative to other models. I know this will be a hard feature to work on and understand completely if this is not something you want to do, but I will say it just in case it intrigues anybody: I am suggesting a property for models similar to that of a Part’s position. Sometimes, I run across a situation where it would be useful to move something via editing its position in properties; however, it can be difficult when one needs to move an entire model to somewhere specific. This would be helpful because it would allow us to efficiently move models to specific places or distances without having to do much math, if any at all.

When you hover your cursor over a model, a glowing, blue frame in the form of an outline of a rectangular prism appears (selecting has a solid blue). This, I believe, could help with this. By utilizing this feature into my suggestion, maybe you could figure out how to find the position of the model. If you find the centre of the outlined rectangular prism, you have found the position of the model. If you set the position of a Part, for example, to one, one, thirty—and I’m sure builders and scripters know this, not that I’m an expert at code—you are putting the middle of the Part to that particular point, and the visible Part we see follows that middle and is relatively positioned to it; therefore, you might also be able to do the same with models if we can already see its rectangular outline.

Thank you for reading. Ideas, thoughts, and criticism is always welcome! :slight_smile:

24 Likes

Are you looking to move a model to a specific vector3 position? If so, use this:

Model:MoveTo(vector3 position)

9 Likes

The problem is not everyone is a programmer. It’s easy for us with MoveTo and SetPrimaryPartCFrame, but for builders who aren’t comfortable using Lua, it’s not. It would be nice to have an easy-to-edit property for less technically-inclined users.

13 Likes

I’m not the greatest scripter but can do that for now. .3.

2 Likes

This would be extremely useful, particularly for moving large models (or laggy, brick-heavy models) very small distances. Having model positions would give me more accuracy if needed where moving it freehand may be inaccurate.

6 Likes

Good point. Funny that such a point is so easy to overlook. Other game engines I’ve used let you set the position of a collection of objects (i.e. a “model”) from a properties window too.

8 Likes

Models should not have a concept of a position because they are just a grouping of parts. But I’m all up for better tools to help manipulate said collections of parts.

Has everyone here forgot about PrimaryPartCFrame

EDIT: I get what OP means and long way back there was a huge discussion on this topic where people wanted some model manipulation using that prospect
However notice how this rectangle is either locked to world coordinates, or stretches/ changes based off the model’s rotation
It seems unintuitive but there actually is no possible “center” to these part collections- not one which can sanely be manipulated

1 Like

I think there might be a bug at work here. In studio, if you have the setting Studio->DragMultiplePartsAsSinglePart you can move the model by setting the position in Properties of <redacted, see EDIT>. I believe this should respect the PrimaryPart. It might be that this setting is older than the PrimaryPart concept, but in any case, it would make setting models’ position by the Properties panel more discoverable and predictable. I don’t think the order of children under a model is necessarily something that is even carefully preserved.

NOTE: Changing this setting requires a restart of studio.

EDIT: This behavior is less predictable than I originally thought. When the DragMultiplePartsAsSinglePart feature is on, it seems to only work for newly-created models (I can’t get it to work for ones that were already in the workspace), and the part that it lets you move is not necessarily the first child. I actually don’t know what the criterion is for the chosen part, but it’s not PrimaryPart.

Yeah, this is true. When moving complex models, studio tends to freeze because the CPU is being heavily used, which can lead to inaccurate positioning due to the feedback lag.

I have to disagree on this one; we have Folders which serve the purpose of grouping together objects with no real extra features to it.
So it would seem ideal to have a model be moved relative to a certain position (and I believe such could be possible since ROBLOX can already get the center of a model from just the parts in it as shown by the selection boxes).
A Position for a model could simply be the middle of all its parts (unless a PrimaryPart is set, in which case, PrimaryPart.Position).

5 Likes

It’s much easier to simply require a primary part to be set to get this functionality, this avoids having to agree on what the middle is, as well as looping over all the parts to calculate it. Or put another way, a developer-defined “middle” is strictly more valuable than an arbitrary choice by a Roblox engineer.

1 Like

This is a fair point, definitely does the idea justice.

1 Like

Example of when one may need model positions:image

What about the models physical space though? Couldn’t we somehow get that?

I like this more than just the middle. Thanks for that. :smiley:

1 Like

A while ago, ROBLOX added a feature where you can re-size models like unions. However, we do not have the capability to set a model to a specific XYZ position and a specific orientation.


A feature that has not been implemented but would be wonderful to have would be the ability to set an X-Y-Z position and a specific orientation in the properties tab. The models property tab is pretty lacking in what you can do with it so having some extra properties to change would be convenient.

8 Likes