📅  最后修改于: 2023-12-03 15:35:31.136000             🧑  作者: Mango
在Unity中,我们可以通过动画控制器制作角色的移动和行走动画。本文将介绍如何使用C#代码操控动画控制器,实现角色的移动效果。
在Unity编辑器中,创建一个动画控制器并给它命名。在该动画控制器中,创建角色的行走动画,并分配动画状态到不同的动画片段中。
选中角色模型,在inspector面板中找到Animator组件。将步骤1中创建的动画控制器拖放到该组件中的Controller字段。
创建一个新的C#脚本文件,并给其起一个合适的名字,比如"PlayerMovement"。在该脚本中,定义一个公有的浮点型变量"speed",表示角色的移动速度。
public class PlayerMovement : MonoBehaviour
{
public float speed;
}
在该脚本的Update()函数中,通过Input.GetAxis()获取水平和垂直方向的输入值,并根据输入值更新角色的位置。最后,通过Animator组件的SetFloat()方法控制动画控制器的运行。
public class PlayerMovement : MonoBehaviour
{
public float speed;
Animator anim;
void Start()
{
anim = GetComponent<Animator>();
}
void Update()
{
float h = Input.GetAxisRaw("Horizontal");
float v = Input.GetAxisRaw("Vertical");
Vector3 move = new Vector3(h, 0, v).normalized;
transform.position += move * speed * Time.deltaTime;
if (move != Vector3.zero)
{
anim.SetFloat("Speed", 1.0f);
}
else
{
anim.SetFloat("Speed", 0.0f);
}
}
}
将步骤4中创建的脚本挂载到角色上。
本文介绍了如何使用动画控制器和C#代码实现角色的移动效果。通过学习本文,您可以更好地了解动画控制器和Animator组件的用法,提高Unity的开发效率。