Improved CFrame support in Studio

Finally, no more hacky serializations needed for CFrame attributes! Now all that’s left are instance value attributes and ValueBases will essentially be obsolete.

14 Likes

Oh my, this is actually great! Thank you so much.

2 Likes

Awesome change! Really glad you can finally see the C0 and C1 properties on joints now.

Also, if you are extending attributes to support more datatypes, why not throw in Instance/Object as an attribute type as well? :eyes:

Also also, is there any reason why the full CFrame does NOT show in properties when its expanded?
CFrame:
image
UDim2:
image

12 Likes

I’m not sure I understand the question. The data is the same as before. Previously you had for Models Position + Orientation, as well as Origin Position + Origin Orientation. Now the same data is exposed in the same order, but the first Position+Orientation are grouped under the name “CFrame”, which is the name of the Property, and the latter two under “Origin”. The two are indeed related as you mention and the data shown is the same whenever CFrame and Origin match.

3 Likes

@DudusJestem @Khrrxs yes, that is something we might look into exposing in the future. Thanks for the feedback!

11 Likes

The reason we don’t show the full CFrame when expanded is to avoid clutter, as you would see the same data twice otherwise. The CFrame widget starts out expanded (unlike UDim2) so devs don’t need to input data using curly brackets or click on it to only input position.

6 Likes

Long overdue.

Can we also get the ability to modify the rotation matrix using the Look, Up and Right vectors

9 Likes

Quoting tnavarts (though not exactly)

The reason Instance is not implemented is because the default value of Instance is well, nil. This creates a ton of implementation details that need to be worked through and they only really have one shot at it.

This is unlike ObjectValues where the value index key still “technically” exists even if it’s nil.

5 Likes

I…I have no words. The day has finally come. What a masterpiece of an update this is.

6 Likes

Unsure if it’s a bug or intended behaviour, but having selected multiple parts I’m unable to change their position only in one axis - they all move to the same position once I try doing that. It’s extremely annoying when trying to line parts up in a certain axis.

Additionally, I’d appreciate if you made these sub-properties searchable in the search bar.

11 Likes

I believe this trurly is the peak of mankind.

4 Likes

Believe I got it now, so it just grouped the values of Position+Orientation upon CFrame.

3 Likes

This is such a quality of life improvement.
I like that position and orientations are now just grouped under one property rather than having the properties menu bloated with all that stuff.

I’ve been waiting for something small and simple like this.
It’s nice finally being able to just edit CFrames in the menu.
Now we also no longer need to script to edit the CFrames of welds.

6 Likes

Thank god, slowly whittling down that “death by a thousand cuts” list of UX issues.

I can finally delete the muscle memory I have for storing camera CFrame into a value object for my thumbnail system.

5 Likes

Hello there! This is an awesome feature, however, I’d like to make a suggestion. As you know, CFrame can be written in a variety of ways such as:

  • position, lookAt
  • position, orientation
  • components
  • matrix
  • etc

I believe there should be a studio setting that can change which way the CFrames are seen in the properties tab! Let me know what you think! This makes it easier to edit CFrames depending on the task at hand.

9 Likes

I actually like this idea.
I just hope it can be implemented in a non-confusing way that does not bloat the properties tab with lots of buttons.

But maybe a dropdown menu for this would be useful?
I could see myself using the lookAt property to make a object point towards something.

8 Likes

Excellent quality of life update. I was quietly experimenting with something like this back when I was a summer intern in 2018 but never brought it forward. Happy to finally see it happen after all these years.

It’d be cool if there was an optional axis visualizer in the scene view when interacting with a CFrame property, sort of like how the legacy surface properties highlight the selected surface when you select one of their properties.

7 Likes

I must say, that’s pretty helpful right here. No more need to do the calculations my self. Nice one here team!

4 Likes

I have no doubt in my mind that something will be massively broken soon, if it’s not already. The new window editor has some critical bugs in it as it is so maybe that’s the price we pay.

4 Likes

This is a cool change, but I wish typing “Position” would still display the position property, rather than no results.

8 Likes