该教程里有一些经典的使用脚本
角色移动、旋转
float h = Input.GetAxisRaw("Horizontal");//a d
float v = Input.GetAxisRaw("Vertical");//w s获取横轴纵轴输入
然后Vector3 movement = movement.normalized * speed * Time.deltaTime;//向前方向*速度=坐标位置
最后使用对象身上的Rigidbody让对象移动到该位置playerRigidbody.MovePosition(transform.position + movement);//移动到该位置
角色跟随鼠标旋转原理是:在摄像机位置发射一条穿过当前鼠标位置的射线到达地面,获取射线到达地面的点然后让角色面向他
Ray camRay = Camera.main.ScreenPointToRay(Input.mousePosition);//从Tag为MainCamera的摄像机位置开始发出一条经过鼠标点的射线
if (Physics.Raycast(camRay,out floorHit, camRaylength, floorMask))//当射线与floorMask碰撞器交叉时为真,否则为假。
{ //射线 输出碰撞点的信息 射线的长度 只选定Layermask层内的碰撞器,其它层内碰撞器忽略
playerToMouse = floorHit.point - transform.position;//碰撞点与角色间的向量
playerToMouse.y = 0f;
newRotation = Quaternion.LookRotation(playerToMouse);//创建一