Unity3D 控制角色(二)

接上文
Unity3D 控制角色(一)
https://blog.csdn.net/coldwind811201/article/details/80882593

Unity3D 控制角色(二)

对于使用(一)方法的问题

  • 模型会穿透地形
  • 如果给控制对象简单增加Rigidbody刚体组件会引起翻转
  • 使用角色控制的Move和SimpleMove可以简单粗爆解决

    这里写图片描述

    public float MoveSpeed = 15.0f;

    private CharacterController cc;

    // Use this for initialization
    void Start () {
        cc = GetComponent<CharacterController>();
    }

    // Update is called once per frame
    void Update () {
        cc.SimpleMove(transform.TransformDirection(Vector3.forward) * MoveSpeed * Input.GetAxis("Vertical"));
        cc.SimpleMove(transform.right * MoveSpeed * Input.GetAxis("Horizontal"));
    }

简单说明

  • SimpleMove和Move的区别 SimpleMove自动使用了重力 Move则没有 需要自行处理重力引发的速度
  • 和刚体不同 有刚体的特性 又不完全基于物理 对角色控制更适合
  • 启用后原Colider不再有作用 直接使用的是角色控制器的Colider
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值