Pivot Points - Studio Beta

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

No, I meant the literal PropertyName PivotOffset, which takes a CFrame value.

Ah - you can tween PivotOffset, but that doesn’t actually move the part, it just moves the pivot relative to the part. If there is a way to use this for a door, I haven’t thought of it yet.

I do want to make it possible to TweenService location of stuff via the pivot, but this is a bit complicated. Origin Orientation / Position aren’t “real” properties, they only exist in the properties pane, so there would have to be some special code path to basically translate to PivotTo calls.

1 Like

My main issue with it is half the time the movement tool is actually miles away from where I want it to be so for example if I was trying to move a large part/model up to another part/model it makes it more difficult because I have to zoom right out and find where the movement tool is however with the old movement tool It was always at the very edge of the part/model instead of being in the middle or attached to another part within a model (very common in vehicles the movement tool attaches itself to the vehicle seat)

I just overall prefer the old movement tool.

Again, how does Handle Summoning play into this? Have you tried it but found that it’s too awkward to use to solve this problem?

1 Like

Many plugins already use pcalls to check if certain operations can be performed (if an error is involved) to check if features are enabled, and I think LogService (if warnings appear), exposing the beta features ability (for reading, not writing to) to plugins would just make the process easier.

When I try to rotate a part (after changing its pivot point), it doesn’t rotate the way as expected.

I changed the pivot point to the end of the part, but when rotating it still rotates around it’s own axis (like the “standard” behaviour.

I made a post here:

Thanks for any help!

Shouldn’t there be a method such as GetPivotBoundingBox, instead of fully integrating GetBoudingBox with pivots? I find the fact that if theres limited functionality when it comes to GetBoudingBox with no primary part, it may lead to some confusion. If this isn’t a possible change, I’d believe that a friendly reminder that a PrimaryPart is important regarding pivot points and GetBoudingBox. :wink:

https://developer.roblox.com/en-us/api-reference/function/Model/GetBoundingBox

If you do want that functionality you could actually get it by temporarily modifying the pivot to the desired value and calling GetBoundingBox.

1 Like

Thanks, I’ll consider that. :+1:

Sorry for bumping this post.
I’m not sure if this is the correct place, but when you have the “Pivot Editor” beta feature disabled, the scale tool breaks when you hold CTRL to change the size from both sides of an object.
(The scale tool handles don’t do nothing when pressed, and when you deselect the tool, they continue there with the tool also)

And when I reproduce the issue, the output shows this.

  builtin_ScaleDragger.rbxm.ScaleDragger.Packages.DraggerFramework.Handles.ExtrudeHandles:608: invalid argument #1 to 'new' (Vector3 expected, got nil)  -  Edit
  Stack Begin  -  Studio
  Script 'builtin_ScaleDragger.rbxm.ScaleDragger.Packages.DraggerFramework.Handles.ExtrudeHandles', Line 608 - function _computeProjectionLineAndScaleCenter  -  Studio
  Script 'builtin_ScaleDragger.rbxm.ScaleDragger.Packages.DraggerFramework.Handles.ExtrudeHandles', Line 629 - function _getDistanceAlongAxis  -  Studio
  Script 'builtin_ScaleDragger.rbxm.ScaleDragger.Packages.DraggerFramework.Handles.ExtrudeHandles', Line 374 - function mouseDown  -  Studio
  Script 'builtin_ScaleDragger.rbxm.ScaleDragger.Packages.DraggerFramework.Implementation.DraggerStates.DraggingHandle', Line 29 - function _init  -  Studio
  Script 'builtin_ScaleDragger.rbxm.ScaleDragger.Packages.DraggerFramework.Implementation.DraggerStates.DraggingHandle', Line 14 - function new  -  Studio
  Script 'builtin_ScaleDragger.rbxm.ScaleDragger.Packages.DraggerFramework.Implementation.DraggerToolModel', Line 116 - function transitionToState  -  Studio
  Script 'builtin_ScaleDragger.rbxm.ScaleDragger.Packages.DraggerFramework.Implementation.DraggerStates.Ready', Line 129 - function processMouseDown  -  Studio
  Script 'builtin_ScaleDragger.rbxm.ScaleDragger.Packages.DraggerFramework.Implementation.DraggerToolModel', Line 330 - function _processMouseDown  -  Studio
  Script 'builtin_ScaleDragger.rbxm.ScaleDragger.Packages.DraggerFramework.DraggerTools.DraggerToolComponent', Line 95  -  Studio
  Stack End  -  Studio

Also, it’s worth noting that I have tested this with another person, and they also got the issue.

1 Like

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.