World: baked splat ground — unique multi-texture base per biome, path/arena wear baked in, HP detail layer

Second ground iteration ("better but could be further improved"): the remaining
plainness was single-texture ground — noise only modulated brightness, never
MATERIAL. Now each biome bakes a unique 1024 splat-blended base map (zero
repetition at macro scale) with the fine texture moved to the detail slot as a
high-pass layer at real tiling:

- Meadow: grass + dirt + clover patches masked by fbm; the worn paths
  (storage->warpgate, storage->base-gate) and a congregation-wear disc at the
  storage crystal are baked INTO the splat as organic dirt zones (exact
  plane-UV mapping probed: u=0.5-x/90 — both axes inverted).
- Arid: sand + sand2 + arid-dirt patches + a subtle arena-wear disc at the
  quad center (= the room origin on both quads) + warm/cool hue drift.
- Detail slot: generated 2048 high-pass (full - 128-blur, 1.4x) of the
  grass/sand textures, LINEAR import, tiled 22x/26x — crisp up close, the
  splat carries identity at distance.
- Superseded assets removed: the overlay WornPath quads + material + texture
  (double-darkened over the baked wear and caught fog as a ghostly rectangle)
  and the old macro-noise detail textures.

Biome tint MPB + normals unchanged and still active. Measured ground luminance
0.30/0.33 (edit ambient) — play fog/dark ambient pulls it down; tints remain
the one-line brightness knob.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-11 23:23:17 -07:00
parent 8d9d8d0d66
commit 4e1ea3ecb9
16 changed files with 181 additions and 391 deletions
+30 -214
View File
@@ -26965,6 +26965,7 @@ GameObject:
m_Component:
- component: {fileID: 663963126}
- component: {fileID: 663963127}
- component: {fileID: 663963128}
m_Layer: 0
m_Name: ArtefactLight
m_TagString: Untagged
@@ -27052,6 +27053,35 @@ Light:
m_LightUnit: 1
m_LuxAtDistance: 1
m_EnableSpotReflector: 1
--- !u!114 &663963128
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 663963125}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalLightData
m_UsePipelineSettings: 1
m_AdditionalLightsShadowResolutionTier: 2
m_CustomShadowLayers: 0
m_LightCookieSize: {x: 1, y: 1}
m_LightCookieOffset: {x: 0, y: 0}
m_SoftShadowQuality: 0
m_RenderingLayersMask:
serializedVersion: 0
m_Bits: 1
m_ShadowRenderingLayersMask:
serializedVersion: 0
m_Bits: 1
m_Version: 4
m_LightLayerMask: 1
m_ShadowLayerMask: 1
m_RenderingLayers: 1
m_ShadowRenderingLayers: 1
--- !u!1001 &667197736
PrefabInstance:
m_ObjectHideFlags: 0
@@ -43157,96 +43187,6 @@ Transform:
m_CorrespondingSourceObject: {fileID: 8190103183565365705, guid: 06b5cd01a210a6846933937c65a86b1d, type: 3}
m_PrefabInstance: {fileID: 1088015022}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1094217350
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1094217351}
- component: {fileID: 1094217353}
- component: {fileID: 1094217352}
m_Layer: 0
m_Name: WornPath_Warpgate
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1094217351
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1094217350}
serializedVersion: 2
m_LocalRotation: {x: -0, y: 0.7071068, z: -0.7071068, w: 0}
m_LocalPosition: {x: 0, y: 0.02, z: -10.2}
m_LocalScale: {x: 2.6, y: 16.800001, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1602364762}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!23 &1094217352
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1094217350}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 732961b7d12fa3548a41f7d0bf1d636e, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!33 &1094217353
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1094217350}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1001 &1096752681
PrefabInstance:
m_ObjectHideFlags: 0
@@ -59691,39 +59631,6 @@ Transform:
m_CorrespondingSourceObject: {fileID: 3614229961255218349, guid: 145248c1f7a30134aaf7b4e97e61e587, type: 3}
m_PrefabInstance: {fileID: 1599933488}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1602364761
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1602364762}
m_Layer: 0
m_Name: BasePaths
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1602364762
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1602364761}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1094217351}
- {fileID: 1718841502}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &1602824811
PrefabInstance:
m_ObjectHideFlags: 0
@@ -64209,96 +64116,6 @@ Transform:
m_CorrespondingSourceObject: {fileID: 796814200344226721, guid: 2679367feddb0c44398eb47b30de6244, type: 3}
m_PrefabInstance: {fileID: 1718589803}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1718841501
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1718841502}
- component: {fileID: 1718841504}
- component: {fileID: 1718841503}
m_Layer: 0
m_Name: WornPath_BaseGate
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1718841502
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1718841501}
serializedVersion: 2
m_LocalRotation: {x: 0.7026672, y: 0.07911296, z: -0.07911296, w: 0.7026672}
m_LocalPosition: {x: 2.75, y: 0.02, z: 10.349999}
m_LocalScale: {x: 2.2, y: 17.539099, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1602364762}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!23 &1718841503
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1718841501}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 732961b7d12fa3548a41f7d0bf1d636e, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!33 &1718841504
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1718841501}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1001 &1719371331
PrefabInstance:
m_ObjectHideFlags: 0
@@ -81000,4 +80817,3 @@ SceneRoots:
- {fileID: 1276835916}
- {fileID: 1007206783}
- {fileID: 1333170163}
- {fileID: 1602364762}