旋转对象以面向相反的方向

Rotate an object to face an opposite direction

我有一个物体A和B。当我点击物体B时,A旋转到物体B(A面向B)。 B 不面对 A。我需要做的是: 当A面对B时,我需要A面对相反的方向。我有A旋转看B的代码。之后如何旋转到相反的方向?

Vector3 targetDirection = target - transform.position;
float step = speed * Time.deltaTime;
Vector3 newDirection = Vector3.RotateTowards (turretDome.transform.forward, targetDirection, step, 0.0F);
turretDome.transform.rotation = Quaternion.LookRotation (newDirection);

你说A物体已经对着B物体了,你想做的就是反过来A物体的方向吗?

objectA.transform.rotation = Quaternion.Inverse(objectA.transform.rotation)

但是让我们从你的例子中假设 turretDome 是对象 A,那么你可以这样做(否定方向):

turretDome.transform.rotation = Quaternion.LookRotation (-newDirection);

当然,这两个片段都没有显示如何平滑旋转,因为您似乎已经知道如何使用 time.deltaTime。

如果您不确定,Quaternion.Lerp 会帮助您做到这一点