Test_05
角色控制
创建一个3D对象作为角色,添加 “CharacterController” 组件来控制角色移动,绑定脚本"PlayerControl"。
PlayerControl
public class PlayerControl : MonoBehaviour
{private CharacterController player;void Start(){player = GetComponent<CharacterController>();}void Update(){// 水平轴(X红轴)float horizontal = Input.GetAxis("Horizontal");// 垂直轴(Z蓝轴)float vertical = Input.GetAxis("Vertical");// 创建一个方向向量Vector3 dir = new Vector3(horizontal, 0, vertical);// 绘制出方向向量的射线Debug.DrawRay(transform.position, dir, Color.blue);// 朝向量方向移动(带有重力)player.SimpleMove(dir);}
}
重力组件
- 阻力:受到的空气阻力
- 角阻力: 旋转时受到的阻力
- 使用重力: (不勾选)只是不会再受重力影响但还会受其他力影响,效果类似于在太空
- Is Kinematic:(勾选)不再受任何力的影响,相当于环境中的一部分,不在再变换位置等
- 插值: 在物体运动过程中加入插值
- 碰撞检测:(离散的)高速物体碰撞静止平面,平面可能检测不到碰撞;
(持续、连续动态)平面设置成持续、高速物体设置成连续动态可检测到碰撞,但性能要求高
(Continuous Speculative)性能要求中间态 - Constraints: 冻结哪个坐标,哪个坐标就不再发生变化,全部勾选就相当于勾选Is Kinematic