zoukankan      html  css  js  c++  java
  • 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节点上,则不会出现此问题。
  • 相关阅读:
    指针、字符串、数组操作
    字符串转换为数字(str2int)
    新的,开始。
    Hello, World.
    Go语言趣学指南lesson1
    hdoj2058
    poj2378
    hdoj1233
    poj2398
    hdoj1392
  • 原文地址:https://www.cnblogs.com/wantnon/p/5212648.html
Copyright © 2011-2022 走看看