Unity - 角色控制

Test_05

角色控制

Unity - 角色控制_第1张图片
创建一个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);
    }
}
重力组件

Unity - 角色控制_第2张图片

  • 阻力:受到的空气阻力
  • 角阻力: 旋转时受到的阻力
  • 使用重力: (不勾选)只是不会再受重力影响但还会受其他力影响,效果类似于在太空
  • Is Kinematic:(勾选)不再受任何力的影响,相当于环境中的一部分,不在再变换位置等
  • 插值: 在物体运动过程中加入插值
  • 碰撞检测:(离散的)高速物体碰撞静止平面,平面可能检测不到碰撞;
    (持续、连续动态)平面设置成持续、高速物体设置成连续动态可检测到碰撞,但性能要求高
    (Continuous Speculative)性能要求中间态
  • Constraints: 冻结哪个坐标,哪个坐标就不再发生变化,全部勾选就相当于勾选Is Kinematic

你可能感兴趣的:(unity,unity)