原因
在项目中加入SimpleAnimation组件,可以对3D物体进行播放动画,但是对UI物体却不能播放动画。
分析
AnimatorCullingMode默认是CullUpdateTransforms,而这个模式对UI不能进行动画,又不好每次让配置界面人员都去设置这个值。
解决
所以在挂载脚本的时候,判断当前物体是不是UI,如果是的话,就自动改AnimatorCullingMode值,代码如下:
private void Reset()
{
if (m_Graph.IsValid())
m_Graph.Destroy();
m_Initialized = false;
// 对于UI,需要设置cull为总是播放
if (GetComponent<RectTransform>() != null)
{
m_CullingMode = AnimatorCullingMode.AlwaysAnimate;
}
}