There are two reasons why I decided to disable this beta for now:
Awkward rotations when selecting multiple objects
Normally, I could just rotate both of the objects from the center of the selection box, but with the beta enabled, the only way I could do this is by editing one of the selected part’s pivot:
The pivot point is far too obstructive and hinders my building experience
Every Part/Model has it’s own pivot and never loses it even if you group it within further Models / other containers.
For editing purposes, only the pivot of the most recently clicked object within the selection gets used as the pivot of the selection. (E.g. If you have two parts selected, you can switch which one’s pivot will be rotated around with the Rotate tool by clicking an additional time on it)
Indeed, this is something that’s very open to change.
We started things out with it always being shown since that’s the most in-your-face option, and we can scale it back from there depending on the feedback.
Not sure what you mean by “reliable”, but it is more convenient since you can call it on any model and not have to worry about whether it has a PrimaryPart or not.
Yes, as stated in the “Other API Changes”, SetPrimaryPartCFrame will be deprecated after the full release, since PivotTo is a drop-in replacement for it.
PivotTo will be have some performance benefits since it will use the same code as BulkMoveTo does internally (though we haven’t made those changes yet, so it will have the same perf at the moment).
I think the added methods for the API are great but I think the option for developers to modify the pivot through the properties should be added.
And my main reason is pivot points provide a very simple way to modify a part relative to an offset but if I’m understanding the API correctly, if you wanted to apply a 45 degree rotation to the pivot you would have to get the current CFrame of the pivot and then add a CFrame rotation to that pivot. Simple for more experienced developers but I think the ability to write data to all the new properties would be nice for inexperienced developers. As from experience I didn’t understand CFrame quite as quickly as I understood Vector3 manipulation.
Now a valid argument could be made that anyone using pivot points in scripts is doing so because they have used already existing methods which would require you to work with CFrame and methods. My argument against that is these are now easily accessible properties which are visible to be tinkered by new developers. And from about every beginner’s tutorial guide on YouTube many are modifying properties within the first few episodes. But these properties are outliers amongst the other properties making them very odd. By not being marked as read-only but containing spaces these don’t come apparent that you can’t modify these through code, possibly leading to confusion.
In conclusion I think the property names should follow PascalCase like all other properties so inexperienced developers can modify pivot points using Vector3 values over CFrame and decrease confusion as these properties currently don’t follow the consistency of how other properties are setup.
This will definitely make life easier when it comes to pivots based on a point. You could get away with some cool door mechanics rather than manually setting the cframe of the pivot point yourself which is great. Would this be a suitable replacement for arm-based pivots where Motor6Ds are commonly used in regards to inverse kinematics?
Excited to see this change! This was definitely one of the things I thought roblox studio was missing and needed to have, and will make workflow much faster as pivoting stuff is done a lot
Comparing this with already existing plugins like archimedes, and ro-peater, does it have the same issue? Where if you use it for too long, the coordinates slightly shift and are out of place, forcing you to have to rebuild the model?
Anyways, I’m glad to see an important feature like this finally integrated into standard studio
OH MY GOD!!! You added an Orgin Position Property! Gone are the days of having to create your own functions just to move an entire model! Now we can simply edit this property to move it!!!
EDIT:
Now that my high has worn off I realized what this means…
I have to edit all of my already written code because it has become obsolete. But also really
useful!!!
EDIT 2:
Your dark sorcery has made ALL my code that uses CFrames to teleport a character obsolete. Now I can just edit the Orgin Position property of the character model and it will move the character without killing it! Now I no-longer have to account for rotation of the player when teleporting them unless I want to set it!!!
You can script using the pivot, just not using that property.
Using the pivot: You use the :PivotTo(target) call to move the object to some location via the pivot, and the :GetPivot() call to ask where the pivot currently is in world space.
Changing the pivot: You set where the pivot is on an object using .PivotOffset for parts and .WorldPivot for models.
This update is what we needed, Blender you can change an objects origin point basically acting as the pivot point. just a few weeks ago I was wishing there was some way to do this, but had to create a part and weld my model to it so it would pivot/move around it, once animated, it was a tree and using the WindShake Editor plugin.
I guess the reason for my comment is, will this make it so we no longer need to do this, and just move the pivot point, or would we need to do these steps mentioned above, if I’m being honest it was a bit of a headache to get it working right.