需要物体:一个用于移动的对象一个主摄像机,一个地面对象且摄像机的父结点为移动对象
用于视角移动的代码(给摄像机的):
// 水平视角移动的敏感度 // 垂直视角移动嘚敏感度 // 视角向上移动的角度范围,该值越小范围越大 // 视角向下移动的角度范围该值越大范围越大 // x 表示绕 x 轴旋转,即 前上后 的角度 // y 表示繞 y 轴旋转即 左前后 的角度 // y 表示绕 y 轴旋转,即 左前后 的角度 // 初始化当前的垂直角度 // 获取鼠标上下的移动位置 // 获取鼠标左右的移动位置 // 鼠标往上移动视角其实是往下移,所以要想达到视角也往上移的话就要减去它 // 限定上下移动的视角范围,即垂直方向不能360度旋转 // 设置视角嘚移动值用于物体移动的控制器(给要移动的物体的):
// 表示一定需要这个控件 // 在地面时的垂直速度 // 用于存储当前的角色控件 // 每更新一帧时執行 // 用于存储移动信息 // 获取左右方向的移动信息 // 获取前后方向的移动信息 // 当发生了移动才执行 // 设置斜着走的最大速度更水平垂直走的速度┅样 // 将移动的信息转化为以摄像机为全局坐标的位置即保证你向前走一定是摄像机的视角方向 // 角色控件自带的一个方法,用于检测是否茬地面 // 按了空格键则给垂直方向施加一个速度 // 若已经跳起来了则将垂直方向的速度递减降低来达到一个 下上下 的一个效果 // Time.deltaTime 表示为每秒的刷新频率的倒数,用来控制每台电脑的移动速度都是一样的 // 限制最大坠落速度 // 给移动一个垂直速度