- Home /
Reset Animator transformation on enabling,Reset Animator position on enabling
Hello guys, it would be great if you show me where i can dig with my problem. I've read some questions over here with similar problem, but didnt find solution. I have next case: 2 models. 1st - Tpose rigged humanoid from Mixamo and animations(separated fbx) for it. 2nd - my own blender rigged animal model with animations(inside model fbx). Then i added Animator with setup BlendTree animations on Humanoid. Then added Rigidbody/Collider to some bones on Humanoid. Then added script which toggle Animator enable state and isKinematic for Rigidbody. It works well and allows me with keyboard switch Animation to Ragdoll model. And here is main thing. When my model is in ragdoll mode and fly somewhere with forces etc, and then i switch to Animation mode my Humanoid returns back to Idle position/rotation. Then i added my 2nd animal model and applied same configuration. And here is problem. Run game. When i try to change Animator enable flag with script - it changes(accordning to debug log) but checkbox in inspector still enabled. Anyway, my model become ragdoll, falls down, and now when i try to enable Animator, it enables(according to log), model starts playing Idle animation but model has wrong rotation and position, it still lays down with some mesh glitches after rigidbody. And here few more strange things. When i toggle Animator state manually in inspector it returns model to initial position/rotation and after this it starts working properly. Each keyboard click changes Enable checkbox in inspector and model returns to initial position. Also same behaviour when i change(and/or return prev value) any Animator property in inspector(in Game mode). As workaround i've found that if i call animator.Rebind() just after toggle state it also work properly. I cant undestand if this Unity bug or my blender model bug. And how to figure out what is this. Thanks!
Answer by TGr3y · Mar 26, 2020 at 09:06 PM
After tons of tests i still cant figure out what the hell is going on. I've imported Mixamo model to Blender and then export it by myself, when i imported that model to Unity it had same behaviour, when model doesnt return to initial position, but when i generated Humanoid rig and attached Rig to Animator it started working properly. But somehow even if i remove this Rig from Animator it still work good. Anyway maybe someone can answer on question - how to disallow run Physics(rigidbody) with enabled ANimator?
I cant change "mixamorig:Hips" position when Animator enabled, but when i disable it, i starts playing physics. In my d4 im able to move "rig" for some reason and when animator enabled my model rolls away.
Your answer
Follow this Question
Related Questions
Mecanim Animate Physics - When to use? 0 Answers
Rigidbody gravity X Generic Mecanim Additive Move-Forward Animation 0 Answers
How to link 2 animations of different objects in Mecanim? 0 Answers
Set Animator Parameter based on move direction? 0 Answers
Animation motion on base layer does not play after additional motion on second layer 0 Answers