2016-04-14 18 views
0

レーストラックが複雑な3Dパスを持つトンネルであるスペースレーシングゲームを作成しています。私は、プレーヤーがトラック上のどこにいるかのアイデアを与えるHUD要素を作成したいと思います。私はHUDにトラックの2D投影だけを表示することでこれを行うことはできません - 私は3Dでトラックを表示する必要があります。3D HUDをユニティで作成する

トラック全体が1つのメッシュであるとします。私が持っていた1つのアイデアは、そのメッシュのゲームオブジェクトのコピーを非常に小さなサイズ(単純な半透明のマテリアル/シェーダを適用)で作成し、そのオブジェクトを子オブジェクトとしてカメラの角に表示することです。私の問題は、トラックが非常に大きくなり、いつでもそのトラックの一部だけを表示したいということです。 3-Dマスキングソリューションは完璧です - 私は球としてマスクを使うことができました。

これを行う方法はありますか?私が見つけた最も近いものはUIマスクでしたが、それはUIキャンバス上のオブジェクトでしか動作せず、そこにメッシュを置くことはできません。

ありがとうございます!

+1

RenderTextureを使用できます。コンセプトは、UIキャンバスをレンダリングし、レンダー出力を3Dでプレーンに割り当てることができるテクスチャ(RenderTexture)にすることです。 Googleは、それはクールです。しかしこれにはUnityプロが必要です。 –

+1

@NikaKasradze RenderTextureも無料版に含まれています。 – DodgerThud

+0

[私は古い](http://docs.unity3d.com/ScriptReference/RenderTexture.html)私は、[それは4.xバージョンのプロフィーチャでした](http://docs.unity3d。 com/460/Documentation/ScriptReference/RenderTexture.html)))) –

答えて

0

3d guiを作成する場合は、別のカメラを追加するだけです。あなたが記述しているようにメッシュを複製し、特定のレイヤーに置くことができます(好きなように呼び出すことができます)。 2番目のカメラでは、カメラをHUDカメラと呼ぶ​​ことができます。カスタムカメラをレンダリングするには、カリングマスクを設定します。また、クリアフラグを深度のみに設定する必要があります。最後に、ハドカメラの深さをメインカメラよりも高く設定する必要があります。このようにして、GUIはゲームのオンタップをレンダリングします。今では、ミニトラックをハドカメラに比例して自由に配置することができます。メインカメラがミニトラックをレンダリングしないようにするには、メインカメラのカリングマスクを設定して、カスタムフードレイヤーを省略することができます。私はこれが役立つことを願っています

関連する問題