2017-05-06 16 views
0

で破壊したら、カメラを取る(それはプレーヤーの子オブジェクトです)、階層に戻したいと思います。しかし、私はどのように階層の変換を取得するのか分からない。カメラをユニティ

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メソッドのパラメータとして何を渡すべきかわかりません。新しいプレーヤーが起動します場合は、あなたがする変換設定することにより、バック生み出したプレイヤーにカメラを追加することができたときに/ nullに変換親を設定

答えて

2

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