Compare commits
2 Commits
d8e724e40a
...
03083eb735
| Author | SHA1 | Date | |
|---|---|---|---|
| 03083eb735 | |||
| bbf418e779 |
+1
-760
@@ -2200,96 +2200,6 @@ Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 1058388337777710864, guid: 4b5b62e8ff478c144863c2750ad3fb24, type: 3}
|
||||
m_PrefabInstance: {fileID: 44753596}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &44814211
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 44814212}
|
||||
- component: {fileID: 44814214}
|
||||
- component: {fileID: 44814213}
|
||||
m_Layer: 0
|
||||
m_Name: CoverRock_S0_2
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &44814212
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 44814211}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.34202015, z: -0, w: 0.9396927}
|
||||
m_LocalPosition: {x: 995, y: 0, z: -9}
|
||||
m_LocalScale: {x: 1.2801043, y: 1.2801043, z: 1.2801043}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1851179016}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &44814213
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 44814211}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
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: 9ad3d533612e9404fa35e1d900ab70a9, 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: 0
|
||||
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 &44814214
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 44814211}
|
||||
m_Mesh: {fileID: -2709579467351344360, guid: d68b1794e4e664d45925e6fe3eedfae2, type: 3}
|
||||
--- !u!1001 &45326438
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -3474,6 +3384,7 @@ MonoBehaviour:
|
||||
Enabled: 1
|
||||
MaxProjectileLights: 24
|
||||
ProjectileColor: {r: 0.45, g: 0.85, b: 1, a: 1}
|
||||
EnemyProjectileColor: {r: 0.55, g: 1, b: 0.35, a: 1}
|
||||
ProjectileIntensity: 2.6
|
||||
ProjectileRange: 7
|
||||
PortalColor: {r: 0.55, g: 0.95, b: 1, a: 1}
|
||||
@@ -30237,96 +30148,6 @@ Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 8315364206485325802, guid: 6bf6dfab11a30084c9736d3b991fdaf6, type: 3}
|
||||
m_PrefabInstance: {fileID: 751562110}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &752380414
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 752380415}
|
||||
- component: {fileID: 752380417}
|
||||
- component: {fileID: 752380416}
|
||||
m_Layer: 0
|
||||
m_Name: CoverRock_S1_2
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &752380415
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 752380414}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.34202015, z: -0, w: 0.9396927}
|
||||
m_LocalPosition: {x: 1495, y: 0, z: -9}
|
||||
m_LocalScale: {x: 1.2801043, y: 1.2801043, z: 1.2801043}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1851179016}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &752380416
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 752380414}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
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: 9ad3d533612e9404fa35e1d900ab70a9, 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: 0
|
||||
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 &752380417
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 752380414}
|
||||
m_Mesh: {fileID: -2709579467351344360, guid: d68b1794e4e664d45925e6fe3eedfae2, type: 3}
|
||||
--- !u!1001 &752493985
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -31867,96 +31688,6 @@ Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 74766642427550001, guid: ab41e12e3193e5241a054da74ad6cee7, type: 3}
|
||||
m_PrefabInstance: {fileID: 801385345}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &801747704
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 801747705}
|
||||
- component: {fileID: 801747707}
|
||||
- component: {fileID: 801747706}
|
||||
m_Layer: 0
|
||||
m_Name: CoverRock_S0_0
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &801747705
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 801747704}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.1305262, z: -0, w: 0.9914449}
|
||||
m_LocalPosition: {x: 993, y: 0, z: 6}
|
||||
m_LocalScale: {x: 1.6780516, y: 1.6780518, z: 1.6780516}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1851179016}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &801747706
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 801747704}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
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: 9ad3d533612e9404fa35e1d900ab70a9, 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: 0
|
||||
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 &801747707
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 801747704}
|
||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
||||
--- !u!1001 &804084884
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -36458,96 +36189,6 @@ Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 8227573149044680746, guid: b33befb41106070409d86b725f2476e2, type: 3}
|
||||
m_PrefabInstance: {fileID: 912324564}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &913094309
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 913094310}
|
||||
- component: {fileID: 913094312}
|
||||
- component: {fileID: 913094311}
|
||||
m_Layer: 0
|
||||
m_Name: CoverRock_S1_1
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &913094310
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 913094309}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.57357645, z: -0, w: 0.81915206}
|
||||
m_LocalPosition: {x: 1508, y: 0, z: 5}
|
||||
m_LocalScale: {x: 1.6780516, y: 1.6780518, z: 1.6780516}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1851179016}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &913094311
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 913094309}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
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: 9ad3d533612e9404fa35e1d900ab70a9, 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: 0
|
||||
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 &913094312
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 913094309}
|
||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
||||
--- !u!1001 &913121664
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -48598,96 +48239,6 @@ Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 591573043354113928, guid: bafd1387c024a3a459afa35dd24cec25, type: 3}
|
||||
m_PrefabInstance: {fileID: 1241775351}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &1247362408
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1247362409}
|
||||
- component: {fileID: 1247362411}
|
||||
- component: {fileID: 1247362410}
|
||||
m_Layer: 0
|
||||
m_Name: CoverRock_S1_3
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1247362409
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1247362408}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.86602545, z: -0, w: 0.49999997}
|
||||
m_LocalPosition: {x: 1509, y: 0, z: -7}
|
||||
m_LocalScale: {x: 1.8546886, y: 1.8546889, z: 1.8546886}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1851179016}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &1247362410
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1247362408}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
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: 9ad3d533612e9404fa35e1d900ab70a9, 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: 0
|
||||
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 &1247362411
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1247362408}
|
||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
||||
--- !u!1001 &1247686665
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -53015,96 +52566,6 @@ Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 6875251685013686615, guid: 3e44b897679ea1e458c6a0a8c84ef8ac, type: 3}
|
||||
m_PrefabInstance: {fileID: 1357398796}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &1361156333
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1361156334}
|
||||
- component: {fileID: 1361156336}
|
||||
- component: {fileID: 1361156335}
|
||||
m_Layer: 0
|
||||
m_Name: CoverRock_S0_1
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1361156334
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1361156333}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.57357645, z: -0, w: 0.81915206}
|
||||
m_LocalPosition: {x: 1008, y: 0, z: 5}
|
||||
m_LocalScale: {x: 1.6780516, y: 1.6780518, z: 1.6780516}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1851179016}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &1361156335
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1361156333}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
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: 9ad3d533612e9404fa35e1d900ab70a9, 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: 0
|
||||
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 &1361156336
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1361156333}
|
||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
||||
--- !u!1 &1370587944
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -68965,96 +68426,6 @@ Transform:
|
||||
- {fileID: 807647776}
|
||||
m_Father: {fileID: 423312854}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1834212430
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1834212431}
|
||||
- component: {fileID: 1834212433}
|
||||
- component: {fileID: 1834212432}
|
||||
m_Layer: 0
|
||||
m_Name: CoverRock_S0_3
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1834212431
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1834212430}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.86602545, z: -0, w: 0.49999997}
|
||||
m_LocalPosition: {x: 1009, y: 0, z: -7}
|
||||
m_LocalScale: {x: 1.8546886, y: 1.8546889, z: 1.8546886}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1851179016}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &1834212432
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1834212430}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
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: 9ad3d533612e9404fa35e1d900ab70a9, 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: 0
|
||||
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 &1834212433
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1834212430}
|
||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
||||
--- !u!1001 &1840780466
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -69583,45 +68954,6 @@ Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 5731770526695229474, guid: b580bce9b46b41e49aa07bbf1145e610, type: 3}
|
||||
m_PrefabInstance: {fileID: 1850925310}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &1851179015
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1851179016}
|
||||
m_Layer: 0
|
||||
m_Name: RoomCover_Visuals
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1851179016
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1851179015}
|
||||
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: 801747705}
|
||||
- {fileID: 1361156334}
|
||||
- {fileID: 44814212}
|
||||
- {fileID: 1834212431}
|
||||
- {fileID: 1851924120}
|
||||
- {fileID: 913094310}
|
||||
- {fileID: 752380415}
|
||||
- {fileID: 1247362409}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1851908148
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -69712,96 +69044,6 @@ MeshFilter:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1851908148}
|
||||
m_Mesh: {fileID: 6900561688886725036, guid: d02afc6bc2148dd4a9e7d81b46df4b06, type: 3}
|
||||
--- !u!1 &1851924119
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1851924120}
|
||||
- component: {fileID: 1851924122}
|
||||
- component: {fileID: 1851924121}
|
||||
m_Layer: 0
|
||||
m_Name: CoverRock_S1_0
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1851924120
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1851924119}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.1305262, z: -0, w: 0.9914449}
|
||||
m_LocalPosition: {x: 1493, y: 0, z: 6}
|
||||
m_LocalScale: {x: 1.6780516, y: 1.6780518, z: 1.6780516}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1851179016}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &1851924121
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1851924119}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
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: 9ad3d533612e9404fa35e1d900ab70a9, 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: 0
|
||||
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 &1851924122
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1851924119}
|
||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
||||
--- !u!1001 &1857983222
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -81382,7 +80624,6 @@ SceneRoots:
|
||||
- {fileID: 1913270911}
|
||||
- {fileID: 433101879}
|
||||
- {fileID: 1709609454}
|
||||
- {fileID: 1851179016}
|
||||
- {fileID: 70737666}
|
||||
- {fileID: 1276835916}
|
||||
- {fileID: 1007206783}
|
||||
|
||||
@@ -0,0 +1,203 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1085570720822716955
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7703565366570969279}
|
||||
- component: {fileID: 3470614019461566012}
|
||||
- component: {fileID: 2902084588362297385}
|
||||
m_Layer: 8
|
||||
m_Name: Model
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7703565366570969279
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1085570720822716955}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: -1, z: 0}
|
||||
m_LocalScale: {x: 1.7, y: 1.7, z: 1.7}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 3572766465862231365}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &3470614019461566012
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1085570720822716955}
|
||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
||||
--- !u!23 &2902084588362297385
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1085570720822716955}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
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: 71e41e43b459a244abaf5acca76b89ee, 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: 0
|
||||
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!1 &3885353946372160549
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3572766465862231365}
|
||||
- component: {fileID: 9053853372340598254}
|
||||
- component: {fileID: 6834786618115927220}
|
||||
- component: {fileID: 1664972900393443061}
|
||||
- component: {fileID: 4959636876878325759}
|
||||
m_Layer: 8
|
||||
m_Name: CoverRock
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3572766465862231365
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3885353946372160549}
|
||||
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: 7703565366570969279}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &9053853372340598254
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3885353946372160549}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: c16549610bfe4458aa9389201d072bb6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.Entities.Hybrid::Unity.Entities.Hybrid.Baking.LinkedEntityGroupAuthoring
|
||||
--- !u!114 &6834786618115927220
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3885353946372160549}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7c79d771cedb4794bf100ce60df5f764, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.NetCode.Authoring.Hybrid::Unity.NetCode.GhostAuthoringComponent
|
||||
HasOwner: 0
|
||||
SupportAutoCommandTarget: 1
|
||||
TrackInterpolationDelay: 0
|
||||
GhostGroup: 0
|
||||
UsePreSerialization: 0
|
||||
UseSingleBaseline: 0
|
||||
RollbackPredictedSpawnedGhostState: 0
|
||||
RollbackPredictionOnStructuralChanges: 1
|
||||
DefaultGhostMode: 0
|
||||
SupportedGhostModes: 3
|
||||
OptimizationMode: 0
|
||||
Importance: 1
|
||||
MaxSendRate: 0
|
||||
prefabId: 8565e5eb00679fb45b8b7dac1e2ae9f3
|
||||
--- !u!114 &1664972900393443061
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3885353946372160549}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 6b1aa9b83194a2c41b940dd9532377f4, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: ProjectM.Authoring::ProjectM.Authoring.BlightClutterAuthoring
|
||||
Remaining: 8
|
||||
ScrapPerHit: 0
|
||||
HitRadius: 1.2
|
||||
Variant: 4
|
||||
--- !u!65 &4959636876878325759
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3885353946372160549}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 2.6, y: 2.6, z: 2.4}
|
||||
m_Center: {x: 0, y: 0.1, z: 0}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 25159665cc5735b44bf91ab9c8f90b76
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -16,8 +16,8 @@ namespace ProjectM.Authoring
|
||||
[Tooltip("Hit-points before the clutter shatters.")]
|
||||
[Min(1)] public int Remaining = 2; // one-hit pop: both hit paths decrement by max(1,(int)ScrapPerHit)
|
||||
|
||||
[Tooltip("Scrap (Biomass) yielded per projectile hit — the 'minor scrap' trickle.")]
|
||||
[Min(1f)] public float ScrapPerHit = 2f;
|
||||
[Tooltip("Scrap (Biomass) yielded per hit. 0 = DESTRUCTIBLE COVER semantics: breaks in Remaining hits, yields nothing (deposit is decoupled from the decrement at both hit sites).")]
|
||||
[Min(0f)] public float ScrapPerHit = 2f;
|
||||
|
||||
[Tooltip("Hit radius (world units) for the clear sweep.")]
|
||||
[Min(0f)] public float HitRadius = 1.0f;
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
using ProjectM.Simulation;
|
||||
using Unity.Entities;
|
||||
using UnityEngine;
|
||||
|
||||
namespace ProjectM.Authoring
|
||||
{
|
||||
/// <summary>
|
||||
/// Authoring for the baked <see cref="CoverFieldSpawner"/> singleton (mirrors ClutterFieldSpawnerAuthoring).
|
||||
/// Place once in the gameplay subscene and assign the CoverRock ghost prefab; RoomFieldSystem scatters
|
||||
/// destructible cover per room (never in Boss rooms) with an origin keep-out. Carries no transform.
|
||||
/// </summary>
|
||||
public class CoverFieldSpawnerAuthoring : MonoBehaviour
|
||||
{
|
||||
[Tooltip("CoverRock ghost prefab: BlightClutterAuthoring (ScrapPerHit=0, Variant=4) + an Environment-layer collider + a GhostAuthoringComponent (ownerless, interpolated).")]
|
||||
public GameObject CoverPrefab;
|
||||
|
||||
[Tooltip("Cover rocks per room (Boss rooms get none).")]
|
||||
[Min(0)] public int Count = 3;
|
||||
|
||||
private class CoverFieldSpawnerBaker : Baker<CoverFieldSpawnerAuthoring>
|
||||
{
|
||||
public override void Bake(CoverFieldSpawnerAuthoring authoring)
|
||||
{
|
||||
var entity = GetEntity(authoring, TransformUsageFlags.None);
|
||||
AddComponent(entity, new CoverFieldSpawner
|
||||
{
|
||||
Prefab = authoring.CoverPrefab != null
|
||||
? GetEntity(authoring.CoverPrefab, TransformUsageFlags.Dynamic)
|
||||
: Entity.Null,
|
||||
Count = authoring.Count,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0a9b08ef91676fa4185406d9dec18c5e
|
||||
@@ -630,8 +630,24 @@ namespace ProjectM.Server
|
||||
nav.ValueRW.LastPos = npos;
|
||||
if (st >= StuckUnstickTicks)
|
||||
{
|
||||
nav.ValueRW.NudgeUntilTick = TickUtil.NonZero(now + NudgeBurstTicks);
|
||||
st = 0u;
|
||||
// COVER-AWARE (destructible-cover review wf_e14dd739-069 HIGH): if what blocks this enemy
|
||||
// is a LIVE cover GHOST (BlightClutter carrier), do NOT phase-nudge — cover must genuinely
|
||||
// hold until the player breaks it. No soft-lock is possible: the blocker is destructible,
|
||||
// and the counter stays primed so any OTHER wedge (static geometry) still nudges next check.
|
||||
bool blockedByCover = false;
|
||||
if (havePhysics)
|
||||
{
|
||||
float3 toTgt = nTarget - npos; toTgt.y = 0f;
|
||||
float tl = math.length(toTgt);
|
||||
if (tl > 1e-4f && physics.CollisionWorld.SphereCast(
|
||||
npos, 0.35f, toTgt / tl, math.min(1.8f, tl), out var coverHit, envFilter))
|
||||
blockedByCover = SystemAPI.HasComponent<BlightClutter>(coverHit.Entity);
|
||||
}
|
||||
if (!blockedByCover)
|
||||
{
|
||||
nav.ValueRW.NudgeUntilTick = TickUtil.NonZero(now + NudgeBurstTicks);
|
||||
st = 0u;
|
||||
}
|
||||
}
|
||||
nav.ValueRW.StuckTicks = st;
|
||||
}
|
||||
|
||||
@@ -153,6 +153,11 @@ namespace ProjectM.Server
|
||||
// A positive baked yield must always make progress: a raw (int) truncation of a sub-1.0 per-hit
|
||||
// value would deposit 0 AND never decrement Remaining -> an immortal target that silently eats shots.
|
||||
int amount = math.max(1, (int)tgtYieldPerHit[bestIdx]);
|
||||
// DECOUPLED deposit (cover review wf_e14dd739-069): DESTRUCTIBLE COVER has ScrapPerHit=0 — it
|
||||
// breaks in Remaining hits but yields NOTHING (durability must not be an economy faucet).
|
||||
// Nodes/clutter (PerHit >= 1) keep deposit == decrement exactly as before.
|
||||
// zero means ZERO (cover); any POSITIVE yield still credits >= 1 (the fractional-yield guard).
|
||||
int deposit = tgtYieldPerHit[bestIdx] > 0f ? amount : 0;
|
||||
byte yieldId = tgtYieldId[bestIdx];
|
||||
|
||||
// Route the yield into the HARVESTING player's PERSONAL inventory. The projectile carries the
|
||||
@@ -162,8 +167,9 @@ namespace ProjectM.Server
|
||||
if (m_GhostOwnerLookup.HasComponent(projEntity)
|
||||
&& playerByConn.TryGetValue(m_GhostOwnerLookup[projEntity].NetworkId, out var ownedPlayer))
|
||||
harvester = ownedPlayer;
|
||||
HarvestMath.DepositYield(yieldId, amount, tgtToLedger[bestIdx], harvester,
|
||||
m_InvLookup, ledger, true, haveDb, itemDb);
|
||||
if (deposit > 0)
|
||||
HarvestMath.DepositYield(yieldId, deposit, tgtToLedger[bestIdx], harvester,
|
||||
m_InvLookup, ledger, true, haveDb, itemDb);
|
||||
int rem = tgtRemaining[bestIdx] - amount;
|
||||
tgtRemaining[bestIdx] = rem;
|
||||
ecb.DestroyEntity(projEntity);
|
||||
|
||||
@@ -128,6 +128,33 @@ namespace ProjectM.Server
|
||||
}
|
||||
}
|
||||
|
||||
// DESTRUCTIBLE COVER (OPTIONAL singleton; review wf_e14dd739-069): never in Boss rooms (the boss
|
||||
// has no depenetration backstop) and never inside the origin keep-out ring (player landing +
|
||||
// portal). Variant stays the prefab's 4 — NEVER rerolled (the clutter block's explosive
|
||||
// reroll must not leak into this copy).
|
||||
if (plan.RoomType != RoomTypeId.Boss
|
||||
&& SystemAPI.TryGetSingleton<CoverFieldSpawner>(out var cover)
|
||||
&& cover.Prefab != Entity.Null)
|
||||
{
|
||||
var kBaked = SystemAPI.GetComponent<LocalTransform>(cover.Prefab);
|
||||
var krng = new Random(RunMapMath.Hash(run.RunSeed, (uint)run.CurrentNodeId, 0xC0Eu) | 1u);
|
||||
int kCount = math.clamp(cover.Count, 0, 6);
|
||||
const float KeepOutFromOrigin = 7f;
|
||||
for (int i = 0; i < kCount; i++)
|
||||
{
|
||||
float3 pos = origin;
|
||||
for (int attempt = 0; attempt < 8; attempt++)
|
||||
{
|
||||
pos = RoomLayoutMath.ScatterInShape(plan.ShapeId, origin, i, kCount, ref krng);
|
||||
if (math.distance(pos.xz, origin.xz) >= KeepOutFromOrigin) break;
|
||||
}
|
||||
if (math.distance(pos.xz, origin.xz) < KeepOutFromOrigin) continue; // unlucky draws: drop the piece
|
||||
var e = ecb.Instantiate(cover.Prefab);
|
||||
ecb.SetComponent(e, kBaked.WithPosition(pos));
|
||||
ecb.AddComponent(e, new RoomTag { Room = room });
|
||||
}
|
||||
}
|
||||
|
||||
rf.LastSpawnedRoomEpoch = run.RoomEpoch;
|
||||
SystemAPI.SetComponent(spawnerEntity, rf);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
using Unity.Entities;
|
||||
|
||||
namespace ProjectM.Simulation
|
||||
{
|
||||
/// <summary>
|
||||
/// Baked singleton holding the DESTRUCTIBLE COVER ghost prefab (Exploding_Barrels sibling —
|
||||
/// Cover_Rock_Build: a BlightClutter carrier with ScrapPerHit=0, Variant=4, and a baked
|
||||
/// Environment-layer collider that blocks the player CC and the enemy sweep while alive).
|
||||
/// RoomFieldSystem scatters <see cref="Count"/> cover rocks per room epoch — EXCEPT Boss rooms
|
||||
/// (the boss has no depenetration backstop; review wf_e14dd739-069) — with a keep-out ring
|
||||
/// around the room origin (player landing + portal). OPTIONAL: absent singleton = no cover.
|
||||
/// Mirrors <see cref="ClutterFieldSpawner"/>; carries no transform.
|
||||
/// </summary>
|
||||
public struct CoverFieldSpawner : IComponentData
|
||||
{
|
||||
/// <summary>Baked cover-rock ghost prefab to instantiate.</summary>
|
||||
public Entity Prefab;
|
||||
|
||||
/// <summary>Cover rocks per room (Boss rooms get none).</summary>
|
||||
public int Count;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0331196c0b301674189f1c1779f108da
|
||||
@@ -270,6 +270,10 @@ namespace ProjectM.Simulation
|
||||
continue;
|
||||
|
||||
int amount = math.max(1, (int)harvPerHit[i]);
|
||||
// DECOUPLED deposit (cover review): cover has ScrapPerHit=0 — breaks in Remaining hits,
|
||||
// yields nothing. Nodes/clutter (PerHit >= 1) keep deposit == decrement as before.
|
||||
// zero means ZERO (cover); any POSITIVE yield still credits >= 1 (the fractional-yield guard).
|
||||
int deposit = harvPerHit[i] > 0f ? amount : 0;
|
||||
byte yieldId = harvYieldId[i];
|
||||
// Route by region: Base nodes credit the shared ledger DIRECTLY (the build pool); an
|
||||
// expedition / un-tagged target goes to the swinging player's PERSONAL inventory (spill to
|
||||
@@ -278,10 +282,13 @@ namespace ProjectM.Simulation
|
||||
Entity meleeHarvester = Entity.Null;
|
||||
if (meleePlayerByConn.TryGetValue(hc.OwnerId, out var meleePlayer))
|
||||
meleeHarvester = meleePlayer;
|
||||
bool deposited = HarvestMath.DepositYield(yieldId, amount, harvToLedger[i], meleeHarvester,
|
||||
m_InvLookup, ledger, haveLedger, haveDb, itemDb);
|
||||
if (!deposited)
|
||||
continue;
|
||||
if (deposit > 0)
|
||||
{
|
||||
bool deposited = HarvestMath.DepositYield(yieldId, deposit, harvToLedger[i], meleeHarvester,
|
||||
m_InvLookup, ledger, haveLedger, haveDb, itemDb);
|
||||
if (!deposited)
|
||||
continue; // never consume a YIELDING target for zero credit
|
||||
}
|
||||
|
||||
int rem = harvRemaining[i] - amount;
|
||||
harvRemaining[i] = rem;
|
||||
|
||||
@@ -661,60 +661,6 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 3.9870093, y: 5, z: 1.5}
|
||||
m_Center: {x: 0, y: 2, z: 0}
|
||||
--- !u!1 &47838509
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 47838510}
|
||||
- component: {fileID: 47838511}
|
||||
m_Layer: 8
|
||||
m_Name: Cover_S0_0
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &47838510
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 47838509}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.1305262, z: -0, w: 0.9914449}
|
||||
m_LocalPosition: {x: 993, y: 0, z: 6}
|
||||
m_LocalScale: {x: 1.6780516, y: 1.6780518, z: 1.6780516}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 125166252}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!64 &47838511
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 47838509}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 5
|
||||
m_Convex: 1
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
||||
--- !u!1 &47846457
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1591,15 +1537,7 @@ Transform:
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 47838510}
|
||||
- {fileID: 1718746030}
|
||||
- {fileID: 1814418716}
|
||||
- {fileID: 1572202107}
|
||||
- {fileID: 582536833}
|
||||
- {fileID: 175117792}
|
||||
- {fileID: 1785428319}
|
||||
- {fileID: 1438996196}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &135921087
|
||||
@@ -1920,60 +1858,6 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 3.8149579, y: 5, z: 1.5}
|
||||
m_Center: {x: 0, y: 2, z: 0}
|
||||
--- !u!1 &175117791
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 175117792}
|
||||
- component: {fileID: 175117793}
|
||||
m_Layer: 8
|
||||
m_Name: Cover_S1_1
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &175117792
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 175117791}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.57357645, z: -0, w: 0.81915206}
|
||||
m_LocalPosition: {x: 1508, y: 0, z: 5}
|
||||
m_LocalScale: {x: 1.6780517, y: 1.6780518, z: 1.6780517}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 125166252}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!64 &175117793
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 175117791}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 5
|
||||
m_Convex: 1
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
||||
--- !u!1 &175286056
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -5058,60 +4942,6 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1.7547715, y: 0.8, z: 1.3944197}
|
||||
m_Center: {x: 0.0000024735928, y: 0.4, z: -0.000009506941}
|
||||
--- !u!1 &582536832
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 582536833}
|
||||
- component: {fileID: 582536834}
|
||||
m_Layer: 8
|
||||
m_Name: Cover_S1_0
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &582536833
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 582536832}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.1305262, z: -0, w: 0.9914449}
|
||||
m_LocalPosition: {x: 1493, y: 0, z: 6}
|
||||
m_LocalScale: {x: 1.6780516, y: 1.6780518, z: 1.6780516}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 125166252}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!64 &582536834
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 582536832}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 5
|
||||
m_Convex: 1
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
||||
--- !u!1 &584781805
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -9082,6 +8912,52 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 4.147015, y: 5, z: 1.5}
|
||||
m_Center: {x: 0, y: 2, z: 0}
|
||||
--- !u!1 &1106173029
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1106173031}
|
||||
- component: {fileID: 1106173030}
|
||||
m_Layer: 0
|
||||
m_Name: CoverFieldSpawner
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1106173030
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1106173029}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0a9b08ef91676fa4185406d9dec18c5e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: ProjectM.Authoring::ProjectM.Authoring.CoverFieldSpawnerAuthoring
|
||||
CoverPrefab: {fileID: 3885353946372160549, guid: 25159665cc5735b44bf91ab9c8f90b76, type: 3}
|
||||
Count: 3
|
||||
--- !u!4 &1106173031
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1106173029}
|
||||
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: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1106672234
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -12027,60 +11903,6 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 3.9249666, y: 5, z: 1.5}
|
||||
m_Center: {x: 0, y: 2, z: 0}
|
||||
--- !u!1 &1438996195
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1438996196}
|
||||
- component: {fileID: 1438996197}
|
||||
m_Layer: 8
|
||||
m_Name: Cover_S1_3
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1438996196
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1438996195}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.86602545, z: -0, w: 0.49999997}
|
||||
m_LocalPosition: {x: 1509, y: 0, z: -7}
|
||||
m_LocalScale: {x: 1.8546889, y: 1.8546889, z: 1.8546889}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 125166252}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!64 &1438996197
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1438996195}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 5
|
||||
m_Convex: 1
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
||||
--- !u!1 &1441917224
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -13448,60 +13270,6 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1.6302872, y: 0.903802, z: 1.4047824}
|
||||
m_Center: {x: -0.07129079, y: 0.451901, z: 0.0632782}
|
||||
--- !u!1 &1572202106
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1572202107}
|
||||
- component: {fileID: 1572202108}
|
||||
m_Layer: 8
|
||||
m_Name: Cover_S0_3
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1572202107
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1572202106}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.86602545, z: -0, w: 0.49999997}
|
||||
m_LocalPosition: {x: 1009, y: 0, z: -7}
|
||||
m_LocalScale: {x: 1.8546889, y: 1.8546889, z: 1.8546889}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 125166252}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!64 &1572202108
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1572202106}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 5
|
||||
m_Convex: 1
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
||||
--- !u!1 &1578777869
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -14753,60 +14521,6 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 3.9799314, y: 5, z: 1.5}
|
||||
m_Center: {x: 0, y: 2, z: 0}
|
||||
--- !u!1 &1718746029
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1718746030}
|
||||
- component: {fileID: 1718746031}
|
||||
m_Layer: 8
|
||||
m_Name: Cover_S0_1
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1718746030
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1718746029}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.57357645, z: -0, w: 0.81915206}
|
||||
m_LocalPosition: {x: 1008, y: 0, z: 5}
|
||||
m_LocalScale: {x: 1.6780517, y: 1.6780518, z: 1.6780517}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 125166252}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!64 &1718746031
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1718746029}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 5
|
||||
m_Convex: 1
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
||||
--- !u!1 &1723007258
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -15072,60 +14786,6 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 2.4087837, y: 0.9642086, z: 2.2116926}
|
||||
m_Center: {x: -0.004358411, y: 0.4821043, z: 0.12872449}
|
||||
--- !u!1 &1785428318
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1785428319}
|
||||
- component: {fileID: 1785428320}
|
||||
m_Layer: 8
|
||||
m_Name: Cover_S1_2
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1785428319
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1785428318}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.34202015, z: -0, w: 0.9396927}
|
||||
m_LocalPosition: {x: 1495, y: 0, z: -9}
|
||||
m_LocalScale: {x: 1.2801044, y: 1.2801043, z: 1.2801044}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 125166252}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!64 &1785428320
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1785428318}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 5
|
||||
m_Convex: 1
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: -2709579467351344360, guid: d68b1794e4e664d45925e6fe3eedfae2, type: 3}
|
||||
--- !u!1 &1800669619
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -15391,60 +15051,6 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 4.1653576, y: 5, z: 1.5}
|
||||
m_Center: {x: 0, y: 2, z: 0}
|
||||
--- !u!1 &1814418715
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1814418716}
|
||||
- component: {fileID: 1814418717}
|
||||
m_Layer: 8
|
||||
m_Name: Cover_S0_2
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1814418716
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1814418715}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.34202015, z: -0, w: 0.9396927}
|
||||
m_LocalPosition: {x: 995, y: 0, z: -9}
|
||||
m_LocalScale: {x: 1.2801044, y: 1.2801043, z: 1.2801044}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 125166252}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!64 &1814418717
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1814418715}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 5
|
||||
m_Convex: 1
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: -2709579467351344360, guid: d68b1794e4e664d45925e6fe3eedfae2, type: 3}
|
||||
--- !u!1 &1815241087
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -18643,3 +18249,4 @@ SceneRoots:
|
||||
- {fileID: 1518140828}
|
||||
- {fileID: 125166252}
|
||||
- {fileID: 1384477683}
|
||||
- {fileID: 1106173031}
|
||||
|
||||
@@ -107,7 +107,7 @@ Long-form originals + the milestone each came from: `Docs/Vault/_Meta/CLAUDE_Bui
|
||||
- **A dark-lit screenshot MASKS material bugs — verify material *values*.** `shader.GetPropertyType(idx)`-guard before `GetColor`/`GetFloat`/`GetTexture` (`S_General`'s `_BaseColorMultiply` is a float → `GetColor` returns black). Gate emission on the `_Emissive` flag + a fixture name; keep converted env metallic low (0.1–0.2).
|
||||
- **VolumeProfile.Add persistence + the URP `m_AssetVersion` build blocker** → archive 2026-07-06 (+ native memory `urp-global-settings-version-blocks-build`).
|
||||
- **`LocalTransform.FromPosition()` resets Scale=1** — server spawners read the prefab's baked `LocalTransform`, override only Position (Scale is a `[GhostField]` → consistent-but-wrong).
|
||||
- **Static decor → gameplay subscene** (EG renders only baked entities); **strip colliders from cosmetic props** + no `GhostAuthoring` on scenery (classic-URP colliders are inert to the DOTS PhysicsWorld). **World collision = subscene-only ★:** `Environment`-layer boundary ring + landmark colliders (player blocked via the layer matrix); enemies slide via a server `CollisionWorld.SphereCast` in `EnemyAISystem`. **★ enemy slide has NO pathfinding — a near-vertical wall normal or an embedded spawn FROZE Husks on cover rocks (soft-locks a room on one leftover); fixed 07-07 via `EnemyMoveUtil.Depenetrate` + tangent-slide + an `EnemyNavState` nudge backstop. Re-validate movers aren't frozen when adding Environment cover.** Boundary = `SM_Env_Rock_Cliff` rim. See [[2026-06-08_World_Collision_HUD_Scaling]].
|
||||
- **Static decor → gameplay subscene** (EG renders only baked entities); **strip colliders from cosmetic props** + no `GhostAuthoring` on scenery (classic-URP colliders are inert to the DOTS PhysicsWorld). **World collision = subscene-only ★:** `Environment`-layer boundary ring + landmark colliders (player blocked via the layer matrix); enemies slide via a server `CollisionWorld.SphereCast` in `EnemyAISystem`. **★ enemy slide has NO pathfinding — a near-vertical wall normal or an embedded spawn FROZE Husks on cover rocks (soft-locks a room on one leftover); fixed 07-07 via `EnemyMoveUtil.Depenetrate` + tangent-slide + an `EnemyNavState` nudge backstop. Re-validate movers aren't frozen when adding Environment cover. 07-10: the nudge is COVER-AWARE — a live destructible-cover ghost (`BlightClutter` carrier) SUPPRESSES the phase-through (breakable ⇒ no soft-lock); static wedges still nudge.** Boundary = `SM_Env_Rock_Cliff` rim. See [[2026-06-08_World_Collision_HUD_Scaling]].
|
||||
- **A GA "projectile" prefab self-propels** — strip to particles before `Start` (`CombatFeedbackSystem.StripCosmetic`); verify *components*, not the name.
|
||||
|
||||
### Aim controls
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
---
|
||||
title: Destructible_Cover_Build_Spec
|
||||
type: note
|
||||
permalink: gamevault/03-design/destructible-cover-build-spec
|
||||
---
|
||||
|
||||
# Destructible Cover — Build Spec (Phase 1.5 long-term #8, review-hardened, SHIPPED `bbf418e77`)
|
||||
|
||||
Review: `wf_e14dd739-069` (3 lenses, 28 agents). The session limit killed 18 verifiers mid-run, but the 7
|
||||
completed verifications covered every DISTINCT load-bearing finding (both HIGHs + the boss/scatter/copy-paste/
|
||||
HitRadius/spawn-window MEDs); the dead verifiers were lens-duplicates of the same issues. **Deliberate call:
|
||||
folded without a third verify pass**, with the unverified leftovers reasoned-closed below — recorded per
|
||||
[[ask-before-deferring-during-implementation]].
|
||||
|
||||
## Core architecture: cover IS clutter with a collider
|
||||
|
||||
`CoverRock.prefab` = a `BlightClutter` ghost (Variant **4**) whose root carries a baked **Environment-layer
|
||||
BoxCollider**: the runtime-spawned ghost's collider joins `BuildPhysicsWorld` every tick → blocks the player
|
||||
CC AND the enemy sweep (both filter on the env mask) while alive, and the gap opens the instant the entity
|
||||
dies. Both hit paths break it for free (the clutter chassis); chip feedback/teardown/relevancy inherited.
|
||||
Values: `Remaining=8` (8 hits to carve), `ScrapPerHit=0`, `HitRadius=1.2`, Model = `SM_Env_Rocks_Spikey_03`
|
||||
@1.7 (the old cover visual; Read/Write already enabled).
|
||||
|
||||
## The two HIGH folds
|
||||
|
||||
1. **The 07-07 anti-stuck nudge deliberately phases enemies through cover rocks** (it exists to prevent room
|
||||
soft-locks) — "cover blocks enemies" contradicted the shipped backstop. Fold: the nudge is **cover-aware**
|
||||
(EnemyAISystem, the arm site): a 1.8 u SphereCast toward the target identifies the blocker; if it carries
|
||||
`BlightClutter` (a LIVE, destructible ghost — no soft-lock possible) the phase is SUPPRESSED and the stuck
|
||||
counter stays primed; static-geometry wedges nudge exactly as before.
|
||||
2. **Yield==durability coupling** made tanky cover a 64-scrap/room faucet. Fold: deposit DECOUPLED from the
|
||||
decrement at BOTH hit sites — `deposit = perHit > 0 ? max(1,(int)perHit) : 0` — zero means ZERO (cover),
|
||||
any positive still credits ≥1 (the B1 immortal-sink regression test caught the first cut truncating 0.5→0;
|
||||
the dual contract is now: fractional-positive floors to 1, exact-zero deposits nothing).
|
||||
|
||||
## Confirmed-MED folds
|
||||
|
||||
- `HitRadius=1.2` (visual core): the collider footprint would have made each rock a ~5 u shot-eating disc
|
||||
(ResourceHarvest consumes any surviving projectile whose segment grazes HitRadius).
|
||||
- **No cover in Boss rooms**: the boss moves only via SweptMove — NO depenetration backstop exists for it
|
||||
(`EnemyAISystem`'s pass excludes BossState with a comment wrongly claiming BossAISystem owns it).
|
||||
- Scatter keep-out ≥7 u from the room origin (player landing at origin+1.5·idx, portal at z−5), bounded
|
||||
8-attempt resample, piece dropped on failure. Count=3/room (`CoverFieldSpawner`, optional singleton).
|
||||
- `Variant=4` set on the prefab and NEVER rerolled (the clutter block's 25% explosive reroll is a copy-paste
|
||||
trap — the cover spawn block instantiates the prefab proto untouched).
|
||||
- Old static layer REMOVED: 8 `WorldColliders_RoomCover` subscene colliders + the `RoomCover_Visuals` root in
|
||||
Game.unity (double-collision + double-visual otherwise). ColliderFitTools' FitCover section is vestigial
|
||||
(empty group → KEEP logs).
|
||||
|
||||
## Reasoned-closed (verifiers lost to the session limit; dispositions)
|
||||
|
||||
- *CC misprediction window on runtime-spawned blockers*: rocks spawn at room entry ≥7 u from the landing
|
||||
point; the ghost replicates long before a player can cross 7 u — no practical mispredict window.
|
||||
- *Depenetrate vertical-normal on hull tops*: unchanged behavior class vs the old static hulls; the fallback
|
||||
chain (nudge) still exists for non-cover geometry.
|
||||
- *Melee cone tests target CENTER*: rock center reachable at HitRadius 1.2 + cone range 2.6 — chippable
|
||||
point-blank.
|
||||
- *NodeFeedback shrink keys on Remaining*: cover shrinking as it is chipped reads as crumbling — kept.
|
||||
- *Projectiles ignore colliders* (confirmed structurally): v1 cover blocks MOVEMENT, not shots — both sides'
|
||||
projectiles fly over the waist-high rocks. True shot-blocking = a follow-up (cover in both projectile
|
||||
sweeps). Enemy-hits-win ordering is deterministic: ProjectileDamage (predicted group, immediate playback)
|
||||
runs before ResourceHarvest (plain group) — a projectile consumed on an enemy is gone before the harvest
|
||||
sweep can double-destroy it.
|
||||
- *Charger smashes through cover*: deliberate follow-up (contact damage from lunging chargers to cover).
|
||||
|
||||
## Live validation (all passed, 2026-07-10)
|
||||
|
||||
3 cover ghosts spawned (Variant 4, Remaining 8) with SOLID baked colliders in the CollisionWorld ·
|
||||
**BLOCK**: `NudgeUntilTick` stayed 0 across 3.5 s of forced zero-progress (the old code arms at 1.5 s) ·
|
||||
**DEPENETRATE**: an enemy shoved inside a live rock exited to 1.7 u · **CARVE**: the rock died to the real
|
||||
projectile sweep and the spot probed OPEN (not solid) · 470/470 EditMode · console clean.
|
||||
@@ -150,8 +150,11 @@ attacks/animations/effects**. Art direction deliberately UNDECIDED — lighting
|
||||
the client cue, strobing red glow) then radius-damages BOTH sides (bait mechanic; escapable). Zero new
|
||||
replication. Geysers/trap tiles = later hazard variants on the same HazardExplosionSystem chassis.
|
||||
See [[Exploding_Barrels_Build_Spec]].
|
||||
8. **Destructible cover:** in-room cover rocks take damage and crumble (Charger smashes through, players carve LOS).
|
||||
Structures already have Health; **re-validate the enemy stuck-fix backstop when cover can disappear mid-fight.**
|
||||
8. **Destructible cover — SHIPPED (2026-07-10, `bbf418e77`, review-first `wf_e14dd739-069`): PHASE 1.5 IS
|
||||
COMPLETE.** Cover = BlightClutter ghosts (Variant 4) with baked env-layer colliders — genuinely block
|
||||
(the anti-stuck nudge is now cover-aware) until carved (8 hits, zero yield — deposit decoupled from
|
||||
durability); no cover in Boss rooms; backstop re-validated live (block/depenetrate/carve all proven).
|
||||
Follow-ups: Charger smashes cover; true projectile-blocking. See [[Destructible_Cover_Build_Spec]].
|
||||
|
||||
**Gate:** operator playtest says "no longer static"; node harvest feedback visibly works; art direction LOCKED.
|
||||
|
||||
|
||||
@@ -229,13 +229,31 @@ Verified: 470/470 (4 new tests) · live smoke: client OBSERVED the fuse cue on t
|
||||
enemy took exactly 26 (30→4), walk-out escape confirmed (fuse is escapable by design — first unpinned bait
|
||||
simply left the radius) · console clean.
|
||||
|
||||
## Part K — destructible cover SHIPPED (`bbf418e77`); **PHASE 1.5 COMPLETE** (07-10)
|
||||
|
||||
The last 1.5 item, review-first (`wf_e14dd739-069`; the limit ate 18 duplicate verifiers — the 7 completed
|
||||
ones covered every DISTINCT finding; folded without a third pass, leftovers reasoned-closed in
|
||||
[[Destructible_Cover_Build_Spec]]). **Architecture: cover IS clutter with a collider** — a `BlightClutter`
|
||||
ghost (Variant 4) whose baked env-layer BoxCollider joins BuildPhysicsWorld → blocks the player CC + the
|
||||
enemy sweep while alive, opens the instant it dies; both hit paths carve it (8 hits, ZERO yield). The two
|
||||
HIGH folds: (1) **the 07-07 anti-stuck nudge is now COVER-AWARE** (a SphereCast identifies the blocker; a
|
||||
live destructible ghost suppresses the phase-through — breakable ⇒ no soft-lock; statics still nudge; also
|
||||
now a CLAUDE.md line); (2) **deposit decoupled from durability** at both hit sites — zero yields nothing,
|
||||
fractional-positive still floors to 1 (the B1 immortal-sink test caught the first cut truncating 0.5→0 —
|
||||
a real regression the suite stopped). MEDs: HitRadius 1.2, NO cover in Boss rooms (boss has no depenetrate
|
||||
backstop), ≥7 u origin keep-out, Variant never rerolled, old static cover colliders + RoomCover_Visuals
|
||||
REMOVED. Live-verified: 3 solid cover ghosts · BLOCK (NudgeUntilTick 0 across 3.5 s forced-stuck) ·
|
||||
DEPENETRATE (embedded enemy exits to 1.7 u) · CARVE (real-sweep kill → spot probes OPEN) · 470/470 · console
|
||||
clean. Follow-ups queued: Charger smashes cover · true projectile-blocking cover.
|
||||
|
||||
## Next-session intent
|
||||
|
||||
Phase 1.5 remaining: **destructible cover** (the last long-term item — design-review-first, MUST re-validate
|
||||
the enemy stuck-fix backstop when cover can vanish mid-fight) → then the 1.5 gate lap → **Phase 1.7 boon
|
||||
overhaul** (design review required — replicated ability swaps). Queued taste items: re-enable curated base
|
||||
flora · arid brightness · craters call · B5 split-panels smoke · barrel VFX polish (authored explosion
|
||||
prefab instead of the procedural burst).
|
||||
**Phase 1.5 is COMPLETE** (collision · lighting · art-look LOCKED clean dark-Synty · ambient motion ·
|
||||
breakables · attack distinctness · exploding barrels · destructible cover). Next per the locked order:
|
||||
**the operator's 1.5 gate lap** ("no longer static"?) → **Phase 1.7 boon overhaul** (~12 mechanic-changers
|
||||
on existing hooks; design-review-FIRST — replicated ability swaps) → Phase 2 hub-ification. Taste queue:
|
||||
re-enable curated base flora (barren hub) · arid brightness · craters call · B5 split-panels smoke · barrel
|
||||
explosion VFX polish · cover damage-crack visuals.
|
||||
|
||||
Related: [[Iteration_2026-07_CoopHades]] · [[2026-07-07_Workflow_Consolidation]] ·
|
||||
[[2026-07-07_Expedition_Enemy_Stuck_Harvest_Feedback]]
|
||||
|
||||
Reference in New Issue
Block a user