人物控制器的Move方法及Transform.transformDirection()方法

CharacterController.Move
|
|
Transform.transformDirection
如果你使用上面的方法进行人物的移动,你会发现控制的物体发生旋转后,移动的方向是基于世界坐标系的,如果你想让物体按照自身的坐标系进行移动,你需要这个新的方法1234//使用transformDirection方法将给定的世界坐标转换成自身的坐标cc.Move(cc.transform.transformDirection(new Vector3(x*speed,0,y*speed)));//这个方法还可以获取指定transform组件的某个方向transform.transformDirection(new Vector3(1,0,0));
简单来说:
- 给定一个基于自身的向量Vector3(比如说我要向我的右边走)
- 把这个向量转换成世界的向量(方法将右边这个概念转换成世界坐标系中的明确方向)
- 向转换后的世界方向进行移动

