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>
26 lines
743 B
C#
26 lines
743 B
C#
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);
|
|
}
|
|
}
|