Unity简单的移动实现(四)

回顾

在Unity简单的移动实现(三)中,我们实现了新的功能 蹲和跳,由此出现了一些“特性”,为此我们要修改这些“特性”。

恢复

上一篇角色实现了蹲的效果,可是却无法站起来,所以,我们这次要写一个恢复的方法,让角色可以恢复到原来的样子。

	//恢复
    public void Recovery()
    {
        MoveCoefficient = 1.0f; //恢复系数
        PlayerCollider.height = 0.18f; //恢复高度
    }

这里我们让移动系数恢复成正常倍数,碰撞盒高度恢复成下蹲之前的高度,如果不想直接写数字,可以用一个float数据去保存一下,到时候想用就直接可以调用,因为是简单移动,没有那么多地方需要改变角色碰撞盒,所以就直接使用一个定值。

旋转

旋转涉及到的有角色旋转和视角旋转,一般来说键盘控制角色本体旋转,鼠标控制视角(摄像机)旋转,所以我们也这样去实现它。

	    public GameObject Head;//头部(摄像机)
    	public float HeadRotionSpeed;//头部旋转速度
    	public float BodyRotionSpeed;//身体旋转速度
    	public float MaxAngle;//最大角度
    	public float MinAngle;//最小角度
    	float Angle;//当前头部角度
 		
 		public void RotActor()
   	    {
        //身体旋转 
        transform.eulerAngles += new Vector3(0, Input.GetAxis("Mouse X") * Time.deltaTime * BodyRotionSpeed, 0);
        //头部旋转
        Angle += -Input.GetAxis("Mouse Y") * Time.deltaTime * HeadRotionSpeed;
        Head.transform.eulerAngles = new Vector3(Mathf.Clamp(Angle, MinAngle, MaxAngle), transform.eulerAngles.y, transform.eulerAngles.z);
   	    }

思路也是先计算,再去改变,这样就实现了角色旋转。

总结

这次我们添加了一个恢复角色的方法,让角色在跑动和下蹲后可以恢复原状,又添加了一个角色旋转的方法,基本上我们的简单移动脚本到这里就结束了,我会在总集篇把这个脚本展现出来,到时候进行一个大的经验总结。我们下一篇见。

Unity简单的移动实现(总集篇)

你可能感兴趣的:(Unity经验分享)