Pivot Editor: Full Release

(*Wasn’t meant to be a direct reply; just wanted the quote)

When the issue of legacy models with arbitrarily misplaced pivots is fixed, and it has been determined why some models seem to have PrimaryParts assigned at random, and anything else that can be classified as a bug has been addressed, the pivots will come out of beta and there won’t be a way for a user to disable them because future features depend on those pivots. Saying that “features could get very confusing” is probably an understatement if users are allowed to just turn off the functionality that supports them or disable the indicators that show why things are happening the way they are. The seemingly simple request for a way to toggle this functionality is not as simple as it seems—and may have far-reaching consequences.

It appears that there is a consensus around the sentiment that pivots should not necessarily change the way a user works if the added functionality provided by the pivots isn’t needed. It also sounds like the problem with a toggle may not be with the toggle idea itself but rather with the idea of having it controlled by a user.

There is precedent for changing the pivot visibility and (perceived) behavior, based on context, when Studio is in control (e.g. pivots currently don’t show when mult parts are selected, and the handles shift to center of selection). Given all that, I wonder if there is a way to determine/define a context wherein the pivot features are effectively invisible to a user, but where the “toggle” mechanism that enables this is managed by Studio and can be flipped as needed.

For example: If we consider a Part object, one key observation is that the pivot is always in the center of the bounding box unless it’s moved using the Pivot Editor. Rotation, scaling, and translation all happen about this pivot/centroid. Scaling/Extruding the Part, critically, causes the pivot location to move in concert with the bounding box center. If we say that our context definition includes having a selection’s pivot equal to its bounding box center, then we can note that a Part will be in this state almost all of the time. The only time it isn’t is after the pivot has been moved using the Pivot Editor (or a script).

We can extend the idea to multiple selected Parts. In that situation, there is no “true pivot”. The bounding box center acts as an “effective pivot”. By definition, that “effective pivot” and the bounding box center are equal. If we can accept that there is an equivalence of sorts between this effective pivot and a true one, then multiple object selections are covered by our existing context definition. Since this “effective pivot” can’t be manipulated using the Pivot Editor, we can further conclude that mult selections will always be in that state.

Pausing to consider what all that might mean, we’ve just established that any group selection and all individual Parts that haven’t had a pivot explicitly set via the Pivot Editor (or a script) are covered by our defined context. If Studio is configured so that it does not draw pivots on selections in this defined state, then pivot indicators can be almost totally removed from sight for users who don’t modify pivots (in scenes with no models). Additionally, we might note that selections in this state have a pivot (or “effective pivot”) that is axis-aligned (Obj space) with the face centers of the bounding box. That means the act of placing translation handles around the pivot center and placing them at the edges of the bounding box can be thought of as being similar, differing only by an offset. Assuming that translation handles can be offset individually (as with rotation dots), then that observation could be used to push translation handles to the edges of a selection in our defined state to further limit the observed impact that these changes might have on a user. No pivot indicators plus translation handles at the edges of a selection’s bounding box sounds a lot like the old system, regardless of what’s going on under the hood.

Extending the context idea to Models is a little more involved. The defining characteristics of our context still apply, but Models, as written, will quickly fall out of that state and remain out most of the time. This behavior of Models when Pivots are added seems to be a sticking point for more than a few users. In all fairness, it’s a big change to go from Models as positionless folders for Parts (unless tied to a PrimaryPart) to Models with a transform object of their own (…one that can be overridden by a PrimaryPart). It would be worthwhile, I think, to explore the idea of having a model’s default behavior imitate that of an individual Part, at least as far as having the pivot follow the Model’s bounding box center is concerned. If models without a PrimaryPart or a modified pivot could be written so that the pivot stays in the center, then they too would qualify for inclusion in our defined context. Parts, group selections, and Models (in that base configuration) could all be set to effectively work as they did in the old system without having to give users a toggle switch.

