动画剪辑意外地耗费了很长时间才完成

时间:2016-03-28 06:21:32

标签: c# animation unity3d

我正在努力解决这个问题,这对我来说真的很惊讶。 我导入了一些最大动画(不同的火车对象动画)我正在点击附加到所有列车对象的GUI点击下面的方法。此代码同时在不同的列车对象上运行/触发。有些火车工作正常,动画及时完成,有些则需要很长时间才能完成动画制作。

 public void HourSwitcher(string playShunt)
    {
       gameObject.GetComponent<Animation>().Play(playShunt);
       gameObject.GetComponent<Animation>()[playShunt].speed = 20f;
    }

我还附上了我的调试日志。你可以在log 1图像中看到       train12到16 动画正在运行,而时间0(令人惊讶)。 enter image description here

并且在图像中,两列火车17正确地工作但是训练20-21运行和运行 enter image description here

1 个答案:

答案 0 :(得分:0)

请参阅我的question and answer。令人非常失望的是没有人能够发现问题(可能没有太多关注这个问题)。工作4/5天后,我得到了this

主要是动画剔除类型问题。 *为了将来使用和帮助像我这样的初学者,我将回答我自己的问题。

答案:

我的动画剔除类型被选为 BasedOnRenderers ,这意味着当渲染器不可见时,动画被禁用&#39;。也就是说,我的代码向我显示动画正在播放但我的场景中没有任何实际情况发生,因为我的动画远离相机视图。

通过选择动画剔除类型AlwaysAnimate,我解决了这个问题(请参阅this)。这意味着即使在屏幕外&#39; 对象也会动画显示。

我的一些动画工作正常,因为它们是在相机的视线下进行的,而有些动画不起作用(代码显示它处于播放模式)并且连续播放/花费很长时间,因为它们远离我的相机视图。

希望它能帮助别人

请参阅此问题,我被问到(与此问题紧密相关):

  1. Animation unexpected behaviour - Why animation becomes complete If my camera walk through the scene

  2. Does culling affect animation.