I love you
- love maple hospital dev team
I love you
Not quite friendly, right? If I have, like my example, a folder of distinct objects, and I want to scale them all proportionally, exactly like in studio, will I need to create a temporary model, move the folder as child of this model, scale the model, move back the folder again out of the model, delete the model? And will I first need to know the total size of the model to put all objects inside first?
The idea here is that if you want to scale something geometrically it should be a Model, since Models are the geometric container that we put geometric operations such as movement, bounding box calculations, and now scaling on.
And will I first need to know the total size of the model to put all objects inside first?
No, the size doesnât have to be involved. All you do need to do is set the WorldPivot of the model to the point you want to scale around. And youâd have to specify that point regardless even if there were an API not associated with Model.
If you are in editor then you can just use the scale tool. If youâre not in editor it should be easy to write the code to use a temporary model. Or a permanent one⌠if you really need something to be a Folder for editing convenience you could even have Lua code turn it into a Model at place startup time if you plan to scale it / move it around at runtime.
How come this means that light ranges canât be extended? This staff reply made it seem like it was being looked into, not that:
Did something major prevent an extension from being possible? There are many things that make longer light ranges important (e.g. even a moderately tall structure canât have lights reach from the top to the bottom, a lamppost can only light up a tiny area).
Sorry for the confusion with the mixed messaging, but there is a method to the madness, edited the post to have less mixed messaging
Short story: Some extension of light ranges (even a fair amount) may be possible but not enough to make it play nice with the scale API.
Long story:
Given how extremely conservative the current limit is, and just because of how lighting works, even if some extension of light ranges happens, developers are still likely to set the light ranges right up against the cap most of the time.
The scale API still needs to respect the underlying limits, so if you scale something thatâs already up against the limit up, it wonât increase. But when you scale that thing back down it will decrease. That means with light ranges that are already always up against the limit, scaling them is actually counterproductive because it would actually decrease light ranges more often that it would handle them properly.
Add this to the general mechanics of lights, where range is a weird property. Youâre incentivized to set it as high as possible regardless of whether you actually need the range so that you donât have to fiddle around with it again as you move the light. That means no matter how big we make the range limit people are likely to often stay right up against it.
Light ranges are just a really weird case for the scale API.
What if I want to scale model with scale tool without using new scaling technique (as in doing rescaling while retaining same scale factor), will that be possible?
Good feature regardless, still sad we donât get to have increased light range as it was mentioned, as itâs a nuisance in big areas.
So youâre telling me, apart from Move and Rotate, we can also SCALE animation objects??? To play in an animation???
This is fantastic, to celebrate here is too many dinosaurs. Previously this wouldnât work because the models were huge and I couldnât scale their animations.
The new scaling logic only applies if you scale a Model. If you ungroup a Model first or multiselect parts under it youâll still get the simple scaling behavior that only scales Parts and Attachments when scaling that selection.
But furthermore you can combine this with the new Explorer filtering to get the old behavior even in complex scenarios: If you only select the BaseParts under the Model by filtering for them (filtering is:BasePart
) youâll be able to get an equivalent to the old scale behavior relatively easily.
Will there ever be support for smooth scaling without repeatedly having to call :ScaleTo()? I have a lot of use cases for needing to tween a models size (and position), like studio tools in-game, but itâs currently impossible.
Also, you can call Model:ScaleTo(0/0)
and itâll set its scale to nan
which will effectively send the model to space. You can also do Model:ScaleTo(1/0)
for infinity and youâll encounter the same behavior.
Another possible bug is scaling a model thatâs parented to another model. Calling ParentModel.ChildModel:ScaleTo(20)
will scale its size like normal but will also offset its position. I canât seem to get this to be reproduced 100% of the time though.
And finally, you can call Model:ScaleTo(true)
and itâll set the scale factor to 1. My guess is that it works because a true boolean value is represented as a 1 but I would still categorize it as unwanted behavior. You can create odd but functional code like so Model:ScaleTo(workspace ~= game.Players:WaitForChild("BullfrogBait"))
. Pretty interesting.
I think this is going to be a major game changer for my workflow, thanks!
Unfortunately the engine is just not good at this. Being an engine that focuses on physics everything throughout the engine stack is optimized for fast high fidelity physics simulation, dynamic destruction, etc. Logical operations like scaling a hierarchy are unlikely to ever be very cheap because they would require optimizing in a different direction.
Though⌠having an API like this is actually a start. You can imagine a future where the engine sees you calling this API and is smart enough about it to do something more intelligent than just setting descendant properties and being done with it.
I am looking to add some sort of shim allowing the TweenService to call PivotTo / ScaleTo, however even if I do it wonât quite be what youâre looking for since youâll only be able to use it to scale so complex of a model before you run into perf issues.
Good bugs. I prevented you from scaling to 0 but forgot to catch infinity / NaN too⌠facepalm. As for the child model case, fear not, I think I might know whatâs going on there.
Fun fact: All reflection API methods which take number arguments actually treat booleans that way with false = 0
and true = 1
. Donât know the history on that one but itâs been that way since scripting was first introduced. This isnât a specific coding decision in each API, itâs the general reflection system which handles that conversion automatically.
So it can be used if the publisher has the beta enabled? Or it canât be used in game period until itâs out of beta?
Even if itâs a sliver of what Iâm looking for I, and many many others, would take it. Glad to see itâs partially a possibility.
Incase you donât find it: I got the behaviors by using :ToScale(60ish)
in the command bar while also using a lot of Ctrl+Zs with a hierarchy that looked like:
Model
Model
Part
Part
Basically played around with that until the most nested part was pivoted to faraway position, probably a few hundred or so studs.
It can only be used ingame once the feature is out of beta.
In this case you can still mostly make use of the feature in that you can use the content youâve scaled in Studio ingame already, but youâll have to wait on calling the :ScaleTo
API ingame until after the beta.
Sometimes models scaled this way will have their animations with translations in them glitch out when the place loads on live. Not always but Iâve seen it about 10 percent of the timeâŚ
10% of the time on the same device? If in general, the codepath that enables scaling applying to animations may not be on all mobile devices yet until the next force update.
Does this imply that scaling models in just one direction rather than all possible directions will be possible, similar to the F3X plugin? or that has not been implemented yet?
Additionally, this update is fantastic; keep improving Roblox Studio, as itâs growing into a significant project.
especially with the artificial intelligence that Roblox is producing.
Yoo Preston from Minecraft wudduppp
Itâs a great update, but I need clarification on a few points because I donât understand it all that well or what itâs capable of.
I am aware of what the scale tool can do for animations and how it can scale models more effectively, but I still need to fully comprehend it.
Oh it was exactly that - false alarm!