将一个物体旋转以面对相反的方向

5

我有一个对象A和B。当我点击对象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);
1个回答

6
您说对象A已经面向对象B,您想要做的只是在此之后将对象A的方向反转吗?
objectA.transform.rotation = Quaternion.Inverse(objectA.transform.rotation)

假设从您的示例中推断出turretDome是对象A,则可以这样做(否定方向):

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

当然,这两个代码片段并没有展示如何平滑旋转,因为您已经知道如何使用time.deltaTime。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接