JSRUN 用代码说话

使用高度图创建地形

编辑教程

使用高度图创建地形

在 Unity 3D 中编辑地形有两种方法:

通过地形编辑器编辑地形。
通过导入一幅预先渲染好的灰度图来快速地为地形建模。

地形上每个点的高度被表示为一个矩阵中的一列值。这个矩阵可以用一个被称为高度图(heightmap)的灰度图来表示。

灰度图是一种使用二维图形来表示三维的高度变化的图片。近黑色的、较暗的颜色表示较低的点,接近白色的、较亮的颜色表示较高的点。

通常可以用 Photoshop 或其他三维软件导出灰度图,灰度图的格式为 RAW 格式,Unity 3D 可以支持 16 位的灰度图。

Unity 提供了为地形导入、导出高度图的选项。

单击 Settings tool 按钮,找到标记为 Import RAW和 Export RAW 的按钮。
这两个按钮允许从标准 RAW 格式中读出或者写入高度图,并且兼容大部分图片和地表编辑器。

案例构思

在 Unity 3D 中支持 RAW 格式的高度图导入。

RAW 格式相当于各种图片格式的“源文件”,它的转换是不可逆的。

注:在 Photoshop 软件中可以使用滤镜功能制作高度图。

本案例根据在 Photoshop 中制作好的高度图导入 Unity 3D 系统,自动生成地形。

案例设计

本案例通过 Photoshop 中制作好的高度图在 Unity 3D 中创建一个简单的地形,在地形参数列表里设置导入高度图的信息,导入的高度图地形效果如下图所示。

案例实施

创建地形。执行 GameObject → 3D Object → Terrain 菜单命令。

在 Inspector 面板中单击 Import Raw 按钮添加地形,如下图所示。

设置地形参数,如下图所示。

进行测试,即可观察到基于高度图创建出来的地形效果,如下图所示。

参数列表

参数 含义 描述
Depth 深度 根据文件格式设置,可以是8位或16位。
Width 宽度 设置高度图的宽。
Height 高度 设置高度图的高。
Byte Order 字节顺序 根据文件格式设置,可以是Mac或Windows。
Terrain Size 地形大小 定义地形的大小。
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