2016-04-14 9 views
0

Я делаю космическую гоночную игру в единстве, где гоночные треки - это туннели, которые имеют сложные 3d дорожки. Я хочу создать элемент HUD, который дает игроку представление о том, где она находится на трассе. Я не могу этого сделать, показывая только 2-мерную проекцию дорожки в HUD - мне нужно отобразить трек в 3D.Создание 3D HUD в единстве

Предположим, что весь трек является одной сеткой. Одна из моих идей - создать копию игрового объекта этой сетки в очень небольшом размере (применить простой полупрозрачный материал/шейдер) и поместить этот объект в угол камеры, как его дочерний объект. Моя проблема в том, что трек может быть очень большим, и я хочу отображать его часть в любое время. Трехмерное маскирующее решение было бы идеальным - я мог бы использовать сферу в качестве маски.

Есть ли способ сделать это? Самое ближайшее, что я нашел, это маска пользовательского интерфейса, но это работает только на объектах на холсте пользовательского интерфейса, и я не могу разместить там сетку.

Спасибо!

+1

u можете использовать RenderTexture. Концепция заключается в том, что у вас будет камера, отображающая ваш холст пользовательского интерфейса и помещая вывод рендеринга в текстуру (RenderTexture), которую вы можете назначить плоскости в 3D. Google это здорово. Это требует Unity pro. –

+1

@NikaKasradze RenderTexture также входит в бесплатную версию. – DodgerThud

+0

[lol Я старею] (http://docs.unity3d.com/ScriptReference/RenderTexture.html) Я предполагаю, [это была профессиональная функция в версиях 4.x] (http: //docs.unity3d. com/460/Документация/ScriptReference/RenderTexture.html))) –

ответ

0

Если вы хотите создать 3d gui, вы можете просто добавить другую камеру. Вы можете дублировать сетку по мере ее описания и помещать на определенный слой (назовите его, как вам нравится). В вашей второй камере можно назвать это hud-камерой, которую вы установите для своей маскировочной маски, чтобы отобразить только свой пользовательский слой hud. Вы также должны установить четкие флаги только для глубины. Наконец, вы должны установить глубину камеры hud-камеры выше, чем основная камера. Таким образом, gui делает ontop игры. Теперь вы можете масштабировать и размещать мини-дорожку относительно hud-камеры. Чтобы гарантировать, что основная камера также не отображает мини-трек, вы можете установить маску маскирования основных камер, чтобы опустить пользовательский слой hud. Надеюсь, это поможет.

Смежные вопросы