统一创建3D HUD

时间:2016-04-14 08:25:29

标签: unity3d 3d hud

我正在制作一个团结的太空竞赛游戏,其中赛道是具有错综复杂的三维路径的隧道。我想创建一个HUD元素,让玩家知道她在赛道上的位置。我不能通过在HUD中仅显示轨道的二维投影来实现这一点 - 我需要以3D形式显示轨道。

假设整个轨道是一个网格。我的一个想法是以非常小的尺寸创建该网格的游戏对象副本(应用简单的半透明材质/着色器),并将该对象作为其子对象放置在相机的角落中。我的问题是轨道可能非常大,我只想随时显示它的一部分。 3-D掩蔽解决方案将是完美的 - 我可以使用球体作为掩模。

有没有办法做到这一点?我发现的最近的东西是UI掩码,但这只适用于UI画布上的对象,我不能在那里放置网格。

谢谢!

1 个答案:

答案 0 :(得分:2)

如果你想创建一个3d gui,你可以简单地添加另一个相机。您可以在描述时复制网格并将其放在特定图层上(可以随意调用它)。在你的第二个相机中,我们可以将它称为hud-camera,你可以设置它的剔除模板,只渲染你的自定义hud图层。您还应将clear标志设置为仅深度。最后,您应该将hud-camera的深度设置为高于主摄像头。这样gui渲染游戏的顶部。现在,您可以自由地缩放和定位相对于hud-camera的迷你音轨。为确保主摄像机不会渲染迷你轨道,您可以设置主摄像机剔除遮罩以省略自定义hud图层。我希望这会有所帮助。