2017-05-06 60 views
0

当我的播放器被破坏时,我想将相机(它是播放器的子对象)拿回层次结构中。但我不知道如何获得层次结构的变换。将相机从Unity中的播放器中移开

private void OnCollisionEnter(Collision col) 
    { 
     if (col.gameObject.CompareTag("Player")) // player collision with the obstacle 
     { 
      ReplaceCamera(); // Take the camera away from the player 
      Destroy(col.gameObject); // Destroy the player 
     } 
    } 

    void ReplaceCamera() 
    { 
     Camera.main.transform.SetParent(?); // Set the camera as a child of the hierarchy 
    } 

我只是不知道什么传入作为我的ReplaceCamera方法的参数。

回答

2

设置一个转变家长null将其放置在层次结构的根,

void ReplaceCamera() 
    { 
     Camera.main.transform.SetParent(null); 
    } 

后来,当/如果新玩家产卵,你可以通过设置变换是添加相机回催生玩家玩家的孩子,你可以使用这个功能来完成这两个任务,如果你提供一个玩家将会把它设置给玩家。

void ReplaceCamera(Transform player = null) 
    { 
     Camera.main.transform.SetParent(player); 
    } 

// Usage Examples 
    ReplaceCamera(); // will send it to the root 
    ReplaceCamera(player); // will send it to be part of the player again. 
+0

谢谢,将它设置为空是正确的方式:) – Question3r

相关问题