我有一个物体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);
答案 0 :(得分:3)
你说对象A已经面向对象B了,你想要做的就是在那之后反转对象A的方向吗?
objectA.transform.rotation = Quaternion.Inverse(objectA.transform.rotation)
但是让我们假设你的例子中turretDome是对象A,那么你可以这样做(否定方向):
turretDome.transform.rotation = Quaternion.LookRotation (-newDirection);
当然,这两个片段都没有显示如何平滑旋转,因为您似乎已经知道如何使用time.deltaTime。
只是因为你不确定,Quaternion.Lerp会帮助你做到这一点