游戏开发日志 (其一):HUD、小地图

发表于: 6/12/2022

Unity

HUD

小地图

:::default no-icon 某人日常不务正业务现已开拓至游戏开发挥年复一年的沉积极放光吧! ::: :::default 游戏具体情况暂且不提,后续也将在github上开源。 :::

HUD

首先我们秉持优良传统,创建一个根 GameObject, 在其内部添加Canvas,在Canvas内添加我们需要的UI物体即可。 对象层级示例

小地图

小地图有很多种实现方法,这里暂且采用最简单的,添加第二个Camera的方法。

Custom Render Texture

首先新建一个 Custom Render Texture, 用于接收摄像机的内容并显示在指定位置。

Map Camera

新建一个Camera,并创建一个layer: minimap,用于显示单位的缩略图。

Camera 属性

设置 Clear Flag 为 Solid Color ,{ 投影 ^Projection}为{ 正交 ^Orthographic},以排除透视的影响。 设置 Culling Mask 取消选中其他layer仅保留刚刚新建的 minimap,这样小地图中不会显示多余的内容。(在其他 Camera 中也需要保持不要选中 minimap)

设置 Target Texture 为刚刚创建的 Custom Render Texture。

Minimap

在你喜欢的地方添加一个 UI > Raw Image,将其Texture设置为刚刚创建的 Custom Render Texture。 至此小地图的基本显示功能完成,后续需要在想要显示在地图中的物体内完成。

其他单位

在想要显示的物体内添加一个 Sprite,指定其 Layer 为 minimap。

示例效果

大功告成!

:::info Camera size 与 Worldspace 内的坐标尺度一致,可按需要调整地图大小。 :::