以下是一个示例脚本,用于控制角色的动画:

using UnityEngine;

public class CharacterAnimationController : MonoBehaviour
{
    private Animator animator;
    private bool isRunning = false;

    private void Start()
    {
        animator = GetComponent<Animator>();
    }

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            if (!isRunning)
            {
                // 播放奔跑动画
                animator.SetBool('IsRunning', true);
                isRunning = true;
            }
            else
            {
                // 播放等待动画
                animator.SetBool('IsRunning', false);
                isRunning = false;
            }
        }
    }
}

在这个示例脚本中,我们首先获取了角色的 Animator 组件。然后在 Update 函数中,我们检测玩家是否按下了空格键。如果按下了空格键,我们会检查当前角色是否正在奔跑。如果角色没有在奔跑,我们会播放奔跑动画并将 isRunning 标志设置为 true。如果角色正在奔跑,我们会播放等待动画并将 isRunning 标志设置为 false。

在 Animator 中,我们需要设置三个动画状态:等待、奔跑和过渡。我们可以为每个状态设置一个布尔参数,例如 IsRunning。在脚本中,我们可以使用 animator.SetBool('IsRunning', true) 来启动奔跑动画,并使用 animator.SetBool('IsRunning', false) 来启动等待动画。

当角色从等待状态转换到奔跑状态时,我们可以使用过渡动画来平滑地过渡。在 Animator 中,我们可以为状态之间的转换设置过渡条件。例如,我们可以为从等待状态到奔跑状态的转换设置一个速度大于 0 的条件,以确保角色在奔跑前先等待一段时间。在脚本中,我们可以使用 animator.SetFloat('Speed', 1.0f) 来设置过渡条件的值。

Unity 角色动画控制:等待、奔跑、过渡脚本实现

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

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