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