Unity 角色动画控制:等待、奔跑和转换脚本示例
以下是一个简单的示例脚本,用于控制角色的等待、奔跑和转换动画:
using UnityEngine;
public class PlayerController : MonoBehaviour
{
private Animator animator;
private void Start()
{
animator = GetComponent<Animator>();
}
private void Update()
{
// 检测角色的移动输入
float moveInput = Input.GetAxis("Horizontal");
// 根据输入控制角色的移动和动画
if (moveInput != 0)
{
transform.Translate(moveInput * Time.deltaTime * 5f, 0, 0);
animator.SetBool("isRunning", true);
}
else
{
animator.SetBool("isRunning", false);
}
// 检测角色的转换输入
if (Input.GetKeyDown(KeyCode.Space))
{
animator.SetTrigger('transition');
}
}
}
在上面的代码中,我们首先获取了角色的 Animator 组件,并在 Update 方法中检测了角色的移动和转换输入。如果角色在移动,我们就调用 transform.Translate 方法来移动角色,并设置 'isRunning' 参数为 true,以触发奔跑动画。如果角色不在移动,我们就将 'isRunning' 参数设置为 false,以触发等待动画。
当用户按下空格键时,我们调用 animator.SetTrigger 方法来触发转换动画。在 Animator 中,我们需要设置一个名为 'transition' 的触发器参数,并将其与转换动画的过渡条件相关联。这样,当我们在脚本中调用 SetTrigger 方法时,就会触发转换动画。
原文地址: https://www.cveoy.top/t/topic/jrxj 著作权归作者所有。请勿转载和采集!