2017-07-03 3 views
0

こんにちは私はちょうどどの位置が子オブジェクトの位置に優先されるのだろうと思っていた。親オブジェクトの位置またはスクリプトを介して設定された位置が優先されますか?子オブジェクトの優先順位は何ですか?

私は、デフォルトで親に従う子オブジェクトとしてカメラを持つプレーヤーを持っているので、私はこれを求めています。私は、観戦モードのように、終了時にゲームの他のプレイヤーにカメラのtransform.positionを設定できるシステムを実装しようとしています。カメラがフォローしている元のプレーヤーは、ゲームを完了すると常に落ちているので、マップから脱落してしまいます。後で必要とするスコアについての情報を保持しているので、プレイヤーを破壊することはできません。

おそらく常に動いているプレーヤー(落ちている)が、ゲーム中の他のプレーヤーにカメラを止めさせている可能性がありますか?

+0

あなたが指定した振る舞い(観客モード)については、その特定のカメラに 'GameObject Target'を使用して、それをロジックのメインポイントとして使用することをお勧めします。 'Target'が設定されている場合(' Target!= null')、その特定の 'Target'オブジェクトに従います。それが設定されていない場合( 'Target == null')、別の' Target'を見つけてそのオブジェクトに従います。 –

+0

私は、カメラに添付された "followplayer"スクリプトのためのgameobjectターゲットを持っていますが、同じカメラは、最初に従っていたプレーヤーの子としても(カメラはプレーヤーでインスタンス化されています)プレイヤーなしでカメラをインスタンス化する方法ですが、ターゲットを正しく設定する方法です。 –

+0

これは実際にあなたのゲームの仕組みと内部に依存します。私は最も簡単な解決策、例えば行くだろう。 'GameObject'を直接参照することを意味するすべてのプレイヤーのリストが必要です。それに基づいて、ターゲットを設定せずに 'Camera'オブジェクトをインスタンス化し、(ネットワークIDなどに基づいて)どのプレイヤーをアタッチするかを区別することができます。次に、あなたのプレイヤーが死んだとき(または「デタッチ」するのに何が必要なのか)、単にあなたの 'Camera'ビヘイビアでいくつかのメソッドを呼び出して、別のプレイヤーまたはnullにターゲットを設定し、新しいターゲットを見つけるためにuseメソッドを呼び出します。 –

答えて

1

この場合、カメラの親をフォローしたいプレイヤーに変更する必要があります(現在の親は絶えずポジションを変更しています)。キネマティックに落ちているプレイヤーの剛体を設定して、移動しないようにしたり、レンダラーを無効にしたりして、目に見えないようにすることもできます。

+0

これは元々私がやりたかったのですが、プレイヤーのキャラクターを無効にする方が簡単です私の最後に他のプレイヤーのカメラを有効にします。ありがとう、結構です! –