C# 为什么变换根本不旋转?

C# 为什么变换根本不旋转?,c#,unity3d,C#,Unity3d,在脚本的顶部: private Quaternion playerRotation; 然后在OnTiggerExit事件中,我存储变换旋转: private void OnTriggerExit(Collider other) { if (other.name == "CrashLandedShipUpDown") { playerRotation = transform.rotation; exitSpaceShipSurr

在脚本的顶部:

private Quaternion playerRotation;
然后在OnTiggerExit事件中,我存储变换旋转:

private void OnTriggerExit(Collider other)
{
    if (other.name == "CrashLandedShipUpDown")
    {
        playerRotation = transform.rotation;
        exitSpaceShipSurroundingArea = true;
        Debug.Log("Exited Spaceship Area !");
    }
}
然后在更新中,我尝试将变换旋转到退出时的旋转,但我希望它向后,因此变换应始终旋转180度

void Update()
{   
    if (startRotatingBack)
    {
        transform.rotation = Quaternion.RotateTowards(transform.rotation, playerRotation, rotationSpeed * Time.deltaTime);
    }
}

我认为问题是,当变换退出时,他朝向同一方向,我试图旋转它。我需要向后旋转变换,使其面向退出的旋转。或者到退出位置,比如当玩家退出碰撞机时,在该退出位置有一个立方体,然后面向该立方体旋转。没有立方体,但这是旋转的逻辑。平稳缓慢地旋转。

你拿到原木了吗?
startRotatingBack
何时/如何设置为
true
?对象的旋转是如何/何时改变的?当您使用调试器时(您在问这个问题之前使用了调试器,对吗?),程序是否输入
if(startRotatingBack)
块?如果是,请举例说明进入该块之前和之后的
transform.rotation
playerRotation
值。