视频:
Terrain3D 是一个适用于 Godot 4 的高性能、可编辑的裁剪地图地形系统,其地形系统被划分为多个区域。数据可以手动编辑,也可以通过API实时操作。
纹理
要点:
Terrain3D 最多支持 32 个纹理集。
每个纹理集需要两个文件。Terrain3D 设计用于按以下方式进行通道打包的纹理:
文件 格式 反照率纹理 RGB:反照率纹理,A:高度纹理 法线纹理 RGB:法线贴图纹理(OpenGL +Y),A:粗糙度纹理
所有反照率纹理必须大小相同,所有法线纹理也必须大小相同。每种纹理都会组合成单独的 Texture2DArray,因此两个数组的大小可以不同。 为了提高 GPU 效率,建议所有纹理的尺寸都是 2 的幂(128、256、512、1024、2048、4096、8192),但这不是必需的。
桌面平台推荐使用 DDS (BC3/DXT5),因为它的质量通常比 Godot 默认的 PNG 到 BC3/DXT5 转换更高。
Faq
为什么我们必须对纹理进行通道打包? 从 v0.9.1 开始支持常规纹理。但是,如果您想要一个具有高度混合和粗糙度的真实地形,则需要对纹理进行通道打包。 通道打包是专业游戏开发者非常常见的任务。您使用的每个专业资源包都包含通道打包纹理。当您从网站下载纹理包时,它们会提供单独的纹理,以便您根据需要进行打包。它们不适合单独使用!
Faq
目前纹理集只支持两个必要文件,需要添加其他纹理怎么办? 您可以添加 自定义着色器 来添加单独的纹理贴图。
Faq
为什么不使用 Godot 标准 material? Godot 中的所有材质都只是着色器。标准着色器过于复杂,但又无法满足我们的需求。例如,污垢不需要 SSS、折射或背光。请参阅 更详细的解释。
- Paint Texture:使用此工具可以用单一纹理覆盖大面积区域。
- Spray Texture:使用此工具混合纹理,通过逐渐增加所选纹理的权重,使其看起来更自然。
- 示例:使用“绘画”工具绘制草地和泥土小路。然后使用“喷涂”工具反复在草地和泥土之间切换,随机混合小路的边缘,直到看起来逼真为止。
高度图
获得高度图源后,请确保它是 16 位或 32 位,并 正确缩放,并转换为 exr 或 r16。
高度图生成器
免费或开源:
- wgen - MIT 许可证。用 Rust 编写。可导出为 16 位
png或exr. - HTerrain - MIT 许可证。基于 GDScript 的 Godot 地形系统。它包含一个地形生成器,可以将高度图保存为 Godot 原生 .res 文件,也可以导出为
exr。这两种方法都适用于 Terrain3D。 - 未来,Terrain3D 将包含一个生成器。请关注 第 101 期 以了解最新进展。
商业软件:
- Gaea
- World Machine
- World Creator
- Terragen
- Houdini - General procedural modeling software that includes terrain generation.
- Instant Terrain - Terrain generation plugin for UE or Houdini.
真实世界数据:
-
USGS provides several tools to download DEMs and Tiffs for the US down to 1m resolution.
-
European Space Agency Copernicus program provides DEMs for the whole world.
-
http://www.terrainmap.com/rm39.html - A list of other websites with GIS data.
-
https://manticorp.github.io/unrealheightmap/ - exports 16-bit
png -
https://touchterrain.geol.iastate.edu/ - exports GeoTiff