Pivot Points - Studio Beta

That’s just a bug with the SelectionBox being “stale”. We could try to improve it but trying to keep the selection box / handles 100% up to date always while the game is running has some significant performance implications, so there’s a bit of a balance right now.

Though it looks like something might be going more wrong than intended with the SelectionBox there. If you send me the model I can confirm.

2 Likes

Here is the model (not the same though however, it has the same problem).
Model.rbxl (25.7 KB)

1 Like

Yikes, I thought that you were seeing the HoverBox or something, but that’s actually looks like a regression in Studio’s selection box rendering entirely unrelated to the draggers (the selection box gets out of sync if you use a script to move the parts in that way even with no tool selected).

Feel free to report it separately.

2 Likes

Where would I report this though? I can’t report it in #bug-reports because I am not regular and there is no way to rank up yet.

1 Like

Message @Bug-support with the format regarding the issue and they’ll get back to you after a few hours. If they deem it an issue they will update the post location into bug reports

2 Likes

How can I change the orientation of a pivot point, with code, once a game is running? I’ve been trying to figure out how for the past 30 or so minutes, but can’t seem to get it. I might just be totally missing/misunderstanding something, and it’s an easy fix. But any help would be appreciated!

-- Set the pivot of a model without a PrimaryPart to a world space CFrame
model.WorldPivot = <cframe> 

-- Set the pivot of a part to be offset a given amount from its CFrame
part.PivotOffset = <cframe> 

The rotation component of the CFrames in the above will give you what you want.

3 Likes

Seems Like A Very Good Update, But It Still Seems Very Confusing.

Don’t worry, we’ll have a complete detailed documentation page on the DevHub before the full release.

Though yes, the inner workings of it can be a bit hard to understand. That’s a cost we had to pay to get all the features we wanted like being able to move models from the properties pane without breaking any existing code.

3 Likes

Sorry, I don’t think I was clear on my intentions (totally my fault). But, how would I get it so the model would rotate, once a game has started? I completely understand how to set the pivot point, but I’m kinda having trouble understanding how to make the model rotation happen.

I was looking at the “Origin Orientation” value changing and got my wording mixed up. Although, due to said value not being able to be changed, via script. Would this even be possible?

1 Like

Oh that, that’s what object:PivotTo( cframe ) does, you just pass it the CFrame and it moves the whole model there. It even accounts for floating point drift so if you repeatedly move a model with it the parts won’t drift, so this sort of thing will work as intended:

local originalPivot = MyThing:GetPivot()
while wait() do
    MyThing:PivotTo(originalPivot * CFrame.new(0, math.sin(tick()), 0))
end

It’s a bit unfortunate that we couldn’t just expose the property to scripts. Basically this came down to a couple things:

  • It would be really unclear whether the property was just setting the pivot, or setting the setting the pivot and also moving the object.
  • Confusion over changed events. We would be unable to fire property changed events for the origin position / orientation props.

So we exposed it as the function :PivotTo instead.

3 Likes

Do you have an ETA on this? I have a bunch of character accessories in Blender that use the pivot to define their offset on a body part, and it would be a pain to reconstruct this data in Studio.

It’s coming! I have the code for it written. We have a company vacation inbetween though so it’ll take a bit to ship, tentatively it will probably be enabled July 14th.

The unfortunate part is that there’s no easy way to make the AssetManager support the pivots on import, since it just stores the raw meshes (while the pivot is something that should be attached to the MeshPart), but the other two importing workflows (Properties pane and Avatar Importer) will support it. We have import workflow changes underway that will eventually mean you’ll get the pivot in every import path, but that’s the best I could do in the interim.

7 Likes

Hi i didnt find the pivot tool in my menu what i do please I need help

2 Likes

Go to the model tab, it’s been rolled out to everyone so should be there

How do i disable this? it’s so annoying I prefer the old movement tool

You can still opt out through the Beta Features panel by unchecking “Pivot Editor”, however that option will be going away soon.

Please explain in more detail what issues it’s causing for you. Also, have you tried using handle summoning? (Holding tab to summon the handles) That’s intended to solve most of the cases where the old Move handle behavior was better.

1 Like

It would be awesome if we could use this with TweenService. For example, tweening the Origin Orientation property to create a swinging door. Currently, I get this error:

TweenService:Create property named ‘Origin Orientation’ on object ‘Part’ is not a data type that can be tweened

Is this planned for the future? It’s just a Vector3, so I’m not sure why this data type can’t be tweened, when you can tween other Vector3 properties like position and size.

Couldn’t you tween something like PivotOffset for this effect?

Same thing,

TweenService:Create property named ‘Pivot Offset Orientation’ on object ‘Part’ is not a data type that can be tweened