Unity3d 如何使人物在统一中面向相反的方向?

Unity3d 如何使人物在统一中面向相反的方向?,unity3d,game-physics,Unity3d,Game Physics,我这辈子都搞不懂这个。我花了几个小时摆弄四元数和欧拉角,但还没能让我的角色面对相反的方向。以下是我迄今为止所做的尝试: Quaternion lookAt=Quaternion.Euler(-transform.rotation.eulerAngles) Quaternion lookAt=Quaternion.Inverse(transform.rotation.eulerAngles) gameObject.transform.Rotate(新矢量3(0180,0) Quaternion l

我这辈子都搞不懂这个。我花了几个小时摆弄四元数和欧拉角,但还没能让我的角色面对相反的方向。以下是我迄今为止所做的尝试:

  • Quaternion lookAt=Quaternion.Euler(-transform.rotation.eulerAngles)

  • Quaternion lookAt=Quaternion.Inverse(transform.rotation.eulerAngles)

  • gameObject.transform.Rotate(新矢量3(0180,0)
  • Quaternion lookAt=Quaternion.Euler(-transform.localeuleranges)

  • 我认为这很简单,但显然不是。我不知道是使用局部坐标还是世界坐标(我尝试了两者)。在上述大多数情况下,角色的旋转量取决于它所面对的方向。
    变换。旋转
    根本不会旋转我的角色。我不知道为什么这会如此困难,而且我在网上找到的大多数解决方案也没有多大帮助。非常感谢你的任何想法。

    好的我找到了一个解决办法。谢谢你Loius()

    显然,你需要乘以四元数才能得到精确的旋转。不知道为什么其他答案忽略了这一点

    最后我做的是
    lookQuaternion=transform.rotation*Quaternion.AngleAxis(180,Vector3.up);
    
    使角色在Y轴上朝向相反的方向

    谢谢!我同样感到震惊的是,有多少错误的答案:/