Unity3D:创建等距瓦片地图

Unity3D:创建等距瓦片地图
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

创建等距瓦片地图

创建__等距瓦片地图 (Isometric Tilemap)__ 时,与创建常规瓦片地图相比,还需要执行其他步骤。要创建等距瓦片地图,请选择 GameObject > 2D Object > Isometric Tilemap/Isometric Z as Y Tilemap

创建等距瓦片地图后,还需要通过项目和网格设置进行其他设置,才能正确渲染等距瓦片地图。

自定义轴排序

为了渲染等距瓦片地图的瓦片,需要先渲染远离瓦片地图“背面”的瓦片,然后再渲染正面的瓦片,从而创建等距透视图的__伪深度。为了确保场景中的所有渲染器都符合此逻辑,请使用自定义轴 (Custom Axis) 作为排序轴 (Sorting Axis)。将 Transparency Sort Mode__ 设置为“Custom Axis”,并为 Transparency Sort Axis 的 XYZ 值输入 (0,1,0)。

选择 Edit > Project Settings…> Graphics > Camera Settings 来设置“Custom Axis”设置。

Transparency Sort Axis 设置
Transparency Sort Axis 设置

Transparency Sort Axis XYZ 值设置为 (0,1,0) 会使场景中位于较大 Y 位置的所有渲染器首先渲染,并出现在较小 Y 位置的渲染器后面。

使用 Isometric Z as Y Tilemap 选项时,具有不同 Z 位置值的瓦片会沿 Y 轴偏移并且看起来处于不同的高度,从而在相同的 XY 单元位置处产生与瓦片的“堆叠”效果。默认情况下,通用的等距 Transparency Sort Axis 设置 (0,1,0) 不会在排序期间考虑瓦片的 Z 位置值,因此会导致瓦片不按预期顺序渲染(请参阅下面的示例)。

左:__设置为 (0,1,0) 时,瓦片渲染顺序不正确。右:__设置为 (0,1,-0.26) 时,瓦片正确叠加在一起。
左:__设置为 (0,1,0) 时,瓦片渲染顺序不正确。右:__设置为 (0,1,–0.26) 时,瓦片正确“叠加”在一起。

Transparency Sort Axis 设置为 (0,1,–0.26) 可正确渲染具有不同 Z 位置的瓦片。Z 轴设置为 –0.26 可为需要首先绘制并具有较高 Z 位置的瓦片提供一个偏差。

Grid Cell Size 设置

具有默认等距布局 (Isometric Layout) 设置的网格
具有默认等距布局 (Isometric Layout) 设置的网格
Isometric使用默认设置创建等轴测图块地图。
Isometric Z As Y创建等轴测图块映射,其中磁贴的 Z 轴值将添加到其 Y 轴值中。这会导致磁贴沿 Y 轴在视觉上偏移该值,从而在将磁贴放置在图块地图上时产生高度错觉。

等距瓦片地图使用二维投影或真等距投影平行投影角度。有关这两种投影形式的更多信息,请参阅此文章以获取更多详细信息。

更改 Grid 组件的 Cell Size 会更改组成每个单元格的角度大小,这会影响所模拟的投影类型。默认情况下,Isometric Cell Layout 的 Cell Size 为 (1, 0.5, 1),用于模拟二维投影角度。要模拟真等距投影角度,请将 Y 值设置为 0.57735

此文由3D建模学习工作室整理翻译,转载请注明出处!

上一篇:Unity3D:为等距瓦片地图导入和准备精灵 (mvrlink.com)

下一篇:Unity3D:创建用于等距瓦片地图的瓦片面板 (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号