Upgrade Ground Zero terrain material
This commit is contained in:
@@ -82,6 +82,28 @@ def assert_asset(path):
|
||||
return asset
|
||||
|
||||
|
||||
def verify_terrain_material_is_not_flat(material, failures):
|
||||
project_root = unreal.Paths.convert_relative_path_to_full(unreal.Paths.project_dir())
|
||||
material_package = project_root + "Content/Agrarian/Materials/M_AGR_GZ_Terrain_CoastalScrub.uasset"
|
||||
try:
|
||||
with open(material_package, "rb") as handle:
|
||||
package_bytes = handle.read()
|
||||
except Exception as exc:
|
||||
failures.append(f"could not inspect terrain material package: {exc}")
|
||||
return
|
||||
|
||||
noise_count = package_bytes.count(b"MaterialExpressionNoise")
|
||||
lerp_count = package_bytes.count(b"MaterialExpressionLinearInterpolate")
|
||||
color_count = package_bytes.count(b"MaterialExpressionConstant3Vector")
|
||||
|
||||
if noise_count < 1:
|
||||
failures.append("terrain material should include a noise expression for color breakup")
|
||||
if lerp_count < 1:
|
||||
failures.append("terrain material should include a blend expression instead of a flat base color")
|
||||
if color_count < 1:
|
||||
failures.append("terrain material should include coastal scrub color vector expressions")
|
||||
|
||||
|
||||
def main():
|
||||
if not unreal.EditorLevelLibrary.load_level(MAP_PATH):
|
||||
raise RuntimeError(f"Could not load map: {MAP_PATH}")
|
||||
@@ -98,6 +120,7 @@ def main():
|
||||
expected = MATERIALS["terrain"]
|
||||
if assigned != expected:
|
||||
failures.append(f"landscape material expected {expected}, got {assigned}")
|
||||
verify_terrain_material_is_not_flat(materials["terrain"], failures)
|
||||
|
||||
foliage_actors = [actor for actor in actors if get_actor_label(actor) == FOLIAGE_LABEL]
|
||||
if len(foliage_actors) != 1:
|
||||
@@ -187,8 +210,10 @@ def main():
|
||||
roadmap = unreal.Paths.convert_relative_path_to_full(unreal.Paths.project_dir()) + "AGRARIAN_DEVELOPMENT_ROADMAP.md"
|
||||
for path, snippet in [
|
||||
(docs, "asset variation"),
|
||||
(docs, "procedural coastal scrub terrain material"),
|
||||
(roadmap, "[x] Replace grey-box environment presentation with an MVP natural environment pass"),
|
||||
(roadmap, "[x] Add first-pass environment asset variation"),
|
||||
(roadmap, "[x] Replace or upgrade the terrain material first so Ground Zero no longer reads as flat tan placeholder ground."),
|
||||
]:
|
||||
with open(path, "r", encoding="utf-8") as handle:
|
||||
text = handle.read()
|
||||
|
||||
Reference in New Issue
Block a user