unity, AnimatorCullingMode的一個bug


我在一個fbx節點上添加了一個Animator,CullingMode設置為Cull Update Transforms(即如果沒有激活的SkinnedRenderer就不更新骨骼動畫),然后我將這個fbx的子節點中所有的SkinnedMeshRenderer都disable掉,然后為這個fbx節點添加一個子節點a,並在a上新建了個SkinnedMeshRenderer,然后播放動畫,發現unity會認為此時“沒有激活的SkinnedMeshRenderer”,此時查看各骨骼的Transform值都是靜止不變的。
然后我在這個fbx節點的腳本上添加了下面幾句:
        AnimatorCullingMode oldAnimatorCullingMode = gameObject.GetComponent<Animator> ().cullingMode;
        gameObject.GetComponent<Animator> ().cullingMode = AnimatorCullingMode.AlwaysAnimate;
        gameObject.GetComponent<Animator> ().cullingMode = oldAnimatorCullingMode;
即先把animatorCullingMode設置成alwaysAnimate,然后再立刻設回來。
結果好了。
 
注:如果新建的SkinnedMeshRenderer不是添加在fbx節點的子節點a上,而是直接添加到Animator所在的fbx節點上,則不會出現此問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM