角色按键Character Controls
一、脚本操作
- 设置脚本
- 设置基本键盘操作
//水平轴
float horizontal = Input.GetAxis("Horizontal");
//垂直轴
float vertical = Input.GetAxis("Vertical");
//创建方向向量
Vector3 dir = new Vector3(horizontal,0,vertical);
//面向向量
transform.rotation = Quaternion.LookRotation(dir);
- 初始化
private Animator animator;
void Start()
{
animator = GetComponent<Animator>();
}
void Update()
{
//水平轴
float horizontal = Input.GetAxis("Horizontal");
//垂直轴
float vertical = Input.GetAxis("Vertical");
//创建方向向量
Vector3 dir = new Vector3(horizontal,0,vertical);
if(dir!= Vector3.zero)
{
//面向向量
transform.rotation = Quaternion.LookRotation(dir);
//向前方移动
transform.Translate(Vector3.forward*2*Time.deltaTime);
//播放跑步动画
animator.SetBool("IsRun",true);
}
else
{ //播放站立动画
animator.SetBool("IsRun",false);
}
}
- 将跑步动画添加到动画器中 ,并添加Bool “IsRun“,动画过渡Conditions选择IsRun
- 在这里实现的是从动画1切换到动画2后保留动画2的状态,直到有操作改出,因此不使用Trigger而是Bool
- 选择动画1到动画2的过渡,在Conditions的IsRun属性中选择true
- 选择动画2到动画1的过渡,在Conditions的IsRun属性中选择false
5.可以设置Settings中的“过渡持续时间”长短来更改两个动画的过渡快慢