我想做的移动操作方式类似【流星蝴蝶剑】、【龙之谷】、【我的世界第三人称】的第三人称操作方式。
操作说明:W键会朝当前镜头方向前进,鼠标控制镜头旋转。
做前需知(先去稍微了解一下比较好):
①unity脚本的生命周期
②旋转的欧拉角和四元数
③简单三角函数知识
④Unity基本的API(比如this.transform.position为对象的(x,y,z)坐标)
第一步:创建一个脚本move,写上脚本,并赋予我的人物。
(注意:图片中的Parva是我给图片加的水印。)
第二步:给人物添加碰撞器和刚体,并把调整好角度的摄像机赋予人物的myCamera变量
第三步:WASD让人物动起来
先添加一个速度变量
写FixedUpdate()函数 代码意义都写在注释里了
演示一下,WASD控制人物移动
第四步:让镜头跟着人物移动
添加一个变量
Start()中添加
添加LateUpdate()函数
第五步:鼠标控制镜头围绕人物旋转
添加变量
修改LateUpdate()
第六步:WASD改变人物的朝向
在FixedUpdate()中添加代码
第七步:让人物朝当前镜头方向前进
添加变量
在LateUpdate()中添加
在FixedUpdate()中修改
在演示中,我单按住键盘的W键,并移动鼠标,人物就会朝着镜头旋转的方向前进。
而之前这样的操作呢,不管镜头怎么旋转,人物都是朝着世界的正Z轴方向前进。
第八步:让键盘控制的人物的朝向,相对于镜头角度进行改变
修改FixedUpdate()中的一行代码就行了
这样,人物的移动镜头操作就OK了。