L_World: a 200 km2 world-partitioned landscape from a seeded heightmap

Off the ladder at the user's request. Scripts/Authoring/generate_heightmap.py (numpy, installed locally by
bootstrap-pylib.sh) writes a 16-bit height PNG and three 8-bit weight PNGs to Content/World/Heightmaps;
create_world.py rebuilds /Game/Maps/L_World from them through ULandscapeAuthoringLibrary in the new SaltyEditor
module, which wraps ALandscape::Import because the engine exposes no landscape creation to Python. Uses
Elite_RockyMeadows' landscape material and layer infos (the pack itself is still uncommitted). 4033 vertices
a side at 350 cm a quad; swap the PNGs and rerun to change the terrain.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Rainer Leit
2026-09-16 20:51:37 +03:00
co-authored by Claude Fable 5.1
parent 0189ed9124
commit 1945ef033b
286 changed files with 1363 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
using UnrealBuildTool;
// Editor-only tools. Arrived with the first one (Docs/Spec/Architecture.md, Modules): the landscape authoring
// library that Scripts/Authoring/create_world.py calls, because the engine exposes no landscape creation to Python.
public class SaltyEditor : ModuleRules
{
public SaltyEditor(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] {
"Core",
"CoreUObject",
"Engine"
});
PrivateDependencyModuleNames.AddRange(new string[] {
"UnrealEd",
"Landscape",
"LandscapeEditor" // FLandscapeImportHelper reads the heightmap and weightmap files
});
PublicIncludePaths.Add(ModuleDirectory);
}
}