首页 > 编程语言 > 详细

unity, AnimatorCullingMode的一个bug

时间:2016-02-24 14:09:11      阅读:542      评论:0      收藏:0      [点我收藏+]
我在一个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节点上,则不会出现此问题。

unity, AnimatorCullingMode的一个bug

原文:http://www.cnblogs.com/wantnon/p/5212648.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!