由于UnityEditor是Unity的编辑器工具,因此在运行时不应该使用它来生成AnimatorController文件。相反,您可以使用代码来创建AnimatorController。以下是一个示例:

using UnityEngine;
using UnityEditor.Animations;

public class AnimatorControllerCreator : MonoBehaviour
{
    void Start()
    {
        //创建AnimatorController
        AnimatorController animatorController = new AnimatorController();
        animatorController.name = "MyAnimatorController";

        //创建动画状态
        AnimatorState idleState = animatorController.CreateState("Idle");
        AnimatorState walkState = animatorController.CreateState("Walk");

        //将动画状态添加到控制器中
        animatorController.AddState(idleState);
        animatorController.AddState(walkState);

        //创建过渡和转换
        animatorController.AddParameter("Speed", AnimatorControllerParameterType.Float);
        AnimatorStateTransition transition = walkState.AddTransition(idleState);
        transition.AddCondition(AnimatorConditionMode.Less, 0.1f, "Speed");
        transition.duration = 0.1f;

        //将AnimatorController绑定到角色的Animator组件上
        Animator animator = GetComponent<Animator>();
        animator.runtimeAnimatorController = animatorController;
    }
}

在上面的示例中,我们创建了一个名为"MyAnimatorController"的AnimatorController,然后创建了两个动画状态:"Idle"和"Walk"。我们还创建了一个参数"Speed",它将在过渡和转换中使用。最后,我们将AnimatorController绑定到角色的Animator组件上。

通过使用代码创建AnimatorController,您可以避免使用UnityEditor并使您的游戏更加可移植。

如何不引用UnityEditor生成unity的AnimatorController文件

原文地址: https://www.cveoy.top/t/topic/b1rV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录