Unity SimpleAnimation在UI上使用的初始化

原因

在项目中加入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;
        }
    }

你可能感兴趣的:(3.3,Unity)