都骑对面 都骑对面
关注数: 8 粉丝数: 9 发帖数: 184 关注贴吧数: 9
三种移动方式,有点晕,请问各自的优缺点是什么? 想做做第三人称视角的角色动作游戏,三种移动方式看着有点晕,不知道各自有什么优缺点? ------------------------------------------------------------------------------- 一,通过transform, 移动:知道有两种,看结果好象是一样的,他们有什么区别? transform.postion = transform.postion + vector3; transform.Translate(vector3,Space.Word); 旋转: transform.eulerAngles=Vector3.up*float; //要计算输入得出的弧度值再转角度值,三角函数勾股定理等有点复杂不知有没简单些的,如果这个的确重要就再去磨书了; 应用了这个旋转那么移动只要用一个向前移动transform.Translate(transform.forward*float);就可以了; ----------------------------------------------------------------------------- 二,通过Rigidbody, Rigidbody.AddForce(vector3); //移动滚动的小球很好用; Rigidbody.MovePosition(transform.position+vector3); //这个很常用吧? 旋转: Rigidbody.MoveRotation(Quaternion);//这个也是很常用吧? ------------------------------------------------------------------------------ 三,通过CharacterController, CharacterController.Move(Vector3); //试过括号里的并不需要(transform.position+Vector3)这样,自动优化了? //没重力,是不是要增加Rigidbody组件才能使用?也有些说自已写重力,应该怎么写? //transform.position=transform.position+(-Vector3.up+=Vector3*Time.deltaTime); 这样? CharacterController.SimpleMove(); //这个与上面Move()的区别是增加了一个重力吧?还有其它的区别不?各自优缺点是什么?重力是自动化的不能自定义这样? 旋转:找不到例子了, 也是通过transform.eulerAngles欧拉角来旋转的吗? ----------------------------------------------------------------------------- 请问那种方式最常用?优缺点有什么? 除了上面三种,还有其它常用的方式吗? 第三人称那种来说最合适?目前比较倾向使用CharacterController; 动作游戏,攻击时会移动(不是万恶的站桩),会有目标捕捉(改变方向);
1 下一页