Godot Terrain3D notes

Started by Jubal, May 03, 2026, 05:17:05 PM

Previous topic - Next topic

Jubal

Some notes for using the Godot plugin Terrain3D (https://godotengine.org/asset-library/asset/3892), written for my own benefit as much as anything.

Basic setup
Terrain3D gives you a plane you can heightmap and paint. There's a lot of fancy options and power available in the system, most of which I'm currently ignoring until I've worked out the basics better. It's a bit unstable but so is everything in Godot, and I've not found it unusably so.

Once the plugin is installed and available for the project (aka selected in Project -> Project Settings -> Plugin menu in the horizontal bar), I think you need to restart the project. Then just make a new scene and add a Terrain3D node. Godot crashed for me when I did this the first time but it worked the second time.

Interface notes
The basic Terrain3D interface works mostly like standard Godot but as it took me a few mins to find the buttons: the painting buttons are on the left hand side. The top few are for heights, then textures come below that. For heights, Raise and Smooth do what they suggest. Weirdly raise does not seem to also have a function for lower, but you can do that with the Height option, which lets you set negative values (and usefully shifts the terrain progressively to your suggested height so you don't have to have it auto-set everything really hard unless you set the strength value high.

For textures, see Setting Up Textures below to get started. The paint button is all I've really worked with here, though Autofill is supposed to be a core part of the envisaged workflow. Spray doesn't seem to work well unless you're using their blended textures setup.

Setting up textures
There's again a lot of fancy options here. The way it's meant to work is that you prepare nicely blend-able textures: the basics though are that you can just slap your images in the two slots (Albedo and Normal), set an Albedo colour to adjust by, and get going.

You can't mix file types for this, and I mean you can't mix them for the whole project. So if one texture is a jpg, they all have to be, and also none of them will display until all of them have properly loaded jpgs. So if you're seeing your terrain with flat white colours or something, that'll be why.

Pathfinding
Before this I'd only really dealt with pathfinding on flat planes, this is definitely more complex on terrain and needed me to fiddle with settings. The most major things I did that helped were expanding the path desired distance and path max distance on my NavigationAgents, and writing code that made them not re-check path pointing every single frame.
The duke, the wanderer, the philosopher, the mariner, the warrior, the strategist, the storyteller, the wizard, the wayfarer...