There is an upcoming change to Animators that may impact your experiences.
Animators search all of its parent’s descendants for animatable joints to update, unless that descendant has it’s own Humanoid, AnimationController, or Animator.
Next Thursday, August 26, Animators will only find and step animated joints within their WorldModel. It will NOT search for animated joints inside other WorldModels, you will instead need a separate Animator for each WorldModel.
For example, if you have a WorldModel in your animated avatar, which has joints to animate inside, those will no longer be stepped after this change - you would need to put a separate Animator inside that WorldModel to animate those joints.
Typically, each thing you want to animate is given its own Animator, so we suspect no one is doing this (at least not intentionally). If you are, please let us know if you’ll be able to update your experiences or share why this use case is important to you!
Could we get some insight as to why this change is being made? Additionally, it’s important to know if this behaviour will also apply to regular Models in the future or if it’ll continue to work as it does now.
My team’s experience doesn’t animate in ViewportFrames but we rely on this behaviour for regular Models very extensively. Specifically, running animations on the Humanoid that also act on Models parented to the character where that Humanoid is.
It’s not exactly been apparent that having separate Animators for each animated model is the intended method of animating multiple models as well, we’ve always been used to using one Animator per whole group of models provided said models all eventually descend one model (e.g. models animated inside character).
Don’t want to raise any alarms but without knowing the reason why this change is being made, it’s also in the air whether there’s intention to add this behaviour elsewhere or if it’s just for ViewportFrames.
For clarity’s sake, hierarchy:
Model
Humanoid
Animator
WeaponModel
Animation is ran on Animator. Said animation has keyframes for joints inside WeaponModel.
Will this mean animating things that’s not characters or playable things be possible, or things like a combination of an npc character animation with an object animation, like say a cutsceen of a npc walking around picking stuff up and moving it.
I know it is possible to animate objects, but not sure of how I’m thinking would be possible
Wait so i am confused. If there is an animator in the worldmodel/is a descendant, it will not animate things anymore? If so, I probably will not be affected.
This behavior change is only for WorldModels, it will not be extended to regular Models.
Yea it’s a performance blocker. Allowing the animator to step joints across different WorldModels can cause issues when trying to step all the animators in parallel. Knowing that all the joints of a given Animator are in the same world dramatically simplifies things.
Will this see significant performance improvements for games with many animated WorldModels (eg: a store UI with many ViewportFrames with a WorldModel and Animator in each)? If so, what’s the gained amount?
I can tell off the bat that this is a performance blocker and I’m actually happy with this. Separating animators per WorldModel is neat and much easier to manage.
Is there some notable changes to a player should it occur when joining the experience on or after Thursday 2021-08-26, ie one of my experiences RDK 3000-Tristar World or ones I regularly visit ie Sizzleburger, or Pinewood Computer Core?
Why not make it have a new property instead, I actually think this is better, but some may not want this, so if you add a new property, they will have the option to make it this way, this may actually interfere with a lot of current games that use multiple animators that are playing different animations per child, plus, you’ll add a new feature instead of deprecating the system that everyone is use to, no problems, no harm right?