2017-05-06 58 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

相關問題