2017-04-25 18 views
0

2台のカメラと1台のキャンバスがあり、ボタンを押したときにシーンの表示を2番目のカメラに変更したい同じ時間に、Canvasのターゲット表示を2番目のカメラにも変更して、C#を使用しています。ユニティ、キャンバスでシーンとターゲットディスプレイの表示カメラを変更するC#

私はGetComponent<Camera>GetComponent<Canvas>を使用する必要があることを知っていますが、これらの2つのインデックスを設定する方法はわかりません。

ご協力いただきますようお願い申し上げます。

+0

これはと思われる://gamedev.stackexchange .com/help/on-topic)StackExchangeサイト。 – GoBusto

+0

@GoBusto、ありがとう、私はそれを調べます。もし誰かがそれを手伝ってくれたら私はここで待つだろう。 –

+0

こことGameDevの両方で[tag:unity3d]タグを見る。 GameDevはまだプログラミングの質問をどこに描くべきかを考えていますが、現時点ではこのような質問(これを含む)はSOにリダイレクトされるでしょう。私はそれを私が最初に見ている場所に応じてどちらかの場所に答えます(もちろん、私ができると仮定します)。 – Draco18s

答えて

1

インデックスを変更するのではなく、ちょうどを無効にしてもう一方のカメラを有効にします。見ることができないもの(2番目のアクティブなカメラが行うもの)をレンダリングするGPUサイクルを無駄にすることはありません。

変更キャンバスのworldCameraプロパティ、例えば:キャンバスターゲットを変更するよう

は、それが[GameDev](HTTPSにより適しているかもしれないよう

canvasGO.GetComponent<Canvas>().worldCamera = cam2.GetComponent<Camera>(); 
+0

これはカメラを有効にしたり無効にしたりするのに良い点です。以前は見たことがありますが、私はあなたのことを考えていませんでした。 –

+1

ゲームオブジェクトだけでなく、コンポーネント自体を有効/無効にすることができます。場合によってはこれが望ましいかもしれません。私はCanvas用のものを知っています。キャンバスコンポーネントを無効にする方が速いです。 [Unityの男たちからの素晴らしい話](https://youtu.be/n-oZa4Fb12U) – Draco18s

関連する問題