2016-04-14 31 views
0

我正在製作一個統一的太空競速遊戲,其中賽道是具有錯綜複雜的三維路徑的隧道。我想創建一個HUD元素,讓玩家瞭解她在賽道上的位置。我不能通過在HUD中顯示軌道的二維投影來做到這一點 - 我需要以三維顯示軌道。統一創建3D HUD

我們假設整個軌道是一個網格。我的一個想法是創建一個非常小的網格的遊戲對象副本(應用簡單的半透明材質/着色器),並將該對象作爲其子對象放置在相機的角落。我的問題是曲目可能非常大,我只想隨時顯示它的一部分。一個3D掩模解決方案將是完美的 - 我可以使用一個球體作爲面具。

有沒有辦法做到這一點?我發現的最近的東西是一個UI面具,但只適用於UI畫布上的對象,並且我無法在此處放置網格。

謝謝!

+1

你可以使用RenderTexture。這個概念是,您將擁有一臺渲染您的UI畫布並將渲染輸出放入可以在3D中分配給飛機的紋理(RenderTexture)的相機。谷歌它,很酷。不過,這需要Unity pro。 –

+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,你可以簡單地添加另一臺相機。您可以按照您所描述的方式複製網格,並將其放置在特定圖層上(可以隨意調用它)。在第二臺相機中,我們稱之爲hud相機,您將設置其剔除掩模以僅渲染自定義hud層。您還應該將清除標誌設置爲僅深度。最後,你應該設置hud相機的深度要高於主相機。這種方式gui渲染遊戲的頂部。現在,您可以自由縮放並將您的迷你軌道相對於平視相機進行定位。爲了確保主攝像機不會渲染迷你軌道,您可以設置主攝像頭剔除蒙版以省略自定義的HUD層。我希望這有幫助。