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节点上,则不会出现此问题。
  • 相关阅读:
    [Linux] Chmod 改变权限
    [linux命令]基本命令
    [Linux命令] 查看目录大小du
    [Linux命令]格式化mkfs
    在VMWare下的Linux切换
    .net的MSMQ异步调用
    CASSINI源代码分析
    [Wix] RadioButton与ListItem的属性要改掉了
    如何快速生成Insert数据插入语句?
    撕纸
  • 原文地址:https://www.cnblogs.com/wantnon/p/5212648.html
Copyright © 2011-2022 走看看