transform与rigibody以及角色控制器的运动

前言
  • 三个都是用来控制角色运动的
  • 今天在用easy touch的时候遇到了一些坑
Transform
  • Transform.translate(dir)会默认该dir为方向和距离,默认为Space.self,也就是相对于自身坐标系的运动
  • dir就是向量,既有大小又有方向,进行这样的一个位移
  • 这样transform无论如何旋转,移动的时候,总是沿自身的xyz轴
  • MoveSpeed是EasyTouch的绑定事件
 private void MoveSpeed(Vector2 speed)
    {
     cube_Transform.Translate(speed.x * Time.deltaTime, 0, speed.y * Time.deltaTime, Space.Self);
    }

在这里插入图片描述

  • 如果是Space.World,则沿世界坐标系的xyz轴移动
    在这里插入图片描述
Rigibody
  • rigibody.MovePosition( )
  • 这个api是将刚体移动到某个具体的位置,因此需要指定一个具体的坐标
  • 一般是用当前的transform.position+对应的位移即可
private void MoveSpeed(Vector2 speed)
    {        
	mRigidbody.MovePosition(cube_Transform.position + new Vector3(speed.x, 0, speed.y) * Time.deltaTime);
    }
CharacterController
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值