一段时间以来,我一直在这个问题上徘徊,但我一直没有弄清楚这一点。
问题:
目前试图做一个假的“摇摆”时刻。我让玩家对象成为您可以在按键期间锁定的对象的子对象。
考虑到这一点,我需要在 grappleobject 上获得正确的旋转,使玩家的速度成为 grappleobject 上的正确旋转。
这不是 2D,而是 3D。这导致了这种头痛。
http://img843.imageshack.us/img843/7434/rotations.jpg
我想如果我能得到位置向量和玩家前进方向的向量,比如角色马达的速度,得到一个唯一的向量,这个向量信息应该能够旋转 grappleobject正确。
然而,这就是我认为很容易的事情,但我已经研究了好几个小时,以获得向量差来进行旋转,因为它被认为是。
tl:博士
2 个向量,这两个向量的差为一个向量,这个向量控制 grappleobject 的旋转以“假”一个具有适当速度的摆动运动。
如果有答案,请提前感谢您。
添加信息:
目前的测试是这些。
///
Parent Orb 是根据触发事件更新其变换的抓斗对象。
CurDirection 是玩家在世界矢量中前进的方向。
CurPos 是玩家在世界中那个时间点的位置。
CurDirection = (transform.position-ParentOrb.position);
CurDirection.Normalize();
motor.movement.velocity = (CurDirection);
CurPos = transform.position;
////
还尝试获取从抓斗对象到玩家的角度。
///
otherDirection = 空间中的速度方向。
OtherDirectionPre = 当前空间位置。
Vector3 targetDir = otherDirection;
Vector3 forward = otherDirectionPre;
angle = Vector3.Angle(targetDir, forward);
/// 我认为这些可能没有帮助,但更好地展示我到目前为止的进展情况。