In the interest of keeping this brief (relatively speaking), I’ll assume that’s enough to get the basic idea across. In short, that kind of approach might allow:

  • Pivot indicators to be removed for selections defined by our context (selections where the pivot, effective or true, is at the selection’s bounding box center, in this example)
  • The transform handles to be placed at the edge of a selection (by default)
  • (^ with Studio in control of the toggle rather than the user)
  • Anything out of our context to be shown with pivot and perhaps different handle positions (e.g. when tab-summon is called → “effective pivot” not at bounding box center)
  • Tab-summon, selections with modified pivots, future features that benefit from or require pivot indicators, etc, to be handled with pivot visibility and handle position set as needed since Studio would be in control of the toggle.
  • The addition of a user-controlled toggle for things like keeping pivots visible all the time (when things are selected, obv), or for having handles always clustered at the pivot (for users who don’t like handles at the edges, ever). This puts the onus on those who are interested in seeing pivots and pivot-centered transform handles to set the toggle appropriately.

Keeping Studio in control of the “toggle” and placing the onus on users who want the new functionality to find the visibility toggle(s) seems like a possible way forward. Eventually, the “pivots always visible” flag, etc. might be done away with when a majority of users are acclimated to the feature. Anyway. Food for thought/discussion.

1 Like

For us the first order of business is to separate potential bugs from behavior that is intended, but not what devs expect/want. If a model’s pivot is being placed incorrectly then we need to know how/why; if the pivot not re-centering after a new part is added is unexpected or unwanted, we need to explore whether that design choice makes sense.

All the feedback here is extremely helpful, and I appreciate those we’ve reached out to in DMs for their additional feedback there as well.

1 Like

For those that are curious, I learned that an issue with it is that when you make changes inside of a model, the pivot does not get adjusted. I pressed alt to click a brick inside of a model and resized it, and the pivot did not adjust. Same for pasting something into a model.

I was probably wrong about the PrimaryPart, but that could be a different problem entirely.

If you have a PrimaryPart set then the pivot “follows” the PrimaryPart. If you don’t have a PrimaryPart set then only moving the model as a whole moves the pivot. You can choose which behavior by setting or not setting the PrimaryPart.

My problem with this is how this wasn’t how it worked before. It used to be where it would automatically re-center itself within the model if you moved parts around.

I don’t use PrimaryParts unless the model is completely wacky and off-center so its frustrating to have to frequently re-center the pivot every time i make a change to parts within a model.

That’s why I’m advocating for a button to turn it off similar to attachments and welds so that its not so impractical for people that aren’t going to use this feature.

2 Likes

“Turning it off” doesn’t make any sense because this is a fundamental property of the way models are positioned now. What you seem to want is for the pivot to just be automatically set according to model contents and position.

Ideally, yes I would prefer it to be like how it used to be with automatic centering.

But, previously you could turn it on and off as a beta feature. I’m not a super programmer hackerman, but I don’t its outside of the realms of possibility to find a way to preserve the old way while also leaving the pivot feature as an option.

Maybe something like a slot for it in Studio settings for like a ‘Legacy’ option and a ‘Pivot-based’ option or just Enabled/Disabled checkbox that just determines wether or not models actually use the Pivot properties.

If it really is as problematic to provide the option to disable it as you suggest, then I’d just be fine with the auto-correction thing like I was talking about before. Clearly, it shouldn’t be working how it is now when the origin can be left outside of the actual model itself.

1 Like

hit ctrl G thats how i fix that

I have now got the option to disable it again in the beta features section of studio.

Thanks Roblox, I prefer the old way of doing things and having the options allows me to personalise how I like my studio

@tnavarts Why is pivot editor in beta?

Is it possible to make pivot offset to be animated with animation editor and moon suit plugins?

Temporarily disabled or something wrong? Don’t have the widget on my UI.

Weird, everything should be working as usual. Can you still see the Pivot indicator / summon the handles with Tab?

How can I make my rotate tool has the same orientation as the part that I select?

1 Like

not this being forced on us again. This is a joke, really.

2 Likes

Hello @gumi44, looking at your comments from earlier in this thread, it appears that your main issue is that you want to have a way to keep the move handles at the side of the bounding box. Before taking the feature out of beta, we added a new Studio Setting “Use Bounding Box Move Handles” that will let you keep the old style of move handle placement.
Here is a link listing the changes we made since the discussions we had in this thread in Februrary:

2 Likes

I completely missed this, I’m glad this is an option thanks :slight_smile:

Is This a Right Thing? The rotation pivot hasn’t changed! And I was Forced to move the pivot to the center to rotate!

ok, this is actually a huge improvement. Thanks for informing me. I can actually build with no drawbacks anymore, even if that blue dot still annoys me a bit.

1 Like

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