旋转对象以面对相反的方向
Posted
技术标签:
【中文标题】旋转对象以面对相反的方向【英文标题】:Rotate an object to face an opposite direction 【发布时间】:2016-09-22 12:22:01 【问题描述】:我有一个对象 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);
【问题讨论】:
【参考方案1】:你说对象A已经面对对象B了,你想要做的只是将对象A的方向反转?
objectA.transform.rotation = Quaternion.Inverse(objectA.transform.rotation)
但是让我们从你的例子中假设 turretDome 是对象 A,那么你可以这样做(否定方向):
turretDome.transform.rotation = Quaternion.LookRotation (-newDirection);
当然,这两个 sn-ps 都没有显示如何平滑旋转,因为您似乎已经知道如何使用 time.deltaTime。
如果您不确定,Quaternion.Lerp 会帮助您做到这一点
【讨论】:
以上是关于旋转对象以面对相反的方向的主要内容,如果未能解决你的问题,请参考以下文章