An editable terrain system for Godot 4, written in C++.
- Written in C++ as a Godot gdextension plugin, which works with official engine builds
- Geometric Clipmap mesh terrain (as used in The Witcher 3)
- Up to 16k x 16k, sliced up in non-contiguous 1k regions (think multiple islands without paying for 16k^2 vram)
- Up to 10 levels of detail (LODs)
- Up to 32 textures
- Sculpting, texture painting, texture detiling, paint colors or wetness
- Supports importing heightmaps from HTerrain, WorldMachine, Unity, Unreal and any tool that can export a heightmap (raw/r16/exr/+)
See the Wiki for more details on project status, features, design, and usage.
- Supports Godot 4.1+. Older 4.x versions are possible.
- Supports Windows, Linux, and macOS. Android pending.
- Download the latest release and extract the files, or build the plugin from source.
- Run Godot, using the console executable so you can see error messages.
- Import the demo project and open it. Allow Godot to restart.
- In
Project Settings / Plugins
, ensure that Terrain3D is enabled. - Select
Project / Reload Current Project
to restart once more. - If the demo scene doesn't open automatically, open
demo/Demo.tscn
. You should see a terrain. Run it.
- Copy
addons/terrain_3d
to your project folder inaddons/terrain_3d
. - Open Godot, restart when it prompts.
- In
Project Settings / Plugins
, ensure that Terrain3D is enabled. - Select
Project / Reload Current Project
to restart once more. - Create or open a 3D scene and add a new Terrain3D node.
- Select Terrain3D in the scene tree. In the inspector, click the down arrow to the right of the storage resource and save it as a binary .res file. This is optional, but highly recommended. Otherwise it will save terrain data as text in the current scene file.
- Read the wiki to learn how to properly set up your textures, import data and more.
- Read through the Wiki, especially Troubleshooting.
- Search through the issues for known issues, or create a new one if you're sure it's not a duplicate.
- Join the Tokisan discord server and look for the Terrain3D section.
Developed for the Godot community by:
Architect | Roope Palmroos, Outobugi Games | |
Project Manager | Cory Petkovsek, Tokisan Games |
And other contributors displayed on the right of the github page and in CONTRIBUTORS.md.
Geometry clipmap mesh code created by Mike J Savage. Blog and repository code released under the MIT license per email communication with Mike.
This plugin is released under the MIT license. See LICENSE.