Improved CFrame support in Studio

Lets finally go!! I have always wanted to edit cframes visually, thanks for this update!!

2 Likes

YEES attributes got CFrame support! Attributes have so much potential, PLEASE keep adding onto that feature.

4 Likes

Will you ever add a .Orientation property to the CFrame?

Edit: Nevermind, I just found out what :ToOrientation() is.

4 Likes

Will there be support for CFrame visualization in physical constraints properties in the future?

1 Like

Thanks for the feedback, let me look into it.

2 Likes

@sleepcodes @C_Corpze Thank you for the feedback. I agree that would be useful. The main concern when implementing something like this would be to avoid bloat, as it would be confusing for developers less familiar with all the ways rotations can be stored. We’re looking internally for ways to improve how rotations are exposed.

2 Likes

Agreed, this is something we’d like to implement next. Visually showing the 3 main axes in space that represent the CFrame you’re editing.
Not straightforward since we don’t always know what the world-space CFrame of a CFrame property is (e.g. some are in local space of something else) or we can’t really know the meaning of something stored in a CFrameValue, but once we find a way to sort this out I’ll add this. Thanks!

6 Likes

Are you talking about a property such as motor.Orientation?

1 Like

Nothing changes under the hood so all your scripts will still work. The Vector3 for the position is exactly the same as the .Position property, whereas the Vector3 orientation is extracted from the CFrame using the fromOrientation/toOrientation methods. Seeing 3 values related to the intuitive Euler angles is more convenient than the 9 matrix values expressing the rotation.

2 Likes

I don’t think we’ll make it unexpanded by default since that would inconvenience many developers. I agree that there is a lot of information to show unexpanded (6 values), that’s why we hide it when expanded.

2 Likes

Yes, we do want to expand upon that.

3 Likes

dont give them ideas i beg lad

3 Likes

Unsure if this issue has been brought upon, but it seems I can no longer paste a singular coordinate value (X, Y, or Z) inside of several objects at once without them editing the other two values and them all meeting at one origin point!

For example on the old behavior, if four objects shared the same Y value, but do not share X or Z. Then on the properties window it would only show a Y value and the other two coordinates would be blank.

Now on the new behavior, if four objects shared the same Y value. It does not matter, the other three objects are thrown out the window and the first selected object’s coordinates is what is displayed on the position property. Rather than seeing if every object shares any values

How it’s behaving

How it should be behaving



Notice how the other two values did not change?


TL:DR New system only shows first selected part’s X,Y,Z rather than showing if every part selected shares any coordinate values like before. Meaning if any of the three values is edited, every other part selected returns to the first selected part’s other two values PLUS the edited value.

11 Likes

Cool update.

Can we have the new studio UI fixed now? Having to use a previous version of Studio just to get any work done is such a drag.

2 Likes

FINALLY! Readable CFrames! As a programmer working heavily on movement systems, I can’t thank you enough for making CFrames readable at last.

yes, so i can read/set C1.Orientation.Y for example

1 Like

Oh now this will be a lot of help.

2 Likes

orientation is not exposed as a property but as a function. you can use fromOrientation and toOrientation (although it requires slightly more code)

1 Like

thanks for the detailed report. let me look into it.

6 Likes

This is definitely an improvement, I’m glad I no longer have to assign these by manually typing stuff into the command line.

Any chance we could get the option to change X Y and Z (right, up and look) vectors instead of orientation though like in a studio setting or something? I find myself working with directional vectors and CFrame.fromMatrix more often than orientation. It’s not a huge deal though, I am all for this change.

1 Like