From 0ca3cafe969e33825fbd8a48fb177953c6d75b0f Mon Sep 17 00:00:00 2001 From: Alexandre Coirier Date: Mon, 18 May 2026 23:11:16 +0200 Subject: [PATCH] wip: Path to Omnissiah --- Assets/_Content/Materials/M_default.mat | 3 + ...efault_mask_0.mat => M_default_mask_A.mat} | 5 +- ...k_0.mat.meta => M_default_mask_A.mat.meta} | 0 ...efault_mask_1.mat => M_default_mask_B.mat} | 5 +- ...k_1.mat.meta => M_default_mask_B.mat.meta} | 0 .../Materials/M_Theatre_stainedGlass.mat | 3 +- .../Environments/Theatre/Sources/theatre.fbx | 4 +- Assets/_Content/Scenes/Theatre.unity | 3221 ++++++++++++-- .../Dev/DebugTools/PortalAudioDebugger.cs | 54 - .../DebugTools/PortalAudioDebugger.cs.meta | 2 - .../Features/{Portals.meta => Portal.meta} | 0 .../Scripts/Features/Portal/Portal.cs | 30 + .../Scripts/Features/Portal/Portal.cs.meta | 2 + .../Scripts/Features/Portal/PortalManager.cs | 110 + .../Features/Portal/PortalManager.cs.meta | 2 + .../Scripts/Features/Portals/Runtime.meta | 8 - .../Features/Portals/Runtime/Portal.cs | 733 ---- .../Features/Portals/Runtime/Portal.cs.meta | 11 - .../Portals/Runtime/PortalAudioProxy.cs | 307 -- .../Portals/Runtime/PortalAudioProxy.cs.meta | 2 - .../Features/Portals/Runtime/PortalDoor.cs | 45 - .../Portals/Runtime/PortalDoor.cs.meta | 2 - .../Portals/Runtime/PortalMainCamera.cs | 67 - .../Portals/Runtime/PortalMainCamera.cs.meta | 11 - .../Portals/Runtime/PortalRoomManager.cs | 288 -- .../Portals/Runtime/PortalRoomManager.cs.meta | 11 - .../Portals/Runtime/PortalTraveller.cs | 148 - .../Portals/Runtime/PortalTraveller.cs.meta | 11 - Assets/_Content/Scripts/SpiralStaircase.cs | 138 +- .../Camera/Runtime/DynamicShadowDistance.cs | 106 - .../Runtime/DynamicShadowDistance.cs.meta | 2 - Assets/_Content/Settings/PC_Renderer.asset | 6 +- .../Shaders/EnkiBillal/EnkiBiIlal.shadergraph | 942 +++- .../EnkiBillal/EnkiBiIlalMask.shadergraph | 3784 ----------------- .../EnkiBiIlalMask.shadergraph.meta | 18 - .../EnkiBillal/Include/EnkiBiIlal.hlsl | 243 +- 36 files changed, 4194 insertions(+), 6130 deletions(-) rename Assets/_Content/Materials/Stencil/{M_default_mask_0.mat => M_default_mask_A.mat} (94%) rename Assets/_Content/Materials/Stencil/{M_default_mask_0.mat.meta => M_default_mask_A.mat.meta} (100%) rename Assets/_Content/Materials/Stencil/{M_default_mask_1.mat => M_default_mask_B.mat} (94%) rename Assets/_Content/Materials/Stencil/{M_default_mask_1.mat.meta => M_default_mask_B.mat.meta} (100%) delete mode 100644 Assets/_Content/Scripts/Dev/DebugTools/PortalAudioDebugger.cs delete mode 100644 Assets/_Content/Scripts/Dev/DebugTools/PortalAudioDebugger.cs.meta rename Assets/_Content/Scripts/Features/{Portals.meta => Portal.meta} (100%) create mode 100644 Assets/_Content/Scripts/Features/Portal/Portal.cs create mode 100644 Assets/_Content/Scripts/Features/Portal/Portal.cs.meta create mode 100644 Assets/_Content/Scripts/Features/Portal/PortalManager.cs create mode 100644 Assets/_Content/Scripts/Features/Portal/PortalManager.cs.meta delete mode 100644 Assets/_Content/Scripts/Features/Portals/Runtime.meta delete mode 100644 Assets/_Content/Scripts/Features/Portals/Runtime/Portal.cs delete mode 100644 Assets/_Content/Scripts/Features/Portals/Runtime/Portal.cs.meta delete mode 100644 Assets/_Content/Scripts/Features/Portals/Runtime/PortalAudioProxy.cs delete mode 100644 Assets/_Content/Scripts/Features/Portals/Runtime/PortalAudioProxy.cs.meta delete mode 100644 Assets/_Content/Scripts/Features/Portals/Runtime/PortalDoor.cs delete mode 100644 Assets/_Content/Scripts/Features/Portals/Runtime/PortalDoor.cs.meta delete mode 100644 Assets/_Content/Scripts/Features/Portals/Runtime/PortalMainCamera.cs delete mode 100644 Assets/_Content/Scripts/Features/Portals/Runtime/PortalMainCamera.cs.meta delete mode 100644 Assets/_Content/Scripts/Features/Portals/Runtime/PortalRoomManager.cs delete mode 100644 Assets/_Content/Scripts/Features/Portals/Runtime/PortalRoomManager.cs.meta delete mode 100644 Assets/_Content/Scripts/Features/Portals/Runtime/PortalTraveller.cs delete mode 100644 Assets/_Content/Scripts/Features/Portals/Runtime/PortalTraveller.cs.meta delete mode 100644 Assets/_Content/Scripts/World/Camera/Runtime/DynamicShadowDistance.cs delete mode 100644 Assets/_Content/Scripts/World/Camera/Runtime/DynamicShadowDistance.cs.meta delete mode 100644 Assets/_Content/Shaders/EnkiBillal/EnkiBiIlalMask.shadergraph delete mode 100644 Assets/_Content/Shaders/EnkiBillal/EnkiBiIlalMask.shadergraph.meta diff --git a/Assets/_Content/Materials/M_default.mat b/Assets/_Content/Materials/M_default.mat index 16647465..8a9afb3d 100644 --- a/Assets/_Content/Materials/M_default.mat +++ b/Assets/_Content/Materials/M_default.mat @@ -51,10 +51,13 @@ Material: m_Offset: {x: 0, y: 0} m_Ints: [] m_Floats: + - _ClipDistance: 0 + - _ClipInvert: 0 - _GrainSize: 0.4 - _GrainStrength: 0.2 - _HighlightMax: 1 - _HighlightMin: 0.5 + - _MaskID: 0 - _QueueControl: 0 - _QueueOffset: 0 - _ShadowMax: 0.2 diff --git a/Assets/_Content/Materials/Stencil/M_default_mask_0.mat b/Assets/_Content/Materials/Stencil/M_default_mask_A.mat similarity index 94% rename from Assets/_Content/Materials/Stencil/M_default_mask_0.mat rename to Assets/_Content/Materials/Stencil/M_default_mask_A.mat index e33f1b3b..5a7e5f8b 100644 --- a/Assets/_Content/Materials/Stencil/M_default_mask_0.mat +++ b/Assets/_Content/Materials/Stencil/M_default_mask_A.mat @@ -20,8 +20,8 @@ Material: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: M_default_mask_0 - m_Shader: {fileID: -6465566751694194690, guid: adf06fb1c82bec94d8daea4d30c135e9, type: 3} + m_Name: M_default_mask_A + m_Shader: {fileID: -6465566751694194690, guid: 10840deb9abeee9478cbbb5915f60f5c, type: 3} m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: [] @@ -57,6 +57,7 @@ Material: - _GrainStrength: 0.2 - _HighlightMax: 1 - _HighlightMin: 0.5 + - _MaskID: 1 - _MaskValueOnDisabled: 0 - _QueueControl: 0 - _QueueOffset: 0 diff --git a/Assets/_Content/Materials/Stencil/M_default_mask_0.mat.meta b/Assets/_Content/Materials/Stencil/M_default_mask_A.mat.meta similarity index 100% rename from Assets/_Content/Materials/Stencil/M_default_mask_0.mat.meta rename to Assets/_Content/Materials/Stencil/M_default_mask_A.mat.meta diff --git a/Assets/_Content/Materials/Stencil/M_default_mask_1.mat b/Assets/_Content/Materials/Stencil/M_default_mask_B.mat similarity index 94% rename from Assets/_Content/Materials/Stencil/M_default_mask_1.mat rename to Assets/_Content/Materials/Stencil/M_default_mask_B.mat index c3f6f0e9..b1ea5895 100644 --- a/Assets/_Content/Materials/Stencil/M_default_mask_1.mat +++ b/Assets/_Content/Materials/Stencil/M_default_mask_B.mat @@ -20,8 +20,8 @@ Material: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: M_default_mask_1 - m_Shader: {fileID: -6465566751694194690, guid: adf06fb1c82bec94d8daea4d30c135e9, type: 3} + m_Name: M_default_mask_B + m_Shader: {fileID: -6465566751694194690, guid: 10840deb9abeee9478cbbb5915f60f5c, type: 3} m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: [] @@ -57,6 +57,7 @@ Material: - _GrainStrength: 0.2 - _HighlightMax: 1 - _HighlightMin: 0.5 + - _MaskID: 2 - _MaskInvert: 1 - _MaskValueOnDisabled: 1 - _QueueControl: 0 diff --git a/Assets/_Content/Materials/Stencil/M_default_mask_1.mat.meta b/Assets/_Content/Materials/Stencil/M_default_mask_B.mat.meta similarity index 100% rename from Assets/_Content/Materials/Stencil/M_default_mask_1.mat.meta rename to Assets/_Content/Materials/Stencil/M_default_mask_B.mat.meta diff --git a/Assets/_Content/Models/Environments/Theatre/Materials/M_Theatre_stainedGlass.mat b/Assets/_Content/Models/Environments/Theatre/Materials/M_Theatre_stainedGlass.mat index f234ca0d..73cb8d79 100644 --- a/Assets/_Content/Models/Environments/Theatre/Materials/M_Theatre_stainedGlass.mat +++ b/Assets/_Content/Models/Environments/Theatre/Materials/M_Theatre_stainedGlass.mat @@ -21,7 +21,7 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: M_Theatre_stainedGlass - m_Shader: {fileID: -6465566751694194690, guid: adf06fb1c82bec94d8daea4d30c135e9, type: 3} + m_Shader: {fileID: -6465566751694194690, guid: 10840deb9abeee9478cbbb5915f60f5c, type: 3} m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: [] @@ -57,6 +57,7 @@ Material: - _GrainStrength: 0.2 - _HighlightMax: 1 - _HighlightMin: 0.5 + - _MaskID: 1 - _MaskValueOnDisabled: 0 - _QueueControl: 0 - _QueueOffset: 0 diff --git a/Assets/_Content/Models/Environments/Theatre/Sources/theatre.fbx b/Assets/_Content/Models/Environments/Theatre/Sources/theatre.fbx index 63739b80..579fca0b 100644 --- a/Assets/_Content/Models/Environments/Theatre/Sources/theatre.fbx +++ b/Assets/_Content/Models/Environments/Theatre/Sources/theatre.fbx @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:79b1e8c48f6b2108019d883b5d784218e5dc00739c441efe719d74bbb8ec56ee -size 3859712 +oid sha256:4b6c5796cce86ed2331c84b7d03e2e7d5c60474189cecd5509cbae020aeb897e +size 3881408 diff --git a/Assets/_Content/Scenes/Theatre.unity b/Assets/_Content/Scenes/Theatre.unity index d451aa96..38c876b0 100644 --- a/Assets/_Content/Scenes/Theatre.unity +++ b/Assets/_Content/Scenes/Theatre.unity @@ -119,6 +119,52 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &13773346 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 13773348} + - component: {fileID: 13773347} + m_Layer: 0 + m_Name: Mask_1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &13773347 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 13773346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3b841c8d159a88e4a81dbf12ab26e346, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::PortalShader + _id: 1 + _oval: 0 +--- !u!4 &13773348 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 13773346} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.3499999, z: -4.633} + m_LocalScale: {x: 2.2, y: 2.9, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1451475147} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &44782116 GameObject: m_ObjectHideFlags: 0 @@ -210,13 +256,103 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 44782116} m_Mesh: {fileID: 2112596279228391150, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!1 &50754028 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 50754029} + - component: {fileID: 50754031} + - component: {fileID: 50754030} + m_Layer: 0 + m_Name: armchair_06 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!4 &50754029 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 50754028} + serializedVersion: 2 + m_LocalRotation: {x: -1.6345483e-19, y: -0.999619, z: -4.2951483e-21, w: -0.027603349} + m_LocalPosition: {x: 0.041, y: 1.5999995, z: 16.351} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1196872730} + m_LocalEulerAnglesHint: {x: 0, y: -183.164, z: 0} +--- !u!23 &50754030 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 50754028} + 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: 5f465680b9c699e4a8e573e246fa1e9e, 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 &50754031 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 50754028} + m_Mesh: {fileID: -251552132055743698, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} --- !u!1001 &58792972 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 2011606366} + m_TransformParent: {fileID: 1196872730} m_Modifications: - target: {fileID: 1430305988989046769, guid: ffc27657631b402499c3e000dad02251, type: 3} propertyPath: m_Name @@ -224,15 +360,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1770661310325724491, guid: ffc27657631b402499c3e000dad02251, type: 3} propertyPath: m_LocalPosition.x - value: 0 + value: 0.028 objectReference: {fileID: 0} - target: {fileID: 1770661310325724491, guid: ffc27657631b402499c3e000dad02251, type: 3} propertyPath: m_LocalPosition.y - value: 1.6123294 + value: 1.313 objectReference: {fileID: 0} - target: {fileID: 1770661310325724491, guid: ffc27657631b402499c3e000dad02251, type: 3} propertyPath: m_LocalPosition.z - value: 14.65 + value: 16.25 objectReference: {fileID: 0} - target: {fileID: 1770661310325724491, guid: ffc27657631b402499c3e000dad02251, type: 3} propertyPath: m_LocalRotation.w @@ -264,7 +400,10 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] - m_AddedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 1770661310325724491, guid: ffc27657631b402499c3e000dad02251, type: 3} + insertIndex: -1 + addedObject: {fileID: 1654129438} m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: ffc27657631b402499c3e000dad02251, type: 3} --- !u!4 &58792973 stripped @@ -272,6 +411,236 @@ Transform: m_CorrespondingSourceObject: {fileID: 1770661310325724491, guid: ffc27657631b402499c3e000dad02251, type: 3} m_PrefabInstance: {fileID: 58792972} m_PrefabAsset: {fileID: 0} +--- !u!1 &62886213 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 62886214} + - component: {fileID: 62886217} + - component: {fileID: 62886216} + - component: {fileID: 62886215} + m_Layer: 0 + m_Name: Cube (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &62886214 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62886213} + serializedVersion: 2 + m_LocalRotation: {x: -0.3136077, y: -0, z: -0, w: 0.9495527} + m_LocalPosition: {x: 0.925, y: 0.933, z: 0.054} + m_LocalScale: {x: 0.25956118, y: 2.2911804, z: 0.18640178} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 588101098} + m_LocalEulerAnglesHint: {x: -36.554, y: 0, z: 0} +--- !u!65 &62886215 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62886213} + 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: 0 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &62886216 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62886213} + 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: 5f465680b9c699e4a8e573e246fa1e9e, 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 &62886217 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62886213} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &77967656 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 77967657} + - component: {fileID: 77967659} + - component: {fileID: 77967658} + - component: {fileID: 77967660} + m_Layer: 0 + m_Name: door_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &77967657 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 77967656} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0.11407018, z: 0, w: 0.9934727} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2077858863} + m_LocalEulerAnglesHint: {x: 0, y: -13.1, z: 0} +--- !u!23 &77967658 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 77967656} + 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: 5f465680b9c699e4a8e573e246fa1e9e, 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 &77967659 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 77967656} + m_Mesh: {fileID: -309466343522356575, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!64 &77967660 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 77967656} + 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: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: -309466343522356575, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!4 &99572583 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} + m_PrefabInstance: {fileID: 1720943979} + m_PrefabAsset: {fileID: 0} --- !u!1 &235456879 GameObject: m_ObjectHideFlags: 0 @@ -304,6 +673,279 @@ Transform: - {fileID: 832575519} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &249418329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 249418330} + - component: {fileID: 249418332} + - component: {fileID: 249418331} + m_Layer: 0 + m_Name: Spot Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &249418330 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249418329} + serializedVersion: 2 + m_LocalRotation: {x: 0.16258073, y: 0.8252836, z: -0.29678136, w: 0.4521011} + m_LocalPosition: {x: 2.77, y: 3.545, z: 23.447} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1196872730} + m_LocalEulerAnglesHint: {x: 39.558, y: 122.571, z: 0} +--- !u!114 &249418331 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249418329} + 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!108 &249418332 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249418329} + m_Enabled: 1 + serializedVersion: 12 + m_Type: 0 + m_Color: {r: 0.4575472, g: 1, b: 0.9331727, a: 1} + m_Intensity: 100 + m_Range: 10 + m_SpotAngle: 55.571426 + m_InnerSpotAngle: 0 + m_CookieSize2D: {x: 0.5, y: 0.5} + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ForceVisible: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_LightUnit: 1 + m_LuxAtDistance: 1 + m_EnableSpotReflector: 1 +--- !u!1 &257863899 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 257863900} + - component: {fileID: 257863903} + - component: {fileID: 257863902} + - component: {fileID: 257863901} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &257863900 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 257863899} + serializedVersion: 2 + m_LocalRotation: {x: -0.19322035, y: -0, z: -0, w: 0.98115546} + m_LocalPosition: {x: 0, y: 1.2410003, z: 14.392} + m_LocalScale: {x: 2.4757, y: 0.11168, z: 1.5526929} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1168906488} + m_LocalEulerAnglesHint: {x: -22.282, y: 0, z: 0} +--- !u!65 &257863901 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 257863899} + 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: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &257863902 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 257863899} + 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: 5f465680b9c699e4a8e573e246fa1e9e, 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 &257863903 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 257863899} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &271893341 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 271893342} + m_Layer: 0 + m_Name: Doors + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &271893342 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 271893341} + 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: 1451475147} + - {fileID: 1727267008} + - {fileID: 2077858863} + m_Father: {fileID: 1698321438} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &278570584 GameObject: m_ObjectHideFlags: 0 @@ -599,6 +1241,232 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: -8697944735082660400, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!1 &350873397 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 350873398} + - component: {fileID: 350873400} + - component: {fileID: 350873399} + - component: {fileID: 350873401} + m_Layer: 0 + m_Name: door_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &350873398 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 350873397} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.11407018, z: 0, w: 0.9934727} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2077858863} + m_LocalEulerAnglesHint: {x: 0, y: 13.1, z: 0} +--- !u!23 &350873399 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 350873397} + 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: 5f465680b9c699e4a8e573e246fa1e9e, 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 &350873400 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 350873397} + m_Mesh: {fileID: 4494614063392234296, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!64 &350873401 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 350873397} + 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: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4494614063392234296, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!1 &351946556 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 351946557} + - component: {fileID: 351946559} + - component: {fileID: 351946558} + - component: {fileID: 351946560} + m_Layer: 0 + m_Name: door_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &351946557 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 351946556} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0.11407018, z: 0, w: 0.9934727} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1727267008} + m_LocalEulerAnglesHint: {x: 0, y: -13.1, z: 0} +--- !u!23 &351946558 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 351946556} + 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: 5f465680b9c699e4a8e573e246fa1e9e, 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 &351946559 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 351946556} + m_Mesh: {fileID: -309466343522356575, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!64 &351946560 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 351946556} + 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: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: -309466343522356575, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} --- !u!1 &357047770 GameObject: m_ObjectHideFlags: 0 @@ -706,7 +1574,7 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 357047770} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &384797638 +--- !u!1 &394176023 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -714,38 +1582,39 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 384797639} - - component: {fileID: 384797641} - - component: {fileID: 384797640} - m_Layer: 20 - m_Name: mask_top + - component: {fileID: 394176024} + - component: {fileID: 394176026} + - component: {fileID: 394176025} + - component: {fileID: 394176027} + m_Layer: 0 + m_Name: door_L m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &384797639 +--- !u!4 &394176024 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 384797638} + m_GameObject: {fileID: 394176023} serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0, z: 0} + m_LocalRotation: {x: 0, y: 0.11407018, z: 0, w: 0.9934727} + m_LocalPosition: {x: -0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 706755985} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &384797640 + m_Father: {fileID: 1451475147} + m_LocalEulerAnglesHint: {x: 0, y: 13.1, z: 0} +--- !u!23 &394176025 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 384797638} + m_GameObject: {fileID: 394176023} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -764,7 +1633,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: c73964fb98d029348b2895de2ea696dc, type: 2} + - {fileID: 2100000, guid: 5f465680b9c699e4a8e573e246fa1e9e, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -788,14 +1657,36 @@ MeshRenderer: m_SortingOrder: 0 m_MaskInteraction: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &384797641 +--- !u!33 &394176026 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 384797638} - m_Mesh: {fileID: 830948936782185867, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} + m_GameObject: {fileID: 394176023} + m_Mesh: {fileID: 4494614063392234296, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!64 &394176027 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 394176023} + 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: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4494614063392234296, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} --- !u!1 &398688803 GameObject: m_ObjectHideFlags: 0 @@ -903,133 +1794,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 398688803} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &410087039 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 410087041} - - component: {fileID: 410087040} - - component: {fileID: 410087042} - m_Layer: 0 - m_Name: Directional Light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!108 &410087040 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 410087039} - m_Enabled: 1 - serializedVersion: 12 - m_Type: 1 - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_Intensity: 0.04 - m_Range: 10 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize2D: {x: 10, y: 10} - m_Shadows: - m_Type: 2 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingLayerMask: 1 - m_Lightmapping: 4 - m_LightShadowCasterMode: 0 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_ColorTemperature: 5000 - m_UseColorTemperature: 1 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_UseViewFrustumForShadowCasterCull: 1 - m_ForceVisible: 0 - m_ShadowRadius: 0 - m_ShadowAngle: 0 - m_LightUnit: 1 - m_LuxAtDistance: 1 - m_EnableSpotReflector: 1 ---- !u!4 &410087041 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 410087039} - serializedVersion: 2 - m_LocalRotation: {x: -0.2701219, y: -0.8878822, z: 0.2033802, w: -0.311987} - m_LocalPosition: {x: 0, y: 8.48, z: 17.35} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1625652159} - m_LocalEulerAnglesHint: {x: 148.014, y: -31.576996, z: 204.577} ---- !u!114 &410087042 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 410087039} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UsePipelineSettings: 1 - m_AdditionalLightsShadowResolutionTier: 2 - m_CustomShadowLayers: 0 - m_LightCookieSize: {x: 1, y: 1} - m_LightCookieOffset: {x: 0, y: 0} - m_SoftShadowQuality: 1 - 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!1 &423150182 GameObject: m_ObjectHideFlags: 0 @@ -1084,6 +1848,71 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: -8697944735082660400, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!1 &506323319 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 506323320} + m_Layer: 0 + m_Name: Omnissiah + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &506323320 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 506323319} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.6, z: 17.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 525442567} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &525442566 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 525442567} + m_Layer: 0 + m_Name: env + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &525442567 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 525442566} + 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: 1895333869} + - {fileID: 1120576538} + m_Father: {fileID: 506323320} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &528459141 GameObject: m_ObjectHideFlags: 0 @@ -1191,6 +2020,42 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 528459141} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &588101097 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 588101098} + m_Layer: 0 + m_Name: Portal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &588101098 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 588101097} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.6000003, z: 16.52} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1323932846} + - {fileID: 1982960623} + - {fileID: 1184696429} + - {fileID: 1010806617} + - {fileID: 62886214} + m_Father: {fileID: 1168906488} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &642044301 PrefabInstance: m_ObjectHideFlags: 0 @@ -1634,7 +2499,7 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} ---- !u!1 &706755984 +--- !u!1 &722758631 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1642,42 +2507,9 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 706755985} - m_Layer: 20 - m_Name: Masks - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &706755985 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 706755984} - 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: 1854730464} - - {fileID: 384797639} - m_Father: {fileID: 1698321438} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &714363357 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 714363358} - - component: {fileID: 714363360} - - component: {fileID: 714363359} + - component: {fileID: 722758632} + - component: {fileID: 722758634} + - component: {fileID: 722758633} m_Layer: 0 m_Name: Spot Light StainedGlass m_TagString: Untagged @@ -1685,28 +2517,28 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &714363358 +--- !u!4 &722758632 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 714363357} + m_GameObject: {fileID: 722758631} serializedVersion: 2 m_LocalRotation: {x: 0.99369466, y: -0, z: -0, w: 0.11211994} m_LocalPosition: {x: 0, y: 10.02, z: 20.29} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1625652159} + m_Father: {fileID: 1107210254} m_LocalEulerAnglesHint: {x: 167.125, y: 0, z: 0} ---- !u!114 &714363359 +--- !u!114 &722758633 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 714363357} + m_GameObject: {fileID: 722758631} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} @@ -1729,13 +2561,13 @@ MonoBehaviour: m_ShadowLayerMask: 1 m_RenderingLayers: 1 m_ShadowRenderingLayers: 1 ---- !u!108 &714363360 +--- !u!108 &722758634 Light: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 714363357} + m_GameObject: {fileID: 722758631} m_Enabled: 1 serializedVersion: 12 m_Type: 0 @@ -1794,6 +2626,152 @@ Light: m_LightUnit: 1 m_LuxAtDistance: 1 m_EnableSpotReflector: 1 +--- !u!1 &747625508 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 747625509} + - component: {fileID: 747625511} + - component: {fileID: 747625510} + m_Layer: 0 + m_Name: Trigger_EnableOmnissiah + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &747625509 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 747625508} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 16.19} + m_LocalScale: {x: 21.547, y: 3.0534, z: 0.47489} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1168906488} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &747625510 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 747625508} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5170627695bd877419928fa9ca37865d, type: 3} + m_Name: + m_EditorClassIdentifier: OctoCore.Runtime::OctoCore.Components.OctoWorldEvent + _trigger: 10 + _action: 0 + _condition: 1 + _tags: [] + _targets: [] + _onTrigger: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1584967889} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 1954982144} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 13773346} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 1982960622} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + - m_Target: {fileID: 506323319} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + - m_Target: {fileID: 747625508} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!65 &747625511 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 747625508} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} --- !u!1 &778702994 GameObject: m_ObjectHideFlags: 0 @@ -2272,63 +3250,6 @@ Transform: m_Children: [] m_Father: {fileID: 235456880} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &843467788 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 6194350059673118374, guid: f413f8119a5cdd64c8656e6435b59b59, type: 3} - propertyPath: m_LocalPosition.x - value: 66.13873 - objectReference: {fileID: 0} - - target: {fileID: 6194350059673118374, guid: f413f8119a5cdd64c8656e6435b59b59, type: 3} - propertyPath: m_LocalPosition.y - value: -0.00001 - objectReference: {fileID: 0} - - target: {fileID: 6194350059673118374, guid: f413f8119a5cdd64c8656e6435b59b59, type: 3} - propertyPath: m_LocalPosition.z - value: -63.47591 - objectReference: {fileID: 0} - - target: {fileID: 6194350059673118374, guid: f413f8119a5cdd64c8656e6435b59b59, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6194350059673118374, guid: f413f8119a5cdd64c8656e6435b59b59, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6194350059673118374, guid: f413f8119a5cdd64c8656e6435b59b59, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6194350059673118374, guid: f413f8119a5cdd64c8656e6435b59b59, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6194350059673118374, guid: f413f8119a5cdd64c8656e6435b59b59, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6194350059673118374, guid: f413f8119a5cdd64c8656e6435b59b59, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6194350059673118374, guid: f413f8119a5cdd64c8656e6435b59b59, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8589544845245727413, guid: f413f8119a5cdd64c8656e6435b59b59, type: 3} - propertyPath: m_Name - value: OctoCore - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: f413f8119a5cdd64c8656e6435b59b59, type: 3} --- !u!1001 &882795732 PrefabInstance: m_ObjectHideFlags: 0 @@ -2380,6 +3301,56 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: -8697944735082660400, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!1 &923492553 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 923492554} + - component: {fileID: 923492555} + m_Layer: 0 + m_Name: ProtalManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &923492554 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 923492553} + 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!114 &923492555 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 923492553} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 746134082760dc24e8ffdf666230032d, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::PortalManager + _state: + PlayerInside: 0 + Portals: + - {fileID: 1954982146} + - {fileID: 13773347} + - {fileID: 0} --- !u!1 &929818110 GameObject: m_ObjectHideFlags: 0 @@ -2435,6 +3406,41 @@ CapsuleCollider: m_Height: 16.7 m_Direction: 1 m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &949216162 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 949216163} + m_Layer: 0 + m_Name: Theatre + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &949216163 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 949216162} + 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: 1625652159} + - {fileID: 99572583} + - {fileID: 1698321438} + - {fileID: 1005038677} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &969376093 GameObject: m_ObjectHideFlags: 0 @@ -2542,6 +3548,151 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 969376093} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1005038676 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1005038677} + m_Layer: 0 + m_Name: Change + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1005038677 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1005038676} + 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: 1168906488} + - {fileID: 1196872730} + m_Father: {fileID: 949216163} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1010806616 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1010806617} + - component: {fileID: 1010806620} + - component: {fileID: 1010806619} + - component: {fileID: 1010806618} + m_Layer: 0 + m_Name: Cube (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1010806617 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1010806616} + serializedVersion: 2 + m_LocalRotation: {x: -0.3136077, y: -0, z: -0, w: 0.9495527} + m_LocalPosition: {x: -0.925, y: 0.933, z: 0.054} + m_LocalScale: {x: 0.25956118, y: 2.2911804, z: 0.18640178} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 588101098} + m_LocalEulerAnglesHint: {x: -36.554, y: 0, z: 0} +--- !u!65 &1010806618 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1010806616} + 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: 0 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1010806619 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1010806616} + 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: 5f465680b9c699e4a8e573e246fa1e9e, 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 &1010806620 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1010806616} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1023865750 GameObject: m_ObjectHideFlags: 0 @@ -2740,6 +3891,119 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1026168397} m_Mesh: {fileID: 2112596279228391150, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!1 &1040160890 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1040160891} + - component: {fileID: 1040160893} + - component: {fileID: 1040160892} + - component: {fileID: 1040160894} + m_Layer: 0 + m_Name: door_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1040160891 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1040160890} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.11407018, z: 0, w: 0.9934727} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1727267008} + m_LocalEulerAnglesHint: {x: 0, y: 13.1, z: 0} +--- !u!23 &1040160892 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1040160890} + 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: 5f465680b9c699e4a8e573e246fa1e9e, 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 &1040160893 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1040160890} + m_Mesh: {fileID: 4494614063392234296, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!64 &1040160894 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1040160890} + 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: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4494614063392234296, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} --- !u!64 &1075075867 MeshCollider: m_ObjectHideFlags: 0 @@ -2816,6 +4080,150 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: -8697944735082660400, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!1 &1107210253 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1107210254} + m_Layer: 0 + m_Name: Lighting + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1107210254 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1107210253} + 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: 722758632} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1120576537 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1120576538} + - component: {fileID: 1120576541} + - component: {fileID: 1120576540} + - component: {fileID: 1120576539} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1120576538 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1120576537} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2.41, z: 13.1} + m_LocalScale: {x: 4.951, y: 4.951, z: 4.951} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 525442567} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1120576539 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1120576537} + 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: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1120576540 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1120576537} + 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: 1d32d665cd932d34a92d1285b042ef0b, 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 &1120576541 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1120576537} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1124903725 GameObject: m_ObjectHideFlags: 0 @@ -2988,6 +4396,41 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1162934183} m_Mesh: {fileID: 2112596279228391150, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!1 &1168906487 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1168906488} + m_Layer: 0 + m_Name: Top + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1168906488 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1168906487} + 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: 1426382897} + - {fileID: 747625509} + - {fileID: 588101098} + - {fileID: 257863900} + m_Father: {fileID: 1005038677} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1175213460 stripped GameObject: m_CorrespondingSourceObject: {fileID: 664528241791979413, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} @@ -3015,6 +4458,152 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: 5788423212801163140, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!1 &1184696428 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1184696429} + - component: {fileID: 1184696432} + - component: {fileID: 1184696431} + - component: {fileID: 1184696430} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1184696429 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1184696428} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2.105, z: -0.702} + m_LocalScale: {x: 3.565107, y: 4.2312, z: 0.11493} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 588101098} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1184696430 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1184696428} + 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: 0 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1184696431 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1184696428} + 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: 5f465680b9c699e4a8e573e246fa1e9e, 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 &1184696432 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1184696428} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1196872729 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1196872730} + m_Layer: 0 + m_Name: Bottom + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1196872730 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1196872729} + 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: 50754029} + - {fileID: 58792973} + - {fileID: 249418330} + m_Father: {fileID: 1005038677} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1291651437 GameObject: m_ObjectHideFlags: 0 @@ -3213,6 +4802,217 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1307462940} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1323932845 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1323932846} + - component: {fileID: 1323932848} + - component: {fileID: 1323932847} + m_Layer: 0 + m_Name: Trigger_Omnissiah + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1323932846 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1323932845} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2.105, z: -0.611} + m_LocalScale: {x: 3.565107, y: 4.2312, z: 0.2119424} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 588101098} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1323932847 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1323932845} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5170627695bd877419928fa9ca37865d, type: 3} + m_Name: + m_EditorClassIdentifier: OctoCore.Runtime::OctoCore.Components.OctoWorldEvent + _trigger: 10 + _action: 0 + _condition: 1 + _tags: [] + _targets: [] + _onTrigger: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 923492555} + m_TargetAssemblyTypeName: PortalManager, Assembly-CSharp + m_MethodName: SetInside + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + - m_Target: {fileID: 949216162} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!65 &1323932848 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1323932845} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &1367066787 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1367066788} + - component: {fileID: 1367066790} + - component: {fileID: 1367066789} + - component: {fileID: 1367066791} + m_Layer: 0 + m_Name: door_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1367066788 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1367066787} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0.11407018, z: 0, w: 0.9934727} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1451475147} + m_LocalEulerAnglesHint: {x: 0, y: -13.1, z: 0} +--- !u!23 &1367066789 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1367066787} + 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: 5f465680b9c699e4a8e573e246fa1e9e, 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 &1367066790 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1367066787} + m_Mesh: {fileID: -309466343522356575, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!64 &1367066791 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1367066787} + 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: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: -309466343522356575, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} --- !u!1 &1380886450 GameObject: m_ObjectHideFlags: 0 @@ -3462,6 +5262,138 @@ Transform: m_Children: [] m_Father: {fileID: 2011606366} m_LocalEulerAnglesHint: {x: 22.508, y: 0, z: 0} +--- !u!1 &1426382896 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1426382897} + - component: {fileID: 1426382899} + - component: {fileID: 1426382898} + m_Layer: 0 + m_Name: Trigger_CloseDoor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1426382897 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1426382896} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 19.55} + m_LocalScale: {x: 21.547, y: 3.0534, z: 0.47489} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1168906488} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1426382898 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1426382896} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5170627695bd877419928fa9ca37865d, type: 3} + m_Name: + m_EditorClassIdentifier: OctoCore.Runtime::OctoCore.Components.OctoWorldEvent + _trigger: 10 + _action: 0 + _condition: 1 + _tags: [] + _targets: [] + _onTrigger: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1698321439} + m_TargetAssemblyTypeName: SpiralStaircase, Assembly-CSharp + m_MethodName: CloseDoor + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 1426382896} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!65 &1426382899 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1426382896} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &1451475146 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1451475147} + m_Layer: 0 + m_Name: Door_0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1451475147 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1451475146} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.5, z: -0, w: 0.8660254} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 394176024} + - {fileID: 1367066788} + - {fileID: 13773348} + m_Father: {fileID: 271893342} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1473575307 GameObject: m_ObjectHideFlags: 0 @@ -3689,12 +5621,236 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 410087041} - {fileID: 1770318232} - {fileID: 642981702} - - {fileID: 714363358} - m_Father: {fileID: 0} + m_Father: {fileID: 949216163} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1645103504 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1645103505} + - component: {fileID: 1645103508} + - component: {fileID: 1645103507} + - component: {fileID: 1645103506} + m_Layer: 0 + m_Name: Cube (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1645103505 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1645103504} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.476} + m_LocalScale: {x: 0.8126293, y: 0.76621056, z: 0.08515828} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1654129438} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1645103506 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1645103504} + 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: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1645103507 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1645103504} + 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: fe9273bfed38a3247be7bd892c0b44ed, 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 &1645103508 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1645103504} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1654129437 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1654129438} + - component: {fileID: 1654129441} + - component: {fileID: 1654129440} + - component: {fileID: 1654129439} + m_Layer: 0 + m_Name: TV + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1654129438 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1654129437} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.551, z: 0.003} + m_LocalScale: {x: 0.39187396, y: 0.344793, z: 0.23620299} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1679529671} + - {fileID: 1645103505} + m_Father: {fileID: 58792973} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1654129439 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1654129437} + 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: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1654129440 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1654129437} + 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: 5f465680b9c699e4a8e573e246fa1e9e, 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 &1654129441 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1654129437} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1671657955 GameObject: m_ObjectHideFlags: 0 @@ -3749,6 +5905,118 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: -8697944735082660400, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!1 &1679529670 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1679529671} + - component: {fileID: 1679529674} + - component: {fileID: 1679529673} + - component: {fileID: 1679529672} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1679529671 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1679529670} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.71971923} + m_LocalScale: {x: 0.6866322, y: 0.67962617, z: 0.55376697} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1654129438} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1679529672 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1679529670} + 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: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1679529673 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1679529670} + 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: 5f465680b9c699e4a8e573e246fa1e9e, 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 &1679529674 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1679529670} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1698321436 GameObject: m_ObjectHideFlags: 0 @@ -3786,7 +6054,7 @@ CapsuleCollider: m_ProvidesContacts: 0 m_Enabled: 1 serializedVersion: 2 - m_Radius: 4.4 + m_Radius: 4.6 m_Height: 24 m_Direction: 1 m_Center: {x: 0, y: 7.6, z: 0} @@ -3803,9 +6071,9 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 706755985} + - {fileID: 271893342} - {fileID: 1584967890} - m_Father: {fileID: 0} + m_Father: {fileID: 949216163} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1698321439 MonoBehaviour: @@ -3819,26 +6087,176 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a3c782d1f27ea224fa07abf16ac61117, type: 3} m_Name: m_EditorClassIdentifier: Assembly-CSharp::SpiralStaircase + _state: + PlayerInside: 0 + Turns: 0 + TotalAngle: 0 + Progression: 0 _references: RendererData: {fileID: 11400000, guid: f288ae1f4751b564a96ac7587541f7a2, type: 2} Stairs: {fileID: 1584967889} + Doors: + - Left: {fileID: 394176024} + Right: {fileID: 1367066788} + - Left: {fileID: 1040160891} + Right: {fileID: 351946557} + - Left: {fileID: 350873398} + Right: {fileID: 77967657} Inside: [] - Outside: - - {fileID: 706755984} + Outside: [] _settings: Offset: -12.25 StartAngle: 450 EndAngle: 720 - _turns: 0 - _totalAngle: 0 - _progression: 0 + _events: + OnInside: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 923492555} + m_TargetAssemblyTypeName: PortalManager, Assembly-CSharp + m_MethodName: SetInside + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + OnTopReached: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1168906487} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + - m_Target: {fileID: 1196872729} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 2 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 1698321439} + m_TargetAssemblyTypeName: SpiralStaircase, Assembly-CSharp + m_MethodName: OpendDoor + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 1698321439} + m_TargetAssemblyTypeName: SpiralStaircase, Assembly-CSharp + m_MethodName: CloseDoor + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 1 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 1698321439} + m_TargetAssemblyTypeName: SpiralStaircase, Assembly-CSharp + m_MethodName: CloseDoor + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 2 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + OnBottomReached: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1168906487} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 2 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 1196872729} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + - m_Target: {fileID: 1698321439} + m_TargetAssemblyTypeName: SpiralStaircase, Assembly-CSharp + m_MethodName: CloseDoor + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 1698321439} + m_TargetAssemblyTypeName: SpiralStaircase, Assembly-CSharp + m_MethodName: CloseDoor + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 1 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 1698321439} + m_TargetAssemblyTypeName: SpiralStaircase, Assembly-CSharp + m_MethodName: OpendDoor + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 2 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1001 &1720943979 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 949216163} m_Modifications: - target: {fileID: -9217816138267390132, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} propertyPath: m_StaticEditorFlags @@ -3926,15 +6344,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -5376,6 +7794,10 @@ PrefabInstance: propertyPath: m_Enabled value: 1 objectReference: {fileID: 0} + - target: {fileID: 1206811401518920672, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} + propertyPath: 'm_Materials.Array.data[0]' + value: + objectReference: {fileID: 2100000, guid: 2895c9a591826c4418e79a14d2681b0f, type: 2} - target: {fileID: 1216645881135053432, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} propertyPath: m_StaticEditorFlags value: 2147483647 @@ -5708,6 +8130,10 @@ PrefabInstance: propertyPath: m_Layer value: 22 objectReference: {fileID: 0} + - target: {fileID: 3527361244260598990, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3530884104720038080, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} propertyPath: m_StaticEditorFlags value: 2147483647 @@ -6022,7 +8448,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5610544602213077548, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} propertyPath: m_IsActive - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5610544602213077548, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} propertyPath: m_StaticEditorFlags @@ -6812,6 +9238,39 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: 2385551572177468643, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!1 &1727267007 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1727267008} + m_Layer: 0 + m_Name: Door_1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1727267008 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1727267007} + 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: 1040160891} + - {fileID: 351946557} + m_Father: {fileID: 271893342} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1770318231 GameObject: m_ObjectHideFlags: 0 @@ -7046,7 +9505,29 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: -8697944735082660400, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} ---- !u!1 &1854730463 +--- !u!64 &1871289640 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1720943986} + 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: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: -8697944735082660400, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} +--- !u!1 &1895333868 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -7054,38 +9535,61 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1854730464} - - component: {fileID: 1854730466} - - component: {fileID: 1854730465} - m_Layer: 20 - m_Name: mask_bottom + - component: {fileID: 1895333869} + - component: {fileID: 1895333872} + - component: {fileID: 1895333871} + - component: {fileID: 1895333870} + m_Layer: 0 + m_Name: Plane m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &1854730464 + m_IsActive: 1 +--- !u!4 &1895333869 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1854730463} + m_GameObject: {fileID: 1895333868} serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + 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_LocalScale: {x: 7.395679, y: 7.395679, z: 7.395679} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 706755985} + m_Father: {fileID: 525442567} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1854730465 +--- !u!64 &1895333870 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1895333868} + 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: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1895333871 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1854730463} + m_GameObject: {fileID: 1895333868} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -7104,7 +9608,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: c73964fb98d029348b2895de2ea696dc, type: 2} + - {fileID: 2100000, guid: 1d32d665cd932d34a92d1285b042ef0b, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -7128,36 +9632,106 @@ MeshRenderer: m_SortingOrder: 0 m_MaskInteraction: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1854730466 +--- !u!33 &1895333872 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1854730463} - m_Mesh: {fileID: -1691589190699648304, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} ---- !u!64 &1871289640 -MeshCollider: + m_GameObject: {fileID: 1895333868} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1954982144 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1720943986} - 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 + serializedVersion: 6 + m_Component: + - component: {fileID: 1954982145} + - component: {fileID: 1954982146} + m_Layer: 0 + m_Name: Mask_0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1954982145 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1954982144} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.3499999, z: -4.633} + m_LocalScale: {x: 2.2, y: 2.9, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2077858863} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1954982146 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1954982144} m_Enabled: 1 - serializedVersion: 5 - m_Convex: 0 - m_CookingOptions: 30 - m_Mesh: {fileID: -8697944735082660400, guid: 026d90e6b31bf0f47b6072ba92aef39a, type: 3} + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3b841c8d159a88e4a81dbf12ab26e346, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::PortalShader + _id: 0 + _oval: 0 +--- !u!1 &1982960622 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1982960623} + - component: {fileID: 1982960624} + m_Layer: 0 + m_Name: Mask_3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &1982960623 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1982960622} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 2.105, z: -0.761} + m_LocalScale: {x: 3.565107, y: 4.2312, z: 0.11493} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 588101098} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1982960624 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1982960622} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3b841c8d159a88e4a81dbf12ab26e346, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::PortalShader + _id: 2 + _oval: 0 --- !u!1 &2010439095 GameObject: m_ObjectHideFlags: 0 @@ -7278,7 +9852,6 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 58792973} - {fileID: 1403556200} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -7424,6 +9997,40 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2077858862 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2077858863} + m_Layer: 0 + m_Name: Door_2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2077858863 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2077858862} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0.5, z: -0, w: 0.8660254} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 350873398} + - {fileID: 77967657} + - {fileID: 1954982145} + m_Father: {fileID: 271893342} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2117369717 GameObject: m_ObjectHideFlags: 0 @@ -11481,10 +14088,10 @@ SceneRoots: - {fileID: 882795732} - {fileID: 685656712} - {fileID: 235456880} - - {fileID: 1625652159} - {fileID: 1380886451} - {fileID: 642044301} - - {fileID: 1720943979} - {fileID: 2011606366} - - {fileID: 1698321438} - - {fileID: 843467788} + - {fileID: 1107210254} + - {fileID: 923492554} + - {fileID: 949216163} + - {fileID: 506323320} diff --git a/Assets/_Content/Scripts/Dev/DebugTools/PortalAudioDebugger.cs b/Assets/_Content/Scripts/Dev/DebugTools/PortalAudioDebugger.cs deleted file mode 100644 index 89511ad5..00000000 --- a/Assets/_Content/Scripts/Dev/DebugTools/PortalAudioDebugger.cs +++ /dev/null @@ -1,54 +0,0 @@ -#if UNITY_EDITOR || DEVELOPMENT_BUILD -using UnityEngine; -using Unheimlich.Features.Portals; - -namespace Unheimlich.Dev -{ - public class PortalAudioDebugger : MonoBehaviour -{ - private Portal _portal; - - private void Awake() - { - _portal = GetComponent(); - } - - private void OnEnable() - { - if (_portal != null) - { - _portal.RoomLoaded += OnRoomLoadedDebug; - _portal.RoomUnloaded += OnRoomUnloadedDebug; - } - } - - private void OnDisable() - { - if (_portal != null) - { - _portal.RoomLoaded -= OnRoomLoadedDebug; - _portal.RoomUnloaded -= OnRoomUnloadedDebug; - } - } - - private void OnRoomLoadedDebug() - { - Debug.Log($"[PortalDebug] RoomLoaded event fired on {gameObject.name}"); - - if (_portal.LoadedRoomInstance != null) - { - AudioSource[] sources = _portal.LoadedRoomInstance.GetComponentsInChildren(); - Debug.Log($"[PortalDebug] Found {sources.Length} AudioSources in loaded room:"); - - foreach (var source in sources) - Debug.Log($" - {source.name} | Playing: {source.isPlaying} | Clip: {(source.clip != null ? source.clip.name : "NULL")}"); - } - } - - private void OnRoomUnloadedDebug() - { - Debug.Log($"[PortalDebug] RoomUnloaded event fired on {gameObject.name}"); - } -} -} -#endif diff --git a/Assets/_Content/Scripts/Dev/DebugTools/PortalAudioDebugger.cs.meta b/Assets/_Content/Scripts/Dev/DebugTools/PortalAudioDebugger.cs.meta deleted file mode 100644 index 18ee075f..00000000 --- a/Assets/_Content/Scripts/Dev/DebugTools/PortalAudioDebugger.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 897784c22112f5f48af4313022397d8e \ No newline at end of file diff --git a/Assets/_Content/Scripts/Features/Portals.meta b/Assets/_Content/Scripts/Features/Portal.meta similarity index 100% rename from Assets/_Content/Scripts/Features/Portals.meta rename to Assets/_Content/Scripts/Features/Portal.meta diff --git a/Assets/_Content/Scripts/Features/Portal/Portal.cs b/Assets/_Content/Scripts/Features/Portal/Portal.cs new file mode 100644 index 00000000..861a1978 --- /dev/null +++ b/Assets/_Content/Scripts/Features/Portal/Portal.cs @@ -0,0 +1,30 @@ +using UnityEngine; + +[ExecuteInEditMode, DefaultExecutionOrder(1)] +public class Portal : MonoBehaviour +{ + [SerializeField, Range(0, 2)] private int _id; + [SerializeField, Range(0, 1)] private float _oval; + + public int ID => _id; + public float Oval => _oval; + + private void OnDrawGizmos() + { + Gizmos.matrix = transform.localToWorldMatrix; + Gizmos.color = Color.cyan; + Gizmos.DrawWireCube(Vector3.zero, new Vector3(1, 1, 0)); + } + + void OnEnable() + { + if (PortalManager.Instance) + PortalManager.Instance.RegisterPortal(this); + } + + void OnDisable() + { + if (PortalManager.Instance) + PortalManager.Instance.UnregisterPortal(this); + } +} diff --git a/Assets/_Content/Scripts/Features/Portal/Portal.cs.meta b/Assets/_Content/Scripts/Features/Portal/Portal.cs.meta new file mode 100644 index 00000000..dc000927 --- /dev/null +++ b/Assets/_Content/Scripts/Features/Portal/Portal.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3b841c8d159a88e4a81dbf12ab26e346 \ No newline at end of file diff --git a/Assets/_Content/Scripts/Features/Portal/PortalManager.cs b/Assets/_Content/Scripts/Features/Portal/PortalManager.cs new file mode 100644 index 00000000..6e799067 --- /dev/null +++ b/Assets/_Content/Scripts/Features/Portal/PortalManager.cs @@ -0,0 +1,110 @@ +using OctoCore; +using UnityEngine; +using UnityEngine.SocialPlatforms; + +[ExecuteInEditMode, DefaultExecutionOrder(0)] +public class PortalManager : MonoBehaviour +{ + public static PortalManager Instance { get; private set; } + + [System.Serializable] + public class State + { + public bool PlayerInside; + public Portal[] Portals; + } + + [SerializeField, OctoReadOnly] private State _state; + + void OnEnable() + { + _state = new State(); + _state.Portals = new Portal[3]; + + if (!Instance) + Instance = this; + + ResetMasks(); + } + + void OnDisable() + { + if (Instance == this) + Instance = null; + + ResetMasks(); + } + + void Update() + { + UpdateMasks(); + } + + public void SetInside(bool inside) + { + _state.PlayerInside = inside; + + UpdateMasks(); + } + + public void RegisterPortal(Portal portal) + { + _state.Portals[portal.ID] = portal; + + ManageMask(portal, true); + } + + public void UnregisterPortal(Portal portal) + { + ManageMask(portal, false); + + _state.Portals[portal.ID] = null; + } + + public void ManageMask(Portal portal, bool active) + { + if (!portal) + return; + + if (_state.Portals[portal.ID] != portal) + { + RegisterPortal(portal); + return; + } + + Vector3 camPos = Camera.main ? Camera.main.transform.position : Vector3.zero; + + Matrix4x4 m = new Matrix4x4(); + m.SetRow(0, new Vector4(camPos.x, camPos.y, camPos.z, !active || _state.PlayerInside ? 0 : 1)); + m.SetRow(1, new Vector4(portal.transform.position.x, portal.transform.position.y, portal.transform.position.z, portal.Oval)); + m.SetRow(2, new Vector4(portal.transform.up.x, portal.transform.up.y, portal.transform.up.z, portal.transform.localScale.x)); + m.SetRow(3, new Vector4(portal.transform.forward.x, portal.transform.forward.y, portal.transform.forward.z, portal.transform.localScale.y)); + + SetMask(portal.ID, m); + } + + private void UpdateMasks() + { + for (int i = 0; i < _state.Portals.Length; i++) + ManageMask(_state.Portals[i], true); + } + + private void ResetMasks() + { + for (int i = 0; i < _state.Portals.Length; i++) + { + Matrix4x4 m = new Matrix4x4(); + m.SetRow(0, Vector4.zero); + m.SetRow(1, Vector4.zero); + m.SetRow(2, Vector4.zero); + m.SetRow(3, Vector4.zero); + + SetMask(i, m); + } + } + + private void SetMask(int id, Matrix4x4 m) + { + Shader.SetGlobalMatrix($"_Mask{id}", m); + } +} diff --git a/Assets/_Content/Scripts/Features/Portal/PortalManager.cs.meta b/Assets/_Content/Scripts/Features/Portal/PortalManager.cs.meta new file mode 100644 index 00000000..780d082a --- /dev/null +++ b/Assets/_Content/Scripts/Features/Portal/PortalManager.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 746134082760dc24e8ffdf666230032d \ No newline at end of file diff --git a/Assets/_Content/Scripts/Features/Portals/Runtime.meta b/Assets/_Content/Scripts/Features/Portals/Runtime.meta deleted file mode 100644 index 882d3b9b..00000000 --- a/Assets/_Content/Scripts/Features/Portals/Runtime.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a7af0836297e37f40b61bdecbb261265 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/_Content/Scripts/Features/Portals/Runtime/Portal.cs b/Assets/_Content/Scripts/Features/Portals/Runtime/Portal.cs deleted file mode 100644 index 07a4f01b..00000000 --- a/Assets/_Content/Scripts/Features/Portals/Runtime/Portal.cs +++ /dev/null @@ -1,733 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Rendering.Universal; -using Unheimlich.Features.Portals; -using Unheimlich.Core.Utils; - -namespace Unheimlich.Features.Portals -{ - /// - /// Core component of the seamless portal system. - /// Creates a real-time view through to a linked portal and handles object teleportation. - /// - /// How it works: - /// 1. Renders the view from the linked portal's perspective to a texture - /// 2. Displays that texture on this portal's screen mesh - /// 3. Tracks objects (PortalTravellers) that enter the portal - /// 4. Teleports them when they cross the portal plane - /// 5. Uses shader-based slicing to prevent visual artifacts during crossing - /// - [RequireComponent(typeof(BoxCollider))] - public class Portal : MonoBehaviour - { - /// Global list of all active portals in the scene - public static List AllPortals = new List(); - - [Header("Main Settings")] - [SerializeField] private string _portalId = ""; - [SerializeField] private Portal _linkedPortal; - [SerializeField] private MeshRenderer _screen; - [SerializeField] private int _recursionLimit = 3; - - [Header("Advanced Settings")] - [SerializeField] private float _nearClipOffset = 0.05f; - [SerializeField] private float _nearClipLimit = 0.2f; - [SerializeField] private float _transitionDistance = 0.5f; - [SerializeField] private float _loadRoomDistance = 30f; - - [Header("Room Loading")] - [SerializeField] private GameObject _roomPrefabToLoad; - [SerializeField] private Transform _roomSpawnPoint; - [SerializeField] private string _linkedPortalPathInRoom = "Portal"; - [SerializeField] private string _linkedPortalId = ""; - - private RenderTexture _viewTexture; - private Camera _portalCam; - private Camera _playerCam; - private List _trackedTravellers; - private MeshFilter _screenMeshFilter; - private GameObject _loadedRoomInstance; - private string _roomId; - private PortalDoor _door; - private int _lastRenderedFrame = -1; - private bool _playerIsTeleporting = false; - - public event Action RoomLoaded; - public event Action RoomUnloaded; - - public Portal LinkedPortal => _linkedPortal; - public GameObject LoadedRoomInstance => _loadedRoomInstance; - public bool IsDoorOpen => _door == null || _door.IsOpen; - - private void Awake() - { - _playerCam = Camera.main; - _portalCam = GetComponentInChildren(); - - // Create portal camera if one doesn't exist - if (_portalCam == null) - { - GameObject camObj = new GameObject(PortalConstants.PORTAL_CAMERA_NAME); - camObj.transform.SetParent(transform); - camObj.transform.localPosition = Vector3.zero; - camObj.transform.localRotation = Quaternion.identity; - _portalCam = camObj.AddComponent(); - } - - // Configure portal camera to match player camera settings - _portalCam.enabled = false; - _portalCam.depth = _playerCam.depth - 1; - _portalCam.clearFlags = _playerCam.clearFlags; - _portalCam.backgroundColor = _playerCam.backgroundColor; - _portalCam.farClipPlane = _playerCam.farClipPlane; - _portalCam.nearClipPlane = _playerCam.nearClipPlane; - _portalCam.fieldOfView = _playerCam.fieldOfView; - _portalCam.cullingMask = _playerCam.cullingMask; - _portalCam.allowHDR = _playerCam.allowHDR; - _portalCam.allowMSAA = _playerCam.allowMSAA; - _portalCam.useOcclusionCulling = _playerCam.useOcclusionCulling; - - // Configure URP camera data for shadows and better quality - var urpCamData = _portalCam.GetUniversalAdditionalCameraData(); - if (urpCamData != null) - { - // Copy main camera URP settings - var mainCamData = _playerCam.GetUniversalAdditionalCameraData(); - if (mainCamData != null) - { - urpCamData.renderType = CameraRenderType.Base; - urpCamData.renderShadows = mainCamData.renderShadows; - urpCamData.requiresDepthOption = mainCamData.requiresDepthOption; - urpCamData.requiresColorOption = mainCamData.requiresColorOption; - urpCamData.requiresDepthTexture = mainCamData.requiresDepthTexture; - urpCamData.requiresColorTexture = mainCamData.requiresColorTexture; - urpCamData.renderPostProcessing = false; - urpCamData.antialiasing = mainCamData.antialiasing; - urpCamData.antialiasingQuality = mainCamData.antialiasingQuality; - urpCamData.volumeLayerMask = 0; - } - else - { - // Fallback if main camera doesn't have URP data - urpCamData.renderType = CameraRenderType.Base; - urpCamData.renderShadows = true; - urpCamData.requiresDepthTexture = true; - urpCamData.renderPostProcessing = false; - urpCamData.volumeLayerMask = 0; - } - } - - _trackedTravellers = new List(); - _screenMeshFilter = _screen.GetComponent(); - _screen.material.SetInt(PortalConstants.SHADER_PROPERTY_DISPLAY_MASK, 1); - - _door = GetComponentInChildren(); - - if (_roomPrefabToLoad != null) - { - _roomId = $"{gameObject.name}_{_roomPrefabToLoad.name}"; - } - } - - private void OnEnable() - { - if (!AllPortals.Contains(this)) - AllPortals.Add(this); - } - - private void OnDisable() - { - if (AllPortals.Contains(this)) - AllPortals.Remove(this); - } - - - private void Start() - { - if (PortalRoomManager.Instance != null && _roomPrefabToLoad != null) - { - PortalRoomManager.Instance.RegisterPortal(this); - } - } - - private void OnDestroy() - { - if (PortalRoomManager.Instance != null && _roomPrefabToLoad != null) - { - PortalRoomManager.Instance.UnregisterPortal(this); - } - } - - private void LateUpdate() - { - TryFindLinkedPortal(); - HandleTravellers(); - } - - /// - /// Attempts to find and link to a portal in a dynamically loaded room. - /// Called each frame until a link is established. - /// - private void TryFindLinkedPortal() - { - if (_linkedPortal != null || PortalRoomManager.Instance == null || _roomPrefabToLoad == null) - return; - - GameObject loadedRoom = PortalRoomManager.Instance.GetLoadedRoom(_roomId); - if (loadedRoom != null) - { - _loadedRoomInstance = loadedRoom; - FindLinkedPortalInRoom(loadedRoom); - } - } - - /// - /// Searches for the linked portal within a loaded room. - /// First tries to find by portal ID, then falls back to path-based search. - /// - private void FindLinkedPortalInRoom(GameObject room) - { - Portal foundPortal = null; - - // Try to find portal by ID first - if (!string.IsNullOrEmpty(_linkedPortalId)) - { - Portal[] portalsInRoom = room.GetComponentsInChildren(); - foreach (Portal portal in portalsInRoom) - { - if (portal._portalId == _linkedPortalId) - { - foundPortal = portal; - break; - } - } - - if (foundPortal == null) - { - Debug.LogWarning($"[{name}] Could not find portal with ID '{_linkedPortalId}' in room '{room.name}'. Falling back to path search."); - } - } - - // Fallback to path-based search - if (foundPortal == null && !string.IsNullOrEmpty(_linkedPortalPathInRoom)) - { - Transform portalTransform = room.transform.Find(_linkedPortalPathInRoom); - if (portalTransform != null) - { - foundPortal = portalTransform.GetComponent(); - } - } - - // Establish bidirectional link - if (foundPortal != null) - { - _linkedPortal = foundPortal; - _linkedPortal.SetLinkedPortal(this); - - if (_viewTexture != null && _linkedPortal._screen != null) - { - _linkedPortal._screen.material.SetTexture(PortalConstants.SHADER_PROPERTY_MAIN_TEXTURE, _viewTexture); - } - } - else - { - Debug.LogError($"[{name}] Could not find any portal to link in room '{room.name}'!"); - } - } - - /// - /// Tracks all travellers in the portal and teleports them when they cross the portal plane. - /// - /// How crossing detection works: - /// 1. Calculate which side of the portal the traveller is on using dot product - /// 2. Compare with previous frame's side - /// 3. If side changed = traveller crossed the portal plane - /// 4. Transform traveller's position/rotation through portal transformation matrix - /// 5. Teleport to the linked portal - /// - private void HandleTravellers() - { - if (_linkedPortal == null) - { - return; - } - - for (int i = 0; i < _trackedTravellers.Count; i++) - { - PortalTraveller traveller = _trackedTravellers[i]; - Transform travellerT = traveller.transform; - - // Calculate transformation matrix: from this portal's space to linked portal's space - var m = _linkedPortal.transform.localToWorldMatrix * transform.worldToLocalMatrix * travellerT.localToWorldMatrix; - - // Determine which side of portal the traveller is on - Vector3 offsetFromPortal = travellerT.position - transform.position; - int portalSide = Math.Sign(Vector3.Dot(offsetFromPortal, transform.forward)); - int portalSideOld = Math.Sign(Vector3.Dot(traveller.PreviousOffsetFromPortal, transform.forward)); - - // If side changed, traveller has crossed the portal - if (portalSide != portalSideOld) - { - if (traveller.CompareTag("Player")) - { - _playerIsTeleporting = true; - _linkedPortal._playerIsTeleporting = true; - } - - // Hide both original and clone during teleport - traveller.SetGraphicsVisibility(false); - traveller.SetCloneVisibility(false); - - // Teleport with transformed position and rotation - traveller.Teleport(transform, _linkedPortal.transform, m.GetColumn(3), m.rotation); - - Physics.SyncTransforms(); - - // Show traveller at new location - traveller.SetGraphicsVisibility(true); - - // Transfer tracking to the linked portal - _linkedPortal.OnTravellerEnterPortal(traveller); - _trackedTravellers.RemoveAt(i); - i--; - } - else - { - // Update clone position to match transformed position - traveller.GraphicsClone.transform.SetPositionAndRotation(m.GetColumn(3), m.rotation); - traveller.PreviousOffsetFromPortal = offsetFromPortal; - } - } - } - - /// - /// Called before rendering. Updates shader slicing parameters for all tracked travellers. - /// - public void PrePortalRender() - { - if (_linkedPortal == null) - return; - - foreach (var traveller in _trackedTravellers) - { - UpdateSliceParams(traveller); - } - } - - /// - /// Main portal rendering function. - /// Creates a virtual camera at the linked portal's position and renders the view to a texture. - /// Supports recursive rendering (portal looking at portal looking at portal...). - /// - public void Render() - { - // Prevent rendering same portal multiple times per frame - if (_lastRenderedFrame == Time.frameCount) - return; - - _lastRenderedFrame = Time.frameCount; - - // Special case: player is teleporting, render without screen - if (_playerIsTeleporting) - { - _screen.enabled = false; - _portalCam.Render(); - _screen.enabled = true; - _playerIsTeleporting = false; - return; - } - - if (_linkedPortal == null) - { - if (_roomPrefabToLoad != null) - { - // Silently skip rendering while waiting for room to load - return; - } - } - - if (_linkedPortal == null || _linkedPortal._screen == null) - { - if (_roomPrefabToLoad != null) - { - // Silently skip rendering while waiting for linked portal - return; - } - Debug.LogError($"[{name}] Cannot render: linked portal is null or has NULL _screen!"); - return; - } - - float distanceToCamera = Vector3.Distance(_playerCam.transform.position, transform.position); - - Vector3 offsetFromPortal = _playerCam.transform.position - transform.position; - float dotToPortal = Vector3.Dot(offsetFromPortal.normalized, transform.forward); - - // Don't render screen when player is crossing through - bool playerCrossingPortal = distanceToCamera < 0.5f && dotToPortal > 0.5f; - - if (playerCrossingPortal) - { - _screen.enabled = false; - return; - } - - // Don't render during transition to avoid flickering - if (distanceToCamera < _transitionDistance && dotToPortal > 0.5f) - { - return; - } - - // Frustum culling: don't render if portal screen not visible - if (!PortalCameraUtility.VisibleFromCamera(_linkedPortal._screen, _playerCam)) - { - return; - } - - CreateViewTexture(); - - if (!_viewTexture.IsCreated()) - { - _viewTexture.Create(); - } - - // Calculate recursive portal positions (for portal-in-portal effect) - var localToWorldMatrix = _playerCam.transform.localToWorldMatrix; - var renderPositions = new Vector3[_recursionLimit]; - var renderRotations = new Quaternion[_recursionLimit]; - - int startIndex = 0; - _portalCam.projectionMatrix = _playerCam.projectionMatrix; - - // Calculate transform matrices for each recursion level - for (int i = 0; i < _recursionLimit; i++) - { - if (i > 0) - { - // Stop recursion if screens don't overlap - if (!PortalCameraUtility.BoundsOverlap(_screenMeshFilter, _linkedPortal._screenMeshFilter, _portalCam)) - break; - } - - // Transform camera through portal pair - localToWorldMatrix = transform.localToWorldMatrix * _linkedPortal.transform.worldToLocalMatrix * localToWorldMatrix; - int renderOrderIndex = _recursionLimit - i - 1; - renderPositions[renderOrderIndex] = localToWorldMatrix.GetColumn(3); - renderRotations[renderOrderIndex] = localToWorldMatrix.rotation; - - _portalCam.transform.SetPositionAndRotation(renderPositions[renderOrderIndex], renderRotations[renderOrderIndex]); - startIndex = renderOrderIndex; - } - - _screen.enabled = false; // Hide current portal screen so camera can see through - - // Render from each recursion depth - for (int i = startIndex; i < _recursionLimit; i++) - { - _portalCam.transform.SetPositionAndRotation(renderPositions[i], renderRotations[i]); - SetNearClipPlane(); - HandleClipping(); - - _linkedPortal._screen.enabled = false; - _portalCam.Render(); - _linkedPortal._screen.enabled = true; - } - - _screen.enabled = true; - - _linkedPortal._screen.material.mainTexture = _viewTexture; - } - - /// - /// Handles shader-based clipping for travellers during rendering. - /// Determines which parts of original and clone should be visible based on portal positions. - /// Prevents visual artifacts when objects cross portal boundaries. - /// - private void HandleClipping() - { - const float hideDst = -1000; - const float showDst = 1000; - float screenThickness = _linkedPortal.ProtectScreenFromClipping(_portalCam.transform.position); - - // Handle clipping for this portal's travellers - foreach (var traveller in _trackedTravellers) - { - // Original: hide if on same side as portal camera - if (SameSideOfPortal(traveller.transform.position, PortalCamPos)) - traveller.SetSliceOffsetDst(hideDst, false); - else - traveller.SetSliceOffsetDst(showDst, false); - - // Clone: adjust based on linked portal position - int cloneSideOfLinkedPortal = -SideOfPortal(traveller.transform.position); - bool camSameSideAsClone = _linkedPortal.SideOfPortal(PortalCamPos) == cloneSideOfLinkedPortal; - if (camSameSideAsClone) - traveller.SetSliceOffsetDst(screenThickness, true); - else - traveller.SetSliceOffsetDst(-screenThickness, true); - } - - // Handle clipping for linked portal's travellers - foreach (var linkedTraveller in _linkedPortal._trackedTravellers) - { - var travellerPos = linkedTraveller.GraphicsObject.transform.position; - bool cloneOnSameSideAsCam = _linkedPortal.SideOfPortal(travellerPos) != SideOfPortal(PortalCamPos); - - if (cloneOnSameSideAsCam) - linkedTraveller.SetSliceOffsetDst(hideDst, true); - else - linkedTraveller.SetSliceOffsetDst(showDst, true); - - bool camSameSideAsTraveller = _linkedPortal.SameSideOfPortal(linkedTraveller.transform.position, PortalCamPos); - if (camSameSideAsTraveller) - linkedTraveller.SetSliceOffsetDst(screenThickness, false); - else - linkedTraveller.SetSliceOffsetDst(-screenThickness, false); - } - } - - /// - /// Called after all portals have rendered. Resets clipping parameters. - /// - public void PostPortalRender() - { - foreach (var traveller in _trackedTravellers) - UpdateSliceParams(traveller); - - ProtectScreenFromClipping(_portalCam.transform.position); - } - - /// - /// Creates or recreates the render texture used to display the portal view. - /// Automatically adjusts to screen resolution changes. - /// - private void CreateViewTexture() - { - if (_viewTexture == null || _viewTexture.width != Screen.width || _viewTexture.height != Screen.height) - { - if (_viewTexture != null) - _viewTexture.Release(); - - _viewTexture = new RenderTexture(Screen.width, Screen.height, PortalConstants.RENDER_TEXTURE_DEPTH, PortalConstants.RENDER_TEXTURE_FORMAT); - _viewTexture.filterMode = FilterMode.Bilinear; - _viewTexture.antiAliasing = 1; - _viewTexture.Create(); - - _portalCam.targetTexture = _viewTexture; - _linkedPortal._screen.material.mainTexture = _viewTexture; - _linkedPortal._screen.material.SetInt(PortalConstants.SHADER_PROPERTY_DISPLAY_MASK, 1); - } - } - - /// - /// Adjusts the portal screen's thickness to prevent camera near-clip plane from cutting through it. - /// The thickness is calculated based on the camera's near clip distance and FOV. - /// Returns the calculated thickness for use in clipping calculations. - /// - private float ProtectScreenFromClipping(Vector3 viewPoint) - { - float halfHeight = _playerCam.nearClipPlane * Mathf.Tan(_playerCam.fieldOfView * 0.5f * Mathf.Deg2Rad); - float halfWidth = halfHeight * _playerCam.aspect; - float dstToNearClipPlaneCorner = new Vector3(halfWidth, halfHeight, _playerCam.nearClipPlane).magnitude; - float screenThickness = dstToNearClipPlaneCorner; - - Transform screenT = _screen.transform; - bool camFacingSameDirAsPortal = Vector3.Dot(transform.forward, transform.position - viewPoint) > 0; - screenT.localScale = new Vector3(screenT.localScale.x, screenT.localScale.y, screenThickness); - return screenThickness; - } - - /// - /// Updates shader parameters for slicing a traveller's graphics at the portal plane. - /// Sets the slice position, normal, and offset for both original and clone materials. - /// This creates the effect of objects being "cut" by the portal surface. - /// - private void UpdateSliceParams(PortalTraveller traveller) - { - int side = SideOfPortal(traveller.transform.position); - Vector3 sliceNormal = transform.forward * -side; - Vector3 cloneSliceNormal = _linkedPortal.transform.forward * side; - - Vector3 slicePos = transform.position; - Vector3 cloneSlicePos = _linkedPortal.transform.position; - - float sliceOffsetDst = 0; - float cloneSliceOffsetDst = 0; - float screenThickness = _screen.transform.localScale.z; - - // Adjust slicing based on player and traveller relative positions - bool playerSameSideAsTraveller = SameSideOfPortal(_playerCam.transform.position, traveller.transform.position); - if (!playerSameSideAsTraveller) - sliceOffsetDst = -screenThickness; - - bool playerSameSideAsCloneAppearing = side != _linkedPortal.SideOfPortal(_playerCam.transform.position); - if (!playerSameSideAsCloneAppearing) - cloneSliceOffsetDst = -screenThickness; - - // Apply slicing parameters to all materials - for (int i = 0; i < traveller.OriginalMaterials.Length; i++) - { - traveller.OriginalMaterials[i].SetVector(PortalConstants.SHADER_PROPERTY_SLICE_CENTER, slicePos); - traveller.OriginalMaterials[i].SetVector(PortalConstants.SHADER_PROPERTY_SLICE_NORMAL, sliceNormal); - traveller.OriginalMaterials[i].SetFloat(PortalConstants.SHADER_PROPERTY_SLICE_OFFSET, sliceOffsetDst); - - traveller.CloneMaterials[i].SetVector(PortalConstants.SHADER_PROPERTY_SLICE_CENTER, cloneSlicePos); - traveller.CloneMaterials[i].SetVector(PortalConstants.SHADER_PROPERTY_SLICE_NORMAL, cloneSliceNormal); - traveller.CloneMaterials[i].SetFloat(PortalConstants.SHADER_PROPERTY_SLICE_OFFSET, cloneSliceOffsetDst); - } - } - - /// - /// Sets up an oblique projection matrix to use the portal surface as the near clip plane. - /// This prevents objects between the camera and portal from being rendered. - /// Uses camera-space calculations to create a custom projection matrix. - /// - private void SetNearClipPlane() - { - Transform clipPlane = transform; - int dot = Math.Sign(Vector3.Dot(clipPlane.forward, transform.position - _portalCam.transform.position)); - - // Transform portal plane to camera space - Vector3 camSpacePos = _portalCam.worldToCameraMatrix.MultiplyPoint(clipPlane.position); - Vector3 camSpaceNormal = _portalCam.worldToCameraMatrix.MultiplyVector(clipPlane.forward) * dot; - float camSpaceDst = -Vector3.Dot(camSpacePos, camSpaceNormal) + _nearClipOffset; - - // Only use oblique projection if far enough from portal - if (Mathf.Abs(camSpaceDst) > _nearClipLimit) - { - Vector4 clipPlaneCameraSpace = new Vector4(camSpaceNormal.x, camSpaceNormal.y, camSpaceNormal.z, camSpaceDst); - _portalCam.projectionMatrix = _playerCam.CalculateObliqueMatrix(clipPlaneCameraSpace); - } - else - _portalCam.projectionMatrix = _playerCam.projectionMatrix; - } - - /// - /// Called when a traveller enters this portal's trigger zone. - /// Initializes tracking and creates the visual clone. - /// - private void OnTravellerEnterPortal(PortalTraveller traveller) - { - if (!_trackedTravellers.Contains(traveller)) - { - traveller.EnterPortalThreshold(); - traveller.PreviousOffsetFromPortal = traveller.transform.position - transform.position; - _trackedTravellers.Add(traveller); - } - } - - /// - /// Unity physics callback when object enters portal's trigger collider. - /// - private void OnTriggerEnter(Collider other) - { - var traveller = other.GetComponent(); - if (traveller) - OnTravellerEnterPortal(traveller); - } - - /// - /// Unity physics callback when object exits portal's trigger collider. - /// Cleans up the clone if traveller exits without teleporting. - /// - private void OnTriggerExit(Collider other) - { - var traveller = other.GetComponent(); - if (traveller && _trackedTravellers.Contains(traveller)) - { - traveller.ExitPortalThreshold(); - _trackedTravellers.Remove(traveller); - } - } - - public void SetLinkedPortal(Portal portal) - { - _linkedPortal = portal; - } - - public GameObject GetRoomPrefab() => _roomPrefabToLoad; - public string GetRoomId() => _roomId; - public string GetLinkedPortalPath() => _linkedPortalPathInRoom; - - /// - /// Returns the world position where the room should be spawned. - /// Uses room spawn point if set, otherwise calculates based on portal position. - /// - public Vector3 GetRoomSpawnPosition() - { - if (_roomSpawnPoint != null) - return _roomSpawnPoint.position; - return transform.position + (transform.up + transform.right).normalized * _loadRoomDistance; - } - - /// - /// Returns the rotation for spawning the room. - /// - public Quaternion GetRoomSpawnRotation() - { - if (_roomSpawnPoint != null) - return _roomSpawnPoint.rotation; - return transform.rotation; - } - - /// - /// Called by PortalRoomManager when the associated room is loaded. - /// - public void OnRoomLoaded(GameObject room) - { - _loadedRoomInstance = room; - RoomLoaded?.Invoke(); - } - - /// - /// Called by PortalRoomManager when the associated room is unloaded. - /// Clears the linked portal reference. - /// - public void OnRoomUnloaded() - { - RoomUnloaded?.Invoke(); - _loadedRoomInstance = null; - if (_roomPrefabToLoad != null) - _linkedPortal = null; - } - - /// - /// Determines which side of the portal a position is on. - /// Returns +1 if in front (same direction as portal forward), -1 if behind. - /// Uses dot product to compare position relative to portal plane. - /// - public int SideOfPortal(Vector3 pos) - { - return Math.Sign(Vector3.Dot(pos - transform.position, transform.forward)); - } - - /// - /// Checks if two positions are on the same side of the portal. - /// - public bool SameSideOfPortal(Vector3 posA, Vector3 posB) - { - return SideOfPortal(posA) == SideOfPortal(posB); - } - - public Portal GetLinkedPortal() => _linkedPortal; - - public string GetPortalId() => _portalId; - - public string GetLinkedPortalId() => _linkedPortalId; - - public PortalDoor GetDoor() => _door; - - public float GetRoomLoadDistance() => _loadRoomDistance; - - private Vector3 PortalCamPos => _portalCam.transform.position; - - /// - /// Unity editor callback to maintain bidirectional portal links in the inspector. - /// - private void OnValidate() - { - if (_linkedPortal != null) - _linkedPortal._linkedPortal = this; - } - } -} diff --git a/Assets/_Content/Scripts/Features/Portals/Runtime/Portal.cs.meta b/Assets/_Content/Scripts/Features/Portals/Runtime/Portal.cs.meta deleted file mode 100644 index e7edfd23..00000000 --- a/Assets/_Content/Scripts/Features/Portals/Runtime/Portal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 5bee016a7303e2c458585f5cc66817e2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 200 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalAudioProxy.cs b/Assets/_Content/Scripts/Features/Portals/Runtime/PortalAudioProxy.cs deleted file mode 100644 index e9de916e..00000000 --- a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalAudioProxy.cs +++ /dev/null @@ -1,307 +0,0 @@ -using UnityEngine; -using System.Collections.Generic; -using Unheimlich.Features.Portals; -using Unheimlich.Core.Utils; -using Unheimlich.Dev; - -namespace Unheimlich.Features.Portals -{ - /// - /// Creates virtual audio proxies for sounds coming from the other side of a portal. - /// When a portal links to a room, sounds from that room are projected through the portal - /// so the player hears them spatially from the portal's location. This creates seamless - /// audio transitions when walking through portals. - /// - public class PortalAudioProxy : MonoBehaviour -{ - [Header("Settings")] - [SerializeField] private float _maxDistance = 20f; - [SerializeField] private float _fadeStartDistance = 15f; - [SerializeField] private float _transitionDistance = 2f; - [SerializeField] private bool _useLowPassFilter = true; - [SerializeField] private float _lowPassCutoff = 5000f; - [SerializeField] private float _timeSyncThreshold = 0.1f; - [SerializeField] private float _minSpread = 60f; - [SerializeField] private float _maxSpread = 180f; - // [SerializeField] private float _volumeRolloffPower = 2f; - - [Header("Debug")] - [SerializeField] private List _remoteSources = new List(); - - private Portal _portal; - private Dictionary _proxyMapping = new Dictionary(); - private Dictionary _filterMapping = new Dictionary(); - private Camera _playerCamera; - - private GameObject _lastLoadedRoomInstance; - private bool _needsRefresh; - - private void Awake() - { - _portal = GetComponent(); - _playerCamera = Camera.main; - } - - private void OnEnable() - { - if (_portal != null) - { - _portal.RoomLoaded += OnRoomLoaded; - _portal.RoomUnloaded += OnRoomUnloaded; - } - } - - private void OnDisable() - { - if (_portal != null) - { - _portal.RoomLoaded -= OnRoomLoaded; - _portal.RoomUnloaded -= OnRoomUnloaded; - } - } - - private void OnRoomLoaded() - { - _needsRefresh = true; - } - - private void OnRoomUnloaded() - { - _needsRefresh = true; - } - - /// - /// Main update loop: refreshes audio sources when the room changes, - /// then updates all proxy positions and volumes each frame. - /// - private void Update() - { - if (_portal == null || _portal.LinkedPortal == null) - return; - - GameObject currentLoadedRoom = _portal.LoadedRoomInstance; - - if (currentLoadedRoom != _lastLoadedRoomInstance) - { - _lastLoadedRoomInstance = currentLoadedRoom; - _needsRefresh = true; - } - - if (_needsRefresh) - { - RefreshRemoteSources(); - _needsRefresh = false; - } - - UpdateProxies(); - } - - /// - /// Scans the loaded room for all AudioSource components and caches them. - /// Called whenever a new room is loaded through the portal. - /// - private void RefreshRemoteSources() - { - GameObject linkedRoom = _portal.LoadedRoomInstance; - if (linkedRoom == null) - { - _remoteSources.Clear(); - return; - } - - AudioSource[] sources = linkedRoom.GetComponentsInChildren(); - - _remoteSources.Clear(); - _remoteSources.AddRange(sources); - } - - /// - /// Updates all audio proxies each frame: - /// - Syncs playback state with remote sources - /// - Positions proxies at the portal location - /// - Adjusts volume based on distance and player orientation - /// - Applies low-pass filtering for sounds through the portal - /// This creates the illusion that sounds are coming from the portal opening. - /// - private void UpdateProxies() - { - Camera playerCam = _playerCamera; - if (playerCam == null) - return; - - Portal linkedPortal = _portal.LinkedPortal; - if (linkedPortal == null) - return; - - Vector3 playerPos = playerCam.transform.position; - Vector3 portalAPos = transform.position; - - float distPlayerToPortalA = Vector3.Distance(playerPos, portalAPos); - - Vector3 offsetFromPortalA = playerPos - portalAPos; - float dotToPortalA = Vector3.Dot(offsetFromPortalA.normalized, transform.forward); - bool playerFacingPortal = dotToPortalA > 0; - - float transitionBlend = 0f; - if (playerFacingPortal && distPlayerToPortalA < _transitionDistance) - { - transitionBlend = 1f - (distPlayerToPortalA / _transitionDistance); - } - - List toRemove = new List(); - - foreach (var remoteSource in _remoteSources) - { - if (remoteSource == null) - { - toRemove.Add(remoteSource); - continue; - } - - if (!remoteSource.isPlaying) - { - if (_proxyMapping.ContainsKey(remoteSource)) - { - AudioSource proxy = _proxyMapping[remoteSource]; - if (proxy != null && proxy.isPlaying) - proxy.Stop(); - } - continue; - } - - AudioSource localProxy = GetOrCreateProxy(remoteSource); - - if (localProxy.clip != remoteSource.clip) - { - localProxy.clip = remoteSource.clip; - localProxy.loop = remoteSource.loop; - localProxy.time = remoteSource.time; - localProxy.Play(); - } - else if (!localProxy.isPlaying) - { - localProxy.time = remoteSource.time; - localProxy.Play(); - } - else - { - float timeDifference = Mathf.Abs(localProxy.time - remoteSource.time); - if (timeDifference > _timeSyncThreshold) - localProxy.time = remoteSource.time; - } - - localProxy.pitch = remoteSource.pitch; - - if (_useLowPassFilter && _filterMapping.ContainsKey(remoteSource)) - { - AudioLowPassFilter filter = _filterMapping[remoteSource]; - if (filter != null) - filter.enabled = !_portal.IsDoorOpen; - } - - Vector3 virtualPlayerPos = linkedPortal.transform.TransformPoint(transform.InverseTransformPoint(playerPos)); - - Vector3 proxyWorldPos = transform.TransformPoint(linkedPortal.transform.InverseTransformPoint(remoteSource.transform.position)); - localProxy.transform.position = proxyWorldPos; - - float baseVolume = remoteSource.volume; - AudioSourceDemo demo = remoteSource.GetComponent(); - if (demo != null) - baseVolume = demo.OriginalVolume; - - localProxy.volume = baseVolume * (1f - transitionBlend); - - if (demo != null) - { - float sourceFade = demo.GetDistanceFadeMultiplier(virtualPlayerPos); - localProxy.volume *= sourceFade; - } - - float distanceToPortal = Vector3.Distance(playerPos, portalAPos); - if (distanceToPortal > _fadeStartDistance) - { - float fadeRange = _maxDistance - _fadeStartDistance; - float fadeAmount = (distanceToPortal - _fadeStartDistance) / fadeRange; - fadeAmount = Mathf.Clamp01(fadeAmount); - localProxy.volume *= (1f - fadeAmount); - } - - if (localProxy.volume <= PortalConstants.MIN_VOLUME_THRESHOLD && localProxy.isPlaying) - { - localProxy.Stop(); - continue; - } - - localProxy.spread = Mathf.Lerp(_minSpread, _maxSpread, transitionBlend); - } - - foreach (var source in toRemove) - { - if (_proxyMapping.ContainsKey(source)) - { - AudioSource proxy = _proxyMapping[source]; - if (proxy != null) - Destroy(proxy.gameObject); - - _proxyMapping.Remove(source); - } - - if (_filterMapping.ContainsKey(source)) - _filterMapping.Remove(source); - - _remoteSources.Remove(source); - } - } - - - private AudioSource GetOrCreateProxy(AudioSource remoteSource) - { - if (_proxyMapping.ContainsKey(remoteSource) && _proxyMapping[remoteSource] != null) - return _proxyMapping[remoteSource]; - - GameObject proxyObj = new GameObject($"AudioProxy_{remoteSource.name}"); - proxyObj.transform.SetParent(transform); - proxyObj.transform.localPosition = Vector3.zero; - - AudioSource proxy = proxyObj.AddComponent(); - proxy.spatialBlend = 1f; - proxy.spatialize = true; - proxy.spatializePostEffects = true; - proxy.reverbZoneMix = 1f; - proxy.spread = 60f; - proxy.rolloffMode = remoteSource.rolloffMode; - proxy.minDistance = remoteSource.minDistance; - proxy.maxDistance = remoteSource.maxDistance; - proxy.playOnAwake = false; - - if (_useLowPassFilter) - { - AudioLowPassFilter filter = proxyObj.AddComponent(); - filter.cutoffFrequency = _lowPassCutoff; - filter.enabled = false; - _filterMapping[remoteSource] = filter; - } - - _proxyMapping[remoteSource] = proxy; - - return proxy; - } - - private void OnDestroy() - { - foreach (var kvp in _proxyMapping) - { - if (kvp.Value != null) - Destroy(kvp.Value.gameObject); - } - _proxyMapping.Clear(); - _filterMapping.Clear(); - } - - private void OnDrawGizmosSelected() - { - Gizmos.color = Color.cyan; - Gizmos.DrawWireSphere(transform.position, _maxDistance); - } -} -} diff --git a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalAudioProxy.cs.meta b/Assets/_Content/Scripts/Features/Portals/Runtime/PortalAudioProxy.cs.meta deleted file mode 100644 index 837394c0..00000000 --- a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalAudioProxy.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 1ef7477556cb1fa45ab6cf4a9422c405 \ No newline at end of file diff --git a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalDoor.cs b/Assets/_Content/Scripts/Features/Portals/Runtime/PortalDoor.cs deleted file mode 100644 index c05102a2..00000000 --- a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalDoor.cs +++ /dev/null @@ -1,45 +0,0 @@ -using UnityEngine; -using Unheimlich.World.Environment; - -namespace Unheimlich.Features.Portals -{ - /// - /// A door that is synchronized between linked portals. - /// When opened/closed, it automatically syncs the state with the door on the other side. - /// - public class PortalDoor : DoorInteractable - { - private Portal _parentPortal; - - protected override void Start() - { - base.Start(); - _parentPortal = GetComponentInParent(); - } - - /// - /// Handles interaction with the door. - /// Toggles both this door and the linked portal's door simultaneously. - /// - public override void Interact() - { - SyncToggle(); - } - - /// - /// Toggles this door and synchronizes the state with the linked portal's door. - /// Ensures both doors open/close together for a consistent experience. - /// - private void SyncToggle() - { - ToggleDoor(); - - if (_parentPortal != null && _parentPortal.GetLinkedPortal() != null) - { - PortalDoor linkedDoor = _parentPortal.GetLinkedPortal().GetDoor(); - if (linkedDoor != null) - linkedDoor.ToggleDoor(); - } - } - } -} diff --git a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalDoor.cs.meta b/Assets/_Content/Scripts/Features/Portals/Runtime/PortalDoor.cs.meta deleted file mode 100644 index ec5db975..00000000 --- a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalDoor.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: f96b3c121a38b8e4784628da571e6c5b \ No newline at end of file diff --git a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalMainCamera.cs b/Assets/_Content/Scripts/Features/Portals/Runtime/PortalMainCamera.cs deleted file mode 100644 index 76d4cd08..00000000 --- a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalMainCamera.cs +++ /dev/null @@ -1,67 +0,0 @@ -using UnityEngine; -using UnityEngine.Rendering; - -namespace Unheimlich.Features.Portals -{ - /// - /// Main orchestrator for the portal rendering system. - /// Attach this to the main camera to enable seamless portal rendering. - /// Manages the render pipeline for all active portals in the scene. - /// - /// URP-compatible version using RenderPipelineManager callbacks. - /// - public class PortalMainCamera : MonoBehaviour - { - private Camera _mainCamera; - - private void Awake() - { - _mainCamera = GetComponent(); - } - - private void OnEnable() - { - RenderPipelineManager.beginCameraRendering += OnBeginCameraRendering; - } - - private void OnDisable() - { - RenderPipelineManager.beginCameraRendering -= OnBeginCameraRendering; - } - - /// - /// Called before each camera renders in URP pipeline. - /// This is where we inject the portal rendering logic before the main camera renders. - /// - private void OnBeginCameraRendering(ScriptableRenderContext context, Camera camera) - { - // Only render portals for the main camera, not for portal cameras themselves - if (camera != _mainCamera) - return; - - // Phase 1: Prepare all portals for rendering (update shader clipping parameters) - for (int i = 0; i < Portal.AllPortals.Count; i++) - { - var p = Portal.AllPortals[i]; - if (p != null && p.isActiveAndEnabled) - p.PrePortalRender(); - } - - // Phase 2: Render all portals (create the view through each portal) - for (int i = 0; i < Portal.AllPortals.Count; i++) - { - var p = Portal.AllPortals[i]; - if (p != null && p.isActiveAndEnabled) - p.Render(); - } - - // Phase 3: Clean up after portal rendering - for (int i = 0; i < Portal.AllPortals.Count; i++) - { - var p = Portal.AllPortals[i]; - if (p != null && p.isActiveAndEnabled) - p.PostPortalRender(); - } - } - } -} \ No newline at end of file diff --git a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalMainCamera.cs.meta b/Assets/_Content/Scripts/Features/Portals/Runtime/PortalMainCamera.cs.meta deleted file mode 100644 index 5b01a3c4..00000000 --- a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalMainCamera.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 98eb193612a097646bb0d333bb4aae51 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 300 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalRoomManager.cs b/Assets/_Content/Scripts/Features/Portals/Runtime/PortalRoomManager.cs deleted file mode 100644 index 2f42982e..00000000 --- a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalRoomManager.cs +++ /dev/null @@ -1,288 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; -using Unheimlich.Core; -using Unheimlich.Features.Portals; - -namespace Unheimlich.Features.Portals -{ - /// - /// Manages dynamic loading and unloading of rooms connected by portals. - /// Monitors player distance to portals and loads/unloads room instances accordingly. - /// Supports room pooling (keeping inactive rooms in memory) and distance-based activation. - /// - public class PortalRoomManager : Singleton - { - - [Header("Settings")] - [SerializeField] private float _loadDistance = 15f; - [Tooltip("Distance at which a loaded room gets deactivated (must be > load distance to avoid flip-flop)")] - [SerializeField] private float _deactivateDistance = 50f; - [Tooltip("Distance at which a deactivated room gets reactivated (should be < deactivate distance)")] - [SerializeField] private float _reactivateDistance = 30f; - [SerializeField] private bool _keepRoomsInMemory = true; - - [Header("Distance Calculation")] - [Tooltip("If true, calculates distance from player to actual room position (portal + loadRoomDistance)")] - [SerializeField] private bool _useRealRoomDistance = true; - - private Transform _player; - private Dictionary _loadedRooms = new Dictionary(); - private List _registeredPortals = new List(); - private GameObject _currentPlayerRoom = null; - - /// - /// Represents a room instance that has been loaded through a portal. - /// Caches room bounds and colliders for efficient distance/containment calculations. - /// - private class LoadedRoom - { - public GameObject RoomInstance; - public string RoomId; - public Vector3 LoadPosition; - public Portal SourcePortal; - public Bounds CachedBounds; - public bool BoundsCalculated = false; - public Collider[] CachedColliders; - } - - private void Start() - { - _player = GameObject.FindGameObjectWithTag("Player")?.transform; - if (_player == null) - Debug.LogWarning("Player not found! Make sure your player has the 'Player' tag."); - } - - private void Update() - { - if (_player == null) - return; - - CheckPortalsForLoading(); - CheckRoomsForUnloading(); - } - - public void RegisterPortal(Portal portal) - { - if (!_registeredPortals.Contains(portal)) - _registeredPortals.Add(portal); - } - - public void UnregisterPortal(Portal portal) - { - if (_registeredPortals.Contains(portal)) - _registeredPortals.Remove(portal); - } - - public GameObject GetLoadedRoom(string roomId) - { - if (_loadedRooms.TryGetValue(roomId, out LoadedRoom loadedRoom)) - return loadedRoom.RoomInstance; - - return null; - } - - /// - /// Checks all registered portals and loads rooms for portals within range. - /// Optionally accounts for the portal's configured room spawn distance. - /// - private void CheckPortalsForLoading() - { - foreach (Portal portal in _registeredPortals) - { - float distanceToPortal = Vector3.Distance(_player.position, portal.transform.position); - float effectiveLoadDistance = _loadDistance; - - if (_useRealRoomDistance) - effectiveLoadDistance += portal.GetRoomLoadDistance(); - - if (distanceToPortal <= effectiveLoadDistance) - LoadRoom(portal); - } - } - - /// - /// Checks all loaded rooms and determines if they should be deactivated, reactivated, or unloaded - /// based on distance thresholds. Prevents unloading the room the player is currently inside. - /// - private void CheckRoomsForUnloading() - { - List roomsToUnload = new List(); - - UpdateCurrentPlayerRoom(); - - foreach (var kvp in _loadedRooms) - { - LoadedRoom loadedRoom = kvp.Value; - if (loadedRoom.RoomInstance == null) - { - roomsToUnload.Add(kvp.Key); - continue; - } - - if (loadedRoom.RoomInstance == _currentPlayerRoom) - continue; - - float distanceToPortal = GetDistanceToRoom(loadedRoom); - float effectiveDeactivateDistance = _deactivateDistance; - float effectiveReactivateDistance = _reactivateDistance; - - if (_useRealRoomDistance) - { - float roomOffset = loadedRoom.SourcePortal.GetRoomLoadDistance(); - effectiveDeactivateDistance += roomOffset; - effectiveReactivateDistance += roomOffset; - } - - if (distanceToPortal > effectiveDeactivateDistance) - { - if (loadedRoom.RoomInstance.activeSelf) - roomsToUnload.Add(kvp.Key); - } - else if (distanceToPortal <= effectiveReactivateDistance) - { - if (!loadedRoom.RoomInstance.activeSelf) - loadedRoom.RoomInstance.SetActive(true); - } - } - - foreach (string roomId in roomsToUnload) - { - UnloadRoom(roomId); - } - } - - /// - /// Calculates the distance from the player to a loaded room. - /// Lazily calculates and caches room bounds on first call for performance. - /// - private float GetDistanceToRoom(LoadedRoom loadedRoom) - { - if (!loadedRoom.BoundsCalculated) - { - loadedRoom.CachedBounds = CalculateRoomBounds(loadedRoom.RoomInstance); - loadedRoom.BoundsCalculated = true; - } - - return Vector3.Distance(_player.position, loadedRoom.CachedBounds.center); - } - - /// - /// Calculates the combined bounding box of all renderers in a room. - /// Used to determine room center for distance calculations. - /// - private Bounds CalculateRoomBounds(GameObject room) - { - Renderer[] renderers = room.GetComponentsInChildren(); - if (renderers.Length == 0) - return new Bounds(room.transform.position, Vector3.one); - - Bounds bounds = renderers[0].bounds; - for (int i = 1; i < renderers.Length; i++) - bounds.Encapsulate(renderers[i].bounds); - - return bounds; - } - - /// - /// Determines which room (if any) currently contains the player. - /// Uses cached collider bounds to detect room occupancy. - /// - private void UpdateCurrentPlayerRoom() - { - _currentPlayerRoom = null; - - foreach (var kvp in _loadedRooms) - { - LoadedRoom loadedRoom = kvp.Value; - if (loadedRoom.RoomInstance == null) - continue; - - Collider[] roomColliders = loadedRoom.CachedColliders; - if (roomColliders == null) continue; - - foreach (Collider col in roomColliders) - { - if (col != null && col.bounds.Contains(_player.position)) - { - _currentPlayerRoom = loadedRoom.RoomInstance; - return; - } - } - } - } - - /// - /// Instantiates a room from a portal's prefab at the configured spawn point. - /// If the room is already loaded, reactivates it instead of creating a new instance. - /// Notifies the portal when its room is successfully loaded. - /// - private void LoadRoom(Portal portal) - { - GameObject roomPrefab = portal.GetRoomPrefab(); - if (roomPrefab == null) - { - Debug.LogWarning($"[LOAD] Portal {portal.name} has no prefab!"); - return; - } - - string roomId = portal.GetRoomId(); - - if (_loadedRooms.TryGetValue(roomId, out LoadedRoom existingRoom)) - { - if (existingRoom.RoomInstance != null) - existingRoom.RoomInstance.SetActive(true); - - return; - } - - Vector3 spawnPosition = portal.GetRoomSpawnPosition(); - Quaternion spawnRotation = portal.GetRoomSpawnRotation(); - - - GameObject roomInstance = Instantiate(roomPrefab, spawnPosition, spawnRotation); - roomInstance.name = $"{roomPrefab.name}_Loaded"; - - foreach (var renderer in roomInstance.GetComponentsInChildren()) - renderer.gameObject.SendMessage("OnBecameVisible", SendMessageOptions.DontRequireReceiver); - - LoadedRoom loadedRoom = new LoadedRoom - { - RoomInstance = roomInstance, - RoomId = roomId, - LoadPosition = portal.transform.position, - SourcePortal = portal, - CachedColliders = roomInstance.GetComponentsInChildren() - }; - - _loadedRooms.Add(roomId, loadedRoom); - - portal.OnRoomLoaded(roomInstance); - } - - /// - /// Deactivates or destroys a loaded room based on the _keepRoomsInMemory setting. - /// If keeping in memory, the room is deactivated but not destroyed (faster to reactivate). - /// If not keeping in memory, the room is fully destroyed and removed from tracking. - /// Notifies the source portal when its room is unloaded. - /// - private void UnloadRoom(string roomId) - { - if (_loadedRooms.TryGetValue(roomId, out LoadedRoom loadedRoom)) - { - if (loadedRoom.RoomInstance != null) - { - if (loadedRoom.SourcePortal != null) - loadedRoom.SourcePortal.OnRoomUnloaded(); - - if (_keepRoomsInMemory) - loadedRoom.RoomInstance.SetActive(false); - else - { - Destroy(loadedRoom.RoomInstance); - _loadedRooms.Remove(roomId); - } - } - } - } - } -} diff --git a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalRoomManager.cs.meta b/Assets/_Content/Scripts/Features/Portals/Runtime/PortalRoomManager.cs.meta deleted file mode 100644 index b99a2033..00000000 --- a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalRoomManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 25abbf68f203db94381b5c22eb1573bc -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 100 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalTraveller.cs b/Assets/_Content/Scripts/Features/Portals/Runtime/PortalTraveller.cs deleted file mode 100644 index 4f23bf13..00000000 --- a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalTraveller.cs +++ /dev/null @@ -1,148 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; -using Unheimlich.Core.Utils; - -namespace Unheimlich.Features.Portals -{ - /// - /// Component that allows an object to travel through portals. - /// Handles teleportation, visual cloning when crossing, and shader-based slicing. - /// Attach this to any object that should be able to pass through portals (player, NPCs, etc.) - /// - [RequireComponent(typeof(CharacterController))] - public class PortalTraveller : MonoBehaviour - { - /// The visual representation of this traveller (mesh renderers) - public GameObject GraphicsObject; - - /// Clone created when traveller enters portal threshold - public GameObject GraphicsClone { get; set; } - - /// Tracks position relative to portal from previous frame to detect crossing - public Vector3 PreviousOffsetFromPortal { get; set; } - - /// Materials of the original graphics (used for shader slicing) - public Material[] OriginalMaterials { get; set; } - - /// Materials of the clone (used for shader slicing) - public Material[] CloneMaterials { get; set; } - - private CharacterController _characterController; - - private void Awake() - { - _characterController = GetComponent(); - } - - /// - /// Teleports this traveller through a portal. - /// Temporarily disables CharacterController to prevent physics conflicts during teleport. - /// - /// The portal being exited - /// The destination portal - /// New world position - /// New world rotation - public virtual void Teleport(Transform fromPortal, Transform toPortal, Vector3 pos, Quaternion rot) - { - if (_characterController != null) - _characterController.enabled = false; - - transform.position = pos; - transform.rotation = rot; - - if (_characterController != null) - { - _characterController.enabled = true; - Physics.SyncTransforms(); - } - } - - /// - /// Called when the traveller enters the portal's trigger zone. - /// Creates a visual clone that will appear on the other side of the portal. - /// - public virtual void EnterPortalThreshold() - { - if (GraphicsClone == null) - { - GraphicsClone = Instantiate(GraphicsObject); - GraphicsClone.transform.parent = GraphicsObject.transform.parent; - GraphicsClone.transform.localScale = GraphicsObject.transform.localScale; - OriginalMaterials = GetMaterials(GraphicsObject); - CloneMaterials = GetMaterials(GraphicsClone); - } - else - GraphicsClone.SetActive(true); - } - - /// - /// Called when the traveller exits the portal's trigger zone without teleporting. - /// Hides the clone and resets shader slicing parameters. - /// - public virtual void ExitPortalThreshold() - { - GraphicsClone.SetActive(false); - - for (int i = 0; i < OriginalMaterials.Length; i++) - OriginalMaterials[i].SetVector(PortalConstants.SHADER_PROPERTY_SLICE_NORMAL, Vector3.zero); - } - - /// - /// Sets the slice offset distance for shader-based clipping. - /// Used to hide/show parts of the traveller based on portal plane position. - /// - /// Distance offset for slicing plane - /// If true, applies to clone materials; otherwise to original - public void SetSliceOffsetDst(float dst, bool clone) - { - for (int i = 0; i < OriginalMaterials.Length; i++) - { - if (clone) - CloneMaterials[i].SetFloat(PortalConstants.SHADER_PROPERTY_SLICE_OFFSET, dst); - else - OriginalMaterials[i].SetFloat(PortalConstants.SHADER_PROPERTY_SLICE_OFFSET, dst); - } - } - - /// - /// Collects all materials from MeshRenderers in the graphics object hierarchy. - /// These materials will be modified with shader slicing parameters. - /// - private Material[] GetMaterials(GameObject g) - { - var renderers = g.GetComponentsInChildren(); - var matList = new List(); - - foreach (var renderer in renderers) - { - foreach (var mat in renderer.materials) - matList.Add(mat); - } - - return matList.ToArray(); - } - - /// - /// Shows or hides the original graphics by enabling/disabling renderers. - /// - public void SetGraphicsVisibility(bool visible) - { - var renderers = GraphicsObject.GetComponentsInChildren(); - foreach (var renderer in renderers) - renderer.enabled = visible; - } - - /// - /// Shows or hides the clone graphics by enabling/disabling renderers. - /// - public void SetCloneVisibility(bool visible) - { - if (GraphicsClone != null) - { - var renderers = GraphicsClone.GetComponentsInChildren(); - foreach (var renderer in renderers) - renderer.enabled = visible; - } - } - } -} diff --git a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalTraveller.cs.meta b/Assets/_Content/Scripts/Features/Portals/Runtime/PortalTraveller.cs.meta deleted file mode 100644 index 1274ea79..00000000 --- a/Assets/_Content/Scripts/Features/Portals/Runtime/PortalTraveller.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e825afa0efeb69949bf3ca8b3f99d7eb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 400 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/_Content/Scripts/SpiralStaircase.cs b/Assets/_Content/Scripts/SpiralStaircase.cs index dc946bed..dfad4e6d 100644 --- a/Assets/_Content/Scripts/SpiralStaircase.cs +++ b/Assets/_Content/Scripts/SpiralStaircase.cs @@ -1,14 +1,38 @@ +using OctoCore; using OctoCore.Components; +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using Unity.VisualScripting; using UnityEngine; +using UnityEngine.Events; +using UnityEngine.InputSystem; using UnityEngine.Rendering.Universal; public class SpiralStaircase : MonoBehaviour { + [System.Serializable] + public class DoorsPair + { + public Transform Left; + public Transform Right; + } + + [System.Serializable] + public class State + { + public bool PlayerInside; + public int Turns; + public float TotalAngle; + [Range(0, 1)] public float Progression; + } + [System.Serializable] public class References { public UniversalRendererData RendererData; public GameObject Stairs; + public DoorsPair[] Doors; public GameObject[] Inside; public GameObject[] Outside; } @@ -21,28 +45,43 @@ public class SpiralStaircase : MonoBehaviour public float EndAngle = 720; } + [System.Serializable] + public class Events + { + public UnityEvent OnInside; + public UnityEvent OnTopReached; + public UnityEvent OnBottomReached; + } + + [SerializeField, OctoReadOnly] private State _state; [SerializeField] private References _references; [SerializeField] private Settings _settings; + [SerializeField] private Events _events; - private bool _playerInside; - [SerializeField] private int _turns; - [SerializeField] private float _totalAngle; - [SerializeField] private float _progression; + private List _doorsCoroutine; + + void Awake() + { + _doorsCoroutine = new List(); + for (int i = 0; i < _references.Doors.Length; i++) + _doorsCoroutine.Add(null); + } void Start() { ManageInside(); + _events.OnBottomReached?.Invoke(); } void OnDisable() { - _playerInside = false; + _state.PlayerInside = false; ManageInside(); } void Update() { - if (_playerInside) + if (_state.PlayerInside) Count(); } @@ -50,9 +89,9 @@ public class SpiralStaircase : MonoBehaviour { if (OctoPlayer.Instance && OctoPlayer.Instance.gameObject == col.gameObject) { - if (!_playerInside) + if (!_state.PlayerInside) { - _playerInside = true; + _state.PlayerInside = true; ManageInside(); } } @@ -62,49 +101,104 @@ public class SpiralStaircase : MonoBehaviour { if (OctoPlayer.Instance && OctoPlayer.Instance.gameObject == col.gameObject) { - if (_playerInside) + if (_state.PlayerInside) { - _playerInside = false; + _state.PlayerInside = false; ManageInside(); } } } + public void OpendDoors(bool open) { for (int i = 0; i < _references.Doors.Length; i++) OpendDoor(i, open); } + public void OpendDoor(int id) { OpendDoor(id, true); } + public void CloseDoor(int id) { OpendDoor(id, false); } + public void SetDoorOpened(int id) { OpendDoor(id, true, false); } + public void SetDoorClosed(int id) { OpendDoor(id, false, false); } + + private void OpendDoor(int id, bool open, bool animate = true) + { + if (_doorsCoroutine[id] != null) StopCoroutine(_doorsCoroutine[id]); + StartCoroutine(_doorsCoroutine[id] = OpenDoorCoroutine(id, open, animate)); + } + + IEnumerator OpenDoorCoroutine(int id, bool open, bool animate) + { + const float duration = .6f; + + DoorsPair door = _references.Doors[id]; + + Quaternion originRotL = door.Left.transform.localRotation; + Quaternion originRotR = door.Right.transform.localRotation; + Quaternion targetRotL = Quaternion.Euler(0, open ? 0 : 13.1f, 0); + Quaternion targetRotR = Quaternion.Euler(0, open ? 0 :-13.1f, 0); + + if (animate) + { + for (float t = 0; t < duration; t += Time.deltaTime) + { + float lerp = .5f - Mathf.Cos(t / duration * Mathf.PI) * .5f; + + door.Left.transform.localRotation = Quaternion.Lerp(originRotL, targetRotL, lerp); + door.Right.transform.localRotation = Quaternion.Lerp(originRotR, targetRotR, lerp); + + yield return new WaitForEndOfFrame(); + } + } + + door.Left.transform.localRotation = targetRotL; + door.Right.transform.localRotation = targetRotR; + + _doorsCoroutine[id] = null; + } + private void Count() { if (!OctoPlayer.Instance) return; Vector2[] steps = new Vector2[4] { Vector2.up, Vector2.left, Vector2.down, Vector2.right }; - Vector2 nextStep = steps[_turns % steps.Length]; + Vector2 nextStep = steps[_state.Turns % steps.Length]; Vector3 relativePos3D = transform.InverseTransformPoint(OctoPlayer.Instance.transform.position); Vector2 relativePos2D = new Vector2(relativePos3D.x, relativePos3D.z); float quarterAngle = Vector2.Angle(nextStep, relativePos2D) * Mathf.Sign(Vector3.Cross(nextStep, relativePos2D).z); - _totalAngle = Mathf.Max(0, _turns * 90 + quarterAngle); + _state.TotalAngle = Mathf.Max(0, _state.Turns * 90 + quarterAngle); if (quarterAngle > 90 && quarterAngle < 100) { - _turns++; + _state.Turns++; } - else if (quarterAngle < 0 && _turns > 0) + else if (quarterAngle < 0 && _state.Turns > 0) { - _turns--; + _state.Turns--; } - _progression = Mathf.Clamp01(Mathf.InverseLerp(_settings.StartAngle, _settings.EndAngle, _totalAngle)); + float progression = Mathf.Clamp01(Mathf.InverseLerp(_settings.StartAngle, _settings.EndAngle, _state.TotalAngle)); - _references.Stairs.transform.localPosition = new Vector3(0, _progression * _settings.Offset, 0); + if (progression >= .5f && _state.Progression < .5f) + { + _events.OnTopReached?.Invoke(); + } + else if (progression < .5f && _state.Progression >= .5f) + { + _events.OnBottomReached?.Invoke(); + } + + _state.Progression = progression; + + _references.Stairs.transform.localPosition = new Vector3(0, _state.Progression * _settings.Offset, 0); } private void ManageInside() { - foreach (GameObject obj in _references.Inside) obj.SetActive(_playerInside); - foreach (GameObject obj in _references.Outside) obj.SetActive(!_playerInside); + foreach (GameObject obj in _references.Inside) obj.SetActive(_state.PlayerInside); + foreach (GameObject obj in _references.Outside) obj.SetActive(!_state.PlayerInside); - Shader.SetGlobalFloat("_MaskEnabled", _playerInside ? 0 : 1); + _events.OnInside?.Invoke(_state.PlayerInside); + + /*Shader.SetGlobalFloat("_MaskEnabled", _state.PlayerInside ? 0 : 1); foreach (var feature in _references.RendererData.rendererFeatures) { @@ -114,9 +208,9 @@ public class SpiralStaircase : MonoBehaviour if (feature.name == "HiddenThroughMask") { - feature.SetActive(!_playerInside); + feature.SetActive(!_state.PlayerInside); break; } - } + }*/ } } diff --git a/Assets/_Content/Scripts/World/Camera/Runtime/DynamicShadowDistance.cs b/Assets/_Content/Scripts/World/Camera/Runtime/DynamicShadowDistance.cs deleted file mode 100644 index 3fd2572f..00000000 --- a/Assets/_Content/Scripts/World/Camera/Runtime/DynamicShadowDistance.cs +++ /dev/null @@ -1,106 +0,0 @@ -using UnityEngine; -using Unheimlich.Features.Portals; - -namespace Unheimlich.World.CameraSystem -{ - /// - /// Dynamically adjusts Unity's shadow rendering distance based on proximity to active portals. - /// When the player is near a portal with a loaded room, shadow distance is extended to ensure - /// shadows from the remote room are visible through the portal. This improves visual quality - /// while maintaining performance when far from portals. - /// - public class DynamicShadowDistance : MonoBehaviour - { - private const float PORTAL_CHECK_DISTANCE = 100f; - - [Header("Shadow Distance Settings")] - [SerializeField] private float _baseShadowDistance = 50f; - [SerializeField] private float _extendedShadowDistance = 250f; - [SerializeField] private float _transitionSpeed = 2f; - - [Header("Detection")] - [SerializeField] private float _checkInterval = 0.5f; - - private float _targetShadowDistance; - private float _currentShadowDistance; - private float _nextCheckTime; - private Transform _playerTransform; - - private void Awake() - { - _playerTransform = Camera.main != null ? Camera.main.transform : null; - } - - private void Start() - { - _currentShadowDistance = _baseShadowDistance; - _targetShadowDistance = _baseShadowDistance; - QualitySettings.shadowDistance = _baseShadowDistance; - } - - private void Update() - { - if (Time.time >= _nextCheckTime) - { - _nextCheckTime = Time.time + _checkInterval; - UpdateTargetShadowDistance(); - } - - if (!Mathf.Approximately(_currentShadowDistance, _targetShadowDistance)) - { - _currentShadowDistance = Mathf.Lerp(_currentShadowDistance, _targetShadowDistance, Time.deltaTime * _transitionSpeed); - QualitySettings.shadowDistance = _currentShadowDistance; - } - } - - /// - /// Checks if any active portal with a loaded room is within range. - /// If found, extends shadow distance to cover the remote room. - /// - private void UpdateTargetShadowDistance() - { - bool needsExtendedDistance = false; - - foreach (var portal in Portal.AllPortals) - { - if (portal == null || !portal.isActiveAndEnabled) - continue; - - if (portal.LoadedRoomInstance != null) - { - float distanceToPortal = Vector3.Distance(_playerTransform.position, portal.transform.position); - - if (distanceToPortal < PORTAL_CHECK_DISTANCE) - { - needsExtendedDistance = true; - break; - } - } - } - - _targetShadowDistance = needsExtendedDistance ? _extendedShadowDistance : _baseShadowDistance; - } - - private void OnValidate() - { - if (_baseShadowDistance < 0) - _baseShadowDistance = 0; - if (_extendedShadowDistance < _baseShadowDistance) - _extendedShadowDistance = _baseShadowDistance; - } - -#if UNITY_EDITOR - private void OnDrawGizmosSelected() - { - if (_playerTransform == null) - return; - - Gizmos.color = new Color(1f, 1f, 0f, 0.2f); - Gizmos.DrawWireSphere(_playerTransform.position, QualitySettings.shadowDistance); - - UnityEditor.Handles.Label(_playerTransform.position + Vector3.up * 2, - $"Shadow Distance: {QualitySettings.shadowDistance:F0}"); - } -#endif - } -} diff --git a/Assets/_Content/Scripts/World/Camera/Runtime/DynamicShadowDistance.cs.meta b/Assets/_Content/Scripts/World/Camera/Runtime/DynamicShadowDistance.cs.meta deleted file mode 100644 index 95375609..00000000 --- a/Assets/_Content/Scripts/World/Camera/Runtime/DynamicShadowDistance.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: e8f216e6440b9d445ac547aa24daf2b7 \ No newline at end of file diff --git a/Assets/_Content/Settings/PC_Renderer.asset b/Assets/_Content/Settings/PC_Renderer.asset index 18930172..0b4fd5d4 100644 --- a/Assets/_Content/Settings/PC_Renderer.asset +++ b/Assets/_Content/Settings/PC_Renderer.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6b3d386ba5cd94485973aee1479b272e, type: 3} m_Name: HiddenThroughMask m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.RenderObjects - m_Active: 1 + m_Active: 0 settings: passTag: HiddenThroughMask Event: 300 @@ -54,7 +54,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6b3d386ba5cd94485973aee1479b272e, type: 3} m_Name: VisibleThroughMask m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.RenderObjects - m_Active: 1 + m_Active: 0 settings: passTag: VisibleThroughMask Event: 600 @@ -116,7 +116,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6b3d386ba5cd94485973aee1479b272e, type: 3} m_Name: Stencil Mask m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.RenderObjects - m_Active: 1 + m_Active: 0 settings: passTag: Stencil Mask Event: 250 diff --git a/Assets/_Content/Shaders/EnkiBillal/EnkiBiIlal.shadergraph b/Assets/_Content/Shaders/EnkiBillal/EnkiBiIlal.shadergraph index b2e50d11..5c18fd4c 100644 --- a/Assets/_Content/Shaders/EnkiBillal/EnkiBiIlal.shadergraph +++ b/Assets/_Content/Shaders/EnkiBillal/EnkiBiIlal.shadergraph @@ -3,6 +3,12 @@ "m_Type": "UnityEditor.ShaderGraph.GraphData", "m_ObjectId": "611123bc58c149fea746dc85213d502f", "m_Properties": [ + { + "m_Id": "4a3d921ea05040ff9f3d8fba2e31ed02" + }, + { + "m_Id": "c42430ce8cc346ac9bdcd190d22b3277" + }, { "m_Id": "3a846e73a5a74ce2ab432b3284d7966e" }, @@ -52,10 +58,10 @@ "m_Id": "5532ce967e084f5a832efbee343c8881" }, { - "m_Id": "6df3f5753c2f41c4ad4c0d5f91a3fcab" + "m_Id": "ee65268f1ef440f4b0493fe6e43fa6cd" }, { - "m_Id": "2901eeaa09b84e25ac0f831d668b950b" + "m_Id": "580816413399433c8c16f0400b09a694" } ], "m_Keywords": [], @@ -167,6 +173,18 @@ }, { "m_Id": "ab831e5eb1414dd1b6ef8741cb57175b" + }, + { + "m_Id": "1dc642009b544ae9b9232a733fac526a" + }, + { + "m_Id": "a90efc03353f438786ed2a287aaff2d7" + }, + { + "m_Id": "740f27487eb741e1a0a4a8034cc88f68" + }, + { + "m_Id": "7f46f183954348bdbcb2254cce45ace0" } ], "m_GroupDatas": [], @@ -200,6 +218,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "1dc642009b544ae9b9232a733fac526a" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c5d342277052409f87283f2c60ccf3a1" + }, + "m_SlotId": 13 + } + }, { "m_OutputSlot": { "m_Node": { @@ -284,6 +316,34 @@ "m_SlotId": 1 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "740f27487eb741e1a0a4a8034cc88f68" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c5d342277052409f87283f2c60ccf3a1" + }, + "m_SlotId": 16 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "7f46f183954348bdbcb2254cce45ace0" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c5d342277052409f87283f2c60ccf3a1" + }, + "m_SlotId": 17 + } + }, { "m_OutputSlot": { "m_Node": { @@ -312,6 +372,20 @@ "m_SlotId": 6 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a90efc03353f438786ed2a287aaff2d7" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c5d342277052409f87283f2c60ccf3a1" + }, + "m_SlotId": 14 + } + }, { "m_OutputSlot": { "m_Node": { @@ -340,6 +414,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c5d342277052409f87283f2c60ccf3a1" + }, + "m_SlotId": 15 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1035dda04278422b988336d6984e2045" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -518,8 +606,8 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 571.0000610351563, - "y": 1024.0001220703125, + "x": 547.0, + "y": 1085.0, "width": 159.0, "height": 34.0 } @@ -542,6 +630,54 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Matrix4MaterialSlot", + "m_ObjectId": "03a30d99f6474975a79eeaa237c32494", + "m_Id": 0, + "m_DisplayName": "Mask2", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -670,9 +806,9 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 648.9999389648438, - "y": 178.99998474121095, - "width": 104.99993896484375, + "x": 519.0, + "y": 173.0, + "width": 105.0, "height": 34.0 } }, @@ -758,6 +894,42 @@ "m_SerializedDescriptor": "VertexDescription.Position" } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "1dc642009b544ae9b9232a733fac526a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 596.0, + "y": 1187.0, + "width": 110.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "3aed73bed39d42e79f75b6c34787322c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "ee65268f1ef440f4b0493fe6e43fa6cd" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -838,34 +1010,6 @@ "m_LiteralMode": false } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Internal.BooleanShaderProperty", - "m_ObjectId": "2901eeaa09b84e25ac0f831d668b950b", - "m_Guid": { - "m_GuidSerialized": "1ee46b8e-0777-4496-8316-be0978808dc4" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "ClipInvert", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "ClipInvert", - "m_DefaultReferenceName": "_ClipInvert", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": true, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": false, - "hlslDeclarationOverride": 0, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": false -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -999,6 +1143,54 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Matrix4MaterialSlot", + "m_ObjectId": "3aed73bed39d42e79f75b6c34787322c", + "m_Id": 0, + "m_DisplayName": "Mask0", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.PositionNode", @@ -1011,9 +1203,9 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 329.9999694824219, - "y": 342.9999694824219, - "width": 205.99996948242188, + "x": 411.0, + "y": 443.0, + "width": 206.0, "height": 130.0 } }, @@ -1210,9 +1402,9 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 632.0000610351563, - "y": 1062.0001220703125, - "width": 100.0, + "x": 616.0, + "y": 1119.0, + "width": 90.0, "height": 34.0 } }, @@ -1234,17 +1426,84 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "45ccaed6d4d547b090b274a4421169f6", + "m_Id": 15, + "m_DisplayName": "Alpha", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [], + "m_LiteralMode": false +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Matrix4ShaderProperty", + "m_ObjectId": "4a3d921ea05040ff9f3d8fba2e31ed02", + "m_Guid": { + "m_GuidSerialized": "b430cb02-3220-445a-ba80-9d5b9d87fb6e" + }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, + "m_Name": "Mask1", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Mask1", + "m_DefaultReferenceName": "_Mask1", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": true, + "hlslDeclarationOverride": 1, + "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], + "m_Value": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.CategoryData", "m_ObjectId": "4ae9f85504784bd8a4c0b331d786d017", - "m_Name": "Clipping", + "m_Name": "Masking", "m_ChildObjectList": [ { - "m_Id": "6df3f5753c2f41c4ad4c0d5f91a3fcab" + "m_Id": "ee65268f1ef440f4b0493fe6e43fa6cd" }, { - "m_Id": "2901eeaa09b84e25ac0f831d668b950b" + "m_Id": "4a3d921ea05040ff9f3d8fba2e31ed02" + }, + { + "m_Id": "c42430ce8cc346ac9bdcd190d22b3277" + }, + { + "m_Id": "580816413399433c8c16f0400b09a694" } ] } @@ -1395,8 +1654,8 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 579.0000610351563, - "y": 986.0000610351563, + "x": 568.0, + "y": 1051.0, "width": 139.0, "height": 34.0 } @@ -1475,9 +1734,9 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 551.0000610351563, - "y": 901.0000610351563, - "width": 150.0, + "x": 566.0, + "y": 983.0, + "width": 140.0, "height": 34.0 } }, @@ -1499,6 +1758,54 @@ } } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "580816413399433c8c16f0400b09a694", + "m_Guid": { + "m_GuidSerialized": "1525fcef-0b3c-4478-932f-a710cc4ba2bc" + }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, + "m_Name": "MaskID", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "MaskID", + "m_DefaultReferenceName": "_MaskID", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], + "m_Value": 0.0, + "m_FloatType": 3, + "m_LiteralFloatMode": false, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + }, + "m_SliderType": 0, + "m_SliderPower": 3.0, + "m_EnumType": 0, + "m_CSharpEnumString": "", + "m_EnumNames": [ + "Always", + "Outside", + "Inside" + ], + "m_EnumValues": [ + 0, + 1, + 2 + ] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.BlockNode", @@ -1679,9 +1986,9 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 554.0, - "y": 948.0000610351563, - "width": 148.00006103515626, + "x": 558.0, + "y": 1017.0, + "width": 148.0, "height": 34.0 } }, @@ -1777,50 +2084,6 @@ "m_Labels": [] } -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "6df3f5753c2f41c4ad4c0d5f91a3fcab", - "m_Guid": { - "m_GuidSerialized": "f57702e4-fab9-4793-854d-02d0abba21a2" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "ClipDistance", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "ClipDistance", - "m_DefaultReferenceName": "_ClipDistance", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": true, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": false, - "hlslDeclarationOverride": 0, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 0.0, - "m_FloatType": 0, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": 0.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -1849,10 +2112,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 607.9999389648438, - "y": 221.99998474121095, - "width": 116.99993896484375, - "height": 93.99998474121094 + "x": 499.0, + "y": 221.0, + "width": 117.0, + "height": 94.0 } }, "m_Slots": [ @@ -1870,6 +2133,90 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "740f27487eb741e1a0a4a8034cc88f68", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 595.9999389648438, + "y": 1220.9998779296875, + "width": 115.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "7ae643265b294449ac8499e3c164dbf7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "4a3d921ea05040ff9f3d8fba2e31ed02" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Matrix4MaterialSlot", + "m_ObjectId": "7ae643265b294449ac8499e3c164dbf7", + "m_Id": 0, + "m_DisplayName": "Mask1", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", @@ -1894,6 +2241,42 @@ "m_Space": 3 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "7f46f183954348bdbcb2254cce45ace0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 594.9999389648438, + "y": 1254.9998779296875, + "width": 116.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "03a30d99f6474975a79eeaa237c32494" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "c42430ce8cc346ac9bdcd190d22b3277" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -1997,6 +2380,22 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "8892c2b112c14c028eddce5e899710b2", + "m_Id": 14, + "m_DisplayName": "MaskID", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "MaskID", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [], + "m_LiteralMode": false +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", @@ -2256,6 +2655,54 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Matrix4MaterialSlot", + "m_ObjectId": "92ea1472d59d4857abd59195ace147a4", + "m_Id": 16, + "m_DisplayName": "Mask1", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Mask1", + "m_StageCapability": 3, + "m_Value": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", @@ -2359,10 +2806,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 388.0000305175781, - "y": 213.00001525878907, - "width": 145.00003051757813, - "height": 127.99998474121094 + "x": 471.0, + "y": 315.0, + "width": 145.0, + "height": 128.0 } }, "m_Slots": [ @@ -2393,8 +2840,8 @@ "m_Expanded": false, "m_Position": { "serializedVersion": "2", - "x": 596.0000610351563, - "y": 811.0000610351563, + "x": 622.0, + "y": 902.0, "width": 84.0, "height": 76.0 } @@ -2470,6 +2917,54 @@ "m_LiteralMode": false } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Matrix4MaterialSlot", + "m_ObjectId": "a363c8f5686c459792f7e2c53fb8dc8a", + "m_Id": 17, + "m_DisplayName": "Mask2", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Mask2", + "m_StageCapability": 3, + "m_Value": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -2495,6 +2990,42 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "a90efc03353f438786ed2a287aaff2d7", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 592.0, + "y": 1153.0, + "width": 114.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "d514d16e349e413b9612597ef2fb742b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "580816413399433c8c16f0400b09a694" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", @@ -2507,9 +3038,9 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 781.9999389648438, - "y": 281.9999694824219, - "width": 129.99993896484376, + "x": 640.0, + "y": 167.0, + "width": 130.0, "height": 118.0 } }, @@ -2594,6 +3125,51 @@ "m_Labels": [] } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Matrix4ShaderProperty", + "m_ObjectId": "c42430ce8cc346ac9bdcd190d22b3277", + "m_Guid": { + "m_GuidSerialized": "4f9b8ff2-3b72-4f33-8cee-a3abea820d34" + }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, + "m_Name": "Mask2", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Mask2", + "m_DefaultReferenceName": "_Mask2", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": true, + "hlslDeclarationOverride": 1, + "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], + "m_Value": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", @@ -2613,9 +3189,6 @@ } }, "m_Slots": [ - { - "m_Id": "8ead54ba7a8d487ea3f55e930101215f" - }, { "m_Id": "a4ebf1b78b20490d9b1c3591e31e9f00" }, @@ -2651,6 +3224,24 @@ }, { "m_Id": "8c26652d47d64417a9ce7a93bb811466" + }, + { + "m_Id": "8892c2b112c14c028eddce5e899710b2" + }, + { + "m_Id": "fdc7026b3c2f43f9af9342c37132e6cc" + }, + { + "m_Id": "92ea1472d59d4857abd59195ace147a4" + }, + { + "m_Id": "a363c8f5686c459792f7e2c53fb8dc8a" + }, + { + "m_Id": "8ead54ba7a8d487ea3f55e930101215f" + }, + { + "m_Id": "45ccaed6d4d547b090b274a4421169f6" } ], "synonyms": [ @@ -2861,6 +3452,22 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d514d16e349e413b9612597ef2fb742b", + "m_Id": 0, + "m_DisplayName": "MaskID", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [], + "m_LiteralMode": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -2889,9 +3496,9 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 329.0000305175781, - "y": 737.0000610351563, - "width": 206.00003051757813, + "x": 410.0, + "y": 837.0, + "width": 206.0, "height": 130.0 } }, @@ -3106,9 +3713,9 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 329.9999694824219, - "y": 604.9999389648438, - "width": 205.99996948242188, + "x": 411.0, + "y": 705.0, + "width": 206.0, "height": 130.0 } }, @@ -3130,6 +3737,51 @@ "m_Space": 2 } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Matrix4ShaderProperty", + "m_ObjectId": "ee65268f1ef440f4b0493fe6e43fa6cd", + "m_Guid": { + "m_GuidSerialized": "505d069d-6304-4e1b-9454-f5e019f5570f" + }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, + "m_Name": "Mask0", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Mask0", + "m_DefaultReferenceName": "_Mask0", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": true, + "hlslDeclarationOverride": 1, + "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], + "m_Value": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -3167,9 +3819,9 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 330.0000305175781, - "y": 474.0, - "width": 205.99996948242188, + "x": 411.0, + "y": 574.0, + "width": 206.0, "height": 130.0 } }, @@ -3319,6 +3971,54 @@ "m_Space": 0 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Matrix4MaterialSlot", + "m_ObjectId": "fdc7026b3c2f43f9af9342c37132e6cc", + "m_Id": 13, + "m_DisplayName": "Mask0", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Mask0", + "m_StageCapability": 3, + "m_Value": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", diff --git a/Assets/_Content/Shaders/EnkiBillal/EnkiBiIlalMask.shadergraph b/Assets/_Content/Shaders/EnkiBillal/EnkiBiIlalMask.shadergraph deleted file mode 100644 index 8bbbef70..00000000 --- a/Assets/_Content/Shaders/EnkiBillal/EnkiBiIlalMask.shadergraph +++ /dev/null @@ -1,3784 +0,0 @@ -{ - "m_SGVersion": 3, - "m_Type": "UnityEditor.ShaderGraph.GraphData", - "m_ObjectId": "611123bc58c149fea746dc85213d502f", - "m_Properties": [ - { - "m_Id": "3a846e73a5a74ce2ab432b3284d7966e" - }, - { - "m_Id": "c88010bf5d374c558536bab6657f2905" - }, - { - "m_Id": "f5635e32bf83409098de2fdd9c0f0117" - }, - { - "m_Id": "94c591736c9d437581be9fd159b4812f" - }, - { - "m_Id": "c8c81d08ce6240a78db604444ba40ed5" - }, - { - "m_Id": "8ddc5e296a9f402f86b59bcdb3212a75" - }, - { - "m_Id": "cb2968cecd2d4e1abf1dec9fd7b5f816" - }, - { - "m_Id": "f9d0721d460b431a95ae40ee06b6a854" - }, - { - "m_Id": "d18c801dc9b44ee5976c232608872e27" - }, - { - "m_Id": "4cda480f5ebf44b3807dd27433995c98" - }, - { - "m_Id": "684b0d6977f24bc0911a0a691cf91f45" - }, - { - "m_Id": "89822b65542d4e30965590910a22d7d5" - }, - { - "m_Id": "00de379b90744d5496dbbab532d54c41" - }, - { - "m_Id": "9179c761aeb24115bffb5f782be13d25" - }, - { - "m_Id": "4ec542f870ae411ebc0109fbcc06c4d2" - }, - { - "m_Id": "5532ce967e084f5a832efbee343c8881" - }, - { - "m_Id": "2901eeaa09b84e25ac0f831d668b950b" - }, - { - "m_Id": "734b323db0cf48d1ab2c7e44ab3ffa77" - } - ], - "m_Keywords": [], - "m_Dropdowns": [], - "m_CategoryData": [ - { - "m_Id": "f82430dd22de4c568ffe2e0dffede934" - }, - { - "m_Id": "1810970db54d423b8e943f22d93dff81" - }, - { - "m_Id": "3250021ee13142fbae82c29587513b45" - }, - { - "m_Id": "13a46f5ba2f84bde9e421a2361228736" - }, - { - "m_Id": "193fb639fad9414bac3a5cb8792c43f2" - }, - { - "m_Id": "02b3238eda79428b83141c0f1cd93ffa" - }, - { - "m_Id": "8ec4a0fe2487442087508231220eb8ac" - }, - { - "m_Id": "e0770fc9853c4888a9fb2a8136f37286" - }, - { - "m_Id": "4ae9f85504784bd8a4c0b331d786d017" - } - ], - "m_Nodes": [ - { - "m_Id": "1c9efd0d62ec4a41af6fc02f42f007a5" - }, - { - "m_Id": "592326d0e6a5449d9770db4ebab86e74" - }, - { - "m_Id": "914238e697f0497b899046a1c55f3677" - }, - { - "m_Id": "593cf54375cd4b718eaa98da80c9f16b" - }, - { - "m_Id": "e8079c6fe3fd4d8cb6a56ebed793d36f" - }, - { - "m_Id": "83d4bd5d6d244a5b98e3303d5dcd7e18" - }, - { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - { - "m_Id": "9ab35fa1fae046bf8f9cd00d738b1def" - }, - { - "m_Id": "ea1040f4c7a34e3dae889e591d624208" - }, - { - "m_Id": "d837bbfe59e545829b1aef6a76ddc4db" - }, - { - "m_Id": "f39af772925c40ec981b6aeb93142134" - }, - { - "m_Id": "3e46eb76f3e94a73912aecb313b485e5" - }, - { - "m_Id": "55e0b426fdd9486bb595c26dfe441cdc" - }, - { - "m_Id": "e042671f7f804efca0130f700c1e3e50" - }, - { - "m_Id": "3fd8f5b2e9a54f4f81f6c3bbad99aaea" - }, - { - "m_Id": "e3b5f3929aea4876bef5e48e7d8e7f4f" - }, - { - "m_Id": "51cb8786f9564c7196b49795ba7ff46e" - }, - { - "m_Id": "03a2f0ea1a8a4ea198b506a94b1205cd" - }, - { - "m_Id": "64360f1ac2d94b5ebc0fc5e371182f45" - }, - { - "m_Id": "41ea0f4debec4c439fdacfd417eaf1a9" - }, - { - "m_Id": "995efe8286884c36bdda9c2ffa0311b1" - }, - { - "m_Id": "1035dda04278422b988336d6984e2045" - }, - { - "m_Id": "3fea3a0fd081426aa54576a95540dce2" - }, - { - "m_Id": "65403c9942354e75ac21702333d58194" - }, - { - "m_Id": "c76d48ee7c3549f296a21d62640830f1" - }, - { - "m_Id": "bd60f1e40aa140aeba5ddad8c2cee30d" - }, - { - "m_Id": "37718a5109a44467ac2165dbe0132c8f" - }, - { - "m_Id": "b7936bec0c00437fa30557d9cc79310b" - }, - { - "m_Id": "59e4f9a42f7f41599f40a34768524a52" - }, - { - "m_Id": "bb93298e923441b8b15902c57d364a83" - } - ], - "m_GroupDatas": [], - "m_StickyNoteDatas": [], - "m_Edges": [ - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "03a2f0ea1a8a4ea198b506a94b1205cd" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 9 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "37718a5109a44467ac2165dbe0132c8f" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "bd60f1e40aa140aeba5ddad8c2cee30d" - }, - "m_SlotId": 0 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "3e46eb76f3e94a73912aecb313b485e5" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 0 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "41ea0f4debec4c439fdacfd417eaf1a9" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 11 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "51cb8786f9564c7196b49795ba7ff46e" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 8 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "55e0b426fdd9486bb595c26dfe441cdc" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 7 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "59e4f9a42f7f41599f40a34768524a52" - }, - "m_SlotId": 2 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 4 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "64360f1ac2d94b5ebc0fc5e371182f45" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 10 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "65403c9942354e75ac21702333d58194" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c76d48ee7c3549f296a21d62640830f1" - }, - "m_SlotId": 0 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "995efe8286884c36bdda9c2ffa0311b1" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 12 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "9ab35fa1fae046bf8f9cd00d738b1def" - }, - "m_SlotId": 1 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 6 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "b7936bec0c00437fa30557d9cc79310b" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "59e4f9a42f7f41599f40a34768524a52" - }, - "m_SlotId": 1 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "bb93298e923441b8b15902c57d364a83" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "59e4f9a42f7f41599f40a34768524a52" - }, - "m_SlotId": 0 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "bd60f1e40aa140aeba5ddad8c2cee30d" - }, - "m_SlotId": 3 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "1035dda04278422b988336d6984e2045" - }, - "m_SlotId": 0 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 5 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "593cf54375cd4b718eaa98da80c9f16b" - }, - "m_SlotId": 0 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "c76d48ee7c3549f296a21d62640830f1" - }, - "m_SlotId": 3 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "bd60f1e40aa140aeba5ddad8c2cee30d" - }, - "m_SlotId": 2 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "d837bbfe59e545829b1aef6a76ddc4db" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 3 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "ea1040f4c7a34e3dae889e591d624208" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 2 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "f39af772925c40ec981b6aeb93142134" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 1 - } - } - ], - "m_VertexContext": { - "m_Position": { - "x": 1350.0, - "y": 347.0 - }, - "m_Blocks": [ - { - "m_Id": "1c9efd0d62ec4a41af6fc02f42f007a5" - }, - { - "m_Id": "592326d0e6a5449d9770db4ebab86e74" - }, - { - "m_Id": "914238e697f0497b899046a1c55f3677" - } - ] - }, - "m_FragmentContext": { - "m_Position": { - "x": 1349.0001220703125, - "y": 550.0000610351563 - }, - "m_Blocks": [ - { - "m_Id": "593cf54375cd4b718eaa98da80c9f16b" - }, - { - "m_Id": "e8079c6fe3fd4d8cb6a56ebed793d36f" - }, - { - "m_Id": "83d4bd5d6d244a5b98e3303d5dcd7e18" - }, - { - "m_Id": "e042671f7f804efca0130f700c1e3e50" - }, - { - "m_Id": "3fd8f5b2e9a54f4f81f6c3bbad99aaea" - }, - { - "m_Id": "e3b5f3929aea4876bef5e48e7d8e7f4f" - }, - { - "m_Id": "1035dda04278422b988336d6984e2045" - }, - { - "m_Id": "3fea3a0fd081426aa54576a95540dce2" - } - ] - }, - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - }, - "preventRotation": false - }, - "m_Path": "Coiriergraphics", - "m_GraphPrecision": 1, - "m_PreviewMode": 2, - "m_OutputNode": { - "m_Id": "" - }, - "m_SubDatas": [], - "m_ActiveTargets": [ - { - "m_Id": "8c0488408c8a4e4abfe880ad05c3fe5e" - } - ] -} - -{ - "m_SGVersion": 3, - "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", - "m_ObjectId": "00de379b90744d5496dbbab532d54c41", - "m_Guid": { - "m_GuidSerialized": "f22cf8f1-440c-43be-bc8b-e70e70e79270" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "Color", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "Color", - "m_DefaultReferenceName": "_Color", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": true, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": false, - "hlslDeclarationOverride": 0, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": { - "r": 0.8588235378265381, - "g": 0.8588235378265381, - "b": 0.8588235378265381, - "a": 1.0 - }, - "isMainColor": false, - "m_ColorMode": 1 -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "02b3238eda79428b83141c0f1cd93ffa", - "m_Name": "Grain", - "m_ChildObjectList": [ - { - "m_Id": "684b0d6977f24bc0911a0a691cf91f45" - }, - { - "m_Id": "c88010bf5d374c558536bab6657f2905" - }, - { - "m_Id": "89822b65542d4e30965590910a22d7d5" - } - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.PropertyNode", - "m_ObjectId": "03a2f0ea1a8a4ea198b506a94b1205cd", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Property", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 571.0000610351563, - "y": 1024.0001220703125, - "width": 159.0, - "height": 34.0 - } - }, - "m_Slots": [ - { - "m_Id": "0a3aa4fb937d4bcf9f02c390a18bc451" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Property": { - "m_Id": "3a846e73a5a74ce2ab432b3284d7966e" - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "0a3aa4fb937d4bcf9f02c390a18bc451", - "m_Id": 0, - "m_DisplayName": "StrokeHardness", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "1035dda04278422b988336d6984e2045", - "m_Group": { - "m_Id": "" - }, - "m_Name": "SurfaceDescription.Alpha", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 0.0, - "y": 0.0, - "width": 0.0, - "height": 0.0 - } - }, - "m_Slots": [ - { - "m_Id": "4f0d6264756a4a598113babcfda5a18f" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "SurfaceDescription.Alpha" -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "12a1404f7031496a889989457e692bdd", - "m_Id": 3, - "m_DisplayName": "World Bounds Max", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "World Bounds Max", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "13a46f5ba2f84bde9e421a2361228736", - "m_Name": "Shadow", - "m_ChildObjectList": [ - { - "m_Id": "f9d0721d460b431a95ae40ee06b6a854" - }, - { - "m_Id": "cb2968cecd2d4e1abf1dec9fd7b5f816" - }, - { - "m_Id": "8ddc5e296a9f402f86b59bcdb3212a75" - } - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "1810970db54d423b8e943f22d93dff81", - "m_Name": "Global", - "m_ChildObjectList": [ - { - "m_Id": "00de379b90744d5496dbbab532d54c41" - } - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "193fb639fad9414bac3a5cb8792c43f2", - "m_Name": "Highlight", - "m_ChildObjectList": [ - { - "m_Id": "c8c81d08ce6240a78db604444ba40ed5" - }, - { - "m_Id": "4cda480f5ebf44b3807dd27433995c98" - }, - { - "m_Id": "d18c801dc9b44ee5976c232608872e27" - } - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "1c9efd0d62ec4a41af6fc02f42f007a5", - "m_Group": { - "m_Id": "" - }, - "m_Name": "VertexDescription.Position", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 0.0, - "y": 0.0, - "width": 0.0, - "height": 0.0 - } - }, - "m_Slots": [ - { - "m_Id": "fb84ed33198947c792183c161d398299" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "VertexDescription.Position" -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "23208bf8d8014930a2ad33e2e5200a83", - "m_Id": 0, - "m_DisplayName": "StrokeDensity", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "272831abe38149719daca62951a8fea9", - "m_Id": 0, - "m_DisplayName": "StrokeWidth", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Internal.BooleanShaderProperty", - "m_ObjectId": "2901eeaa09b84e25ac0f831d668b950b", - "m_Guid": { - "m_GuidSerialized": "1ee46b8e-0777-4496-8316-be0978808dc4" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "MaskValueOnDisabled", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "MaskValueOnDisabled", - "m_DefaultReferenceName": "_MaskValueOnDisabled", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": true, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": false, - "hlslDeclarationOverride": 0, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "3250021ee13142fbae82c29587513b45", - "m_Name": "Stroke", - "m_ChildObjectList": [ - { - "m_Id": "f5635e32bf83409098de2fdd9c0f0117" - }, - { - "m_Id": "94c591736c9d437581be9fd159b4812f" - }, - { - "m_Id": "3a846e73a5a74ce2ab432b3284d7966e" - } - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "35d40dac560947a0b6e033f2f77b12a0", - "m_Id": 2, - "m_DisplayName": "World Bounds Min", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "World Bounds Min", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.PropertyNode", - "m_ObjectId": "37718a5109a44467ac2165dbe0132c8f", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Property", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 719.0000610351563, - "y": 1171.0, - "width": 135.0, - "height": 34.0 - } - }, - "m_Slots": [ - { - "m_Id": "38f1664ac43a490fa28af40347a55312" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Property": { - "m_Id": "734b323db0cf48d1ab2c7e44ab3ffa77" - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "38f1664ac43a490fa28af40347a55312", - "m_Id": 0, - "m_DisplayName": "MaskEnabled", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "3a846e73a5a74ce2ab432b3284d7966e", - "m_Guid": { - "m_GuidSerialized": "6d236509-036d-448f-9291-0194174efddb" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "StrokeHardness", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "StrokeHardness", - "m_DefaultReferenceName": "_StrokeHardness", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": true, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": false, - "hlslDeclarationOverride": 0, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 1.0, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": 0.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BooleanMaterialSlot", - "m_ObjectId": "3e0ab1254089420985c7cf9b514cd76b", - "m_Id": 0, - "m_DisplayName": "Predicate", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "Predicate", - "m_StageCapability": 3, - "m_Value": false, - "m_DefaultValue": false -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.PositionNode", - "m_ObjectId": "3e46eb76f3e94a73912aecb313b485e5", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Position", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 329.9999694824219, - "y": 342.9999694824219, - "width": 205.99996948242188, - "height": 130.0 - } - }, - "m_Slots": [ - { - "m_Id": "824e4e2cd50348e2bcd290bc4d180bb7" - } - ], - "synonyms": [ - "location" - ], - "m_Precision": 1, - "m_PreviewExpanded": false, - "m_DismissedVersion": 0, - "m_PreviewMode": 2, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Space": 2, - "m_PositionSource": 0 -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "3e8d5dc458f24eebaac4049b9ebf050e", - "m_Id": 3, - "m_DisplayName": "NormalOS", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "NormalOS", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "3ecbdcbb4a4b41b18d34b218166c4540", - "m_Id": 0, - "m_DisplayName": "Position", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Position", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "3fd8f5b2e9a54f4f81f6c3bbad99aaea", - "m_Group": { - "m_Id": "" - }, - "m_Name": "SurfaceDescription.Occlusion", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 0.0, - "y": 0.0, - "width": 0.0, - "height": 0.0 - } - }, - "m_Slots": [ - { - "m_Id": "8b61a92142424b1c8061c66a2bcabedb" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "SurfaceDescription.Occlusion" -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "3fea3a0fd081426aa54576a95540dce2", - "m_Group": { - "m_Id": "" - }, - "m_Name": "SurfaceDescription.AlphaClipThreshold", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 0.0, - "y": 0.0, - "width": 0.0, - "height": 0.0 - } - }, - "m_Slots": [ - { - "m_Id": "f9a8315c1aa64dd1b313c3ba6d5487c2" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "SurfaceDescription.AlphaClipThreshold" -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.PropertyNode", - "m_ObjectId": "41ea0f4debec4c439fdacfd417eaf1a9", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Property", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 632.0000610351563, - "y": 1062.0001220703125, - "width": 100.0, - "height": 34.0 - } - }, - "m_Slots": [ - { - "m_Id": "8044cd4788ad482991a43d3a751a0972" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Property": { - "m_Id": "5532ce967e084f5a832efbee343c8881" - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "4ae9f85504784bd8a4c0b331d786d017", - "m_Name": "Mask", - "m_ChildObjectList": [ - { - "m_Id": "734b323db0cf48d1ab2c7e44ab3ffa77" - }, - { - "m_Id": "2901eeaa09b84e25ac0f831d668b950b" - } - ] -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "4cda480f5ebf44b3807dd27433995c98", - "m_Guid": { - "m_GuidSerialized": "cdc2e778-b068-438b-b8d9-82b0ed719cc8" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "HighlightMin", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "HighlightMin", - "m_DefaultReferenceName": "_HighlightMin", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 0.5, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": -1.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "4ec542f870ae411ebc0109fbcc06c4d2", - "m_Guid": { - "m_GuidSerialized": "26591b7d-70fd-466c-8712-6e0e868b6710" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "Test", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "Test", - "m_DefaultReferenceName": "_Test", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 0.0, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": 0.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "4f0d6264756a4a598113babcfda5a18f", - "m_Id": 0, - "m_DisplayName": "Alpha", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "Alpha", - "m_StageCapability": 2, - "m_Value": 0.0, - "m_DefaultValue": 1.0, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", - "m_ObjectId": "4f3af93434af4333aa61a486edd45935", - "m_Id": 0, - "m_DisplayName": "Emission", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "Emission", - "m_StageCapability": 2, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [], - "m_ColorMode": 1, - "m_DefaultColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.PropertyNode", - "m_ObjectId": "51cb8786f9564c7196b49795ba7ff46e", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Property", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 579.0000610351563, - "y": 986.0000610351563, - "width": 139.0, - "height": 34.0 - } - }, - "m_Slots": [ - { - "m_Id": "272831abe38149719daca62951a8fea9" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Property": { - "m_Id": "94c591736c9d437581be9fd159b4812f" - } -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "5532ce967e084f5a832efbee343c8881", - "m_Guid": { - "m_GuidSerialized": "42e01693-2ce6-45b2-8d22-326f856aaa89" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "Step", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "Step", - "m_DefaultReferenceName": "_Step", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 6.0, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": 0.0, - "y": 6.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.PropertyNode", - "m_ObjectId": "55e0b426fdd9486bb595c26dfe441cdc", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Property", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 551.0000610351563, - "y": 901.0000610351563, - "width": 150.0, - "height": 34.0 - } - }, - "m_Slots": [ - { - "m_Id": "66774f6606034d228f83cc97c6061610" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Property": { - "m_Id": "9179c761aeb24115bffb5f782be13d25" - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "592326d0e6a5449d9770db4ebab86e74", - "m_Group": { - "m_Id": "" - }, - "m_Name": "VertexDescription.Normal", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 0.0, - "y": 0.0, - "width": 0.0, - "height": 0.0 - } - }, - "m_Slots": [ - { - "m_Id": "950488420c3c49a8bfe8013e28bf378d" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "VertexDescription.Normal" -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "593cf54375cd4b718eaa98da80c9f16b", - "m_Group": { - "m_Id": "" - }, - "m_Name": "SurfaceDescription.BaseColor", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 0.0, - "y": 0.0, - "width": 0.0, - "height": 0.0 - } - }, - "m_Slots": [ - { - "m_Id": "841e694ab34f4042af166f587e2d864a" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "SurfaceDescription.BaseColor" -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", - "m_ObjectId": "59e4f9a42f7f41599f40a34768524a52", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Multiply", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 776.3333129882813, - "y": 294.33331298828127, - "width": 129.99993896484376, - "height": 118.0 - } - }, - "m_Slots": [ - { - "m_Id": "94318a85a9404d09857b930bb072f578" - }, - { - "m_Id": "7a2cf220faed405280edb0d6d53d671b" - }, - { - "m_Id": "bd226c19eec74367a8a821f02df05979" - } - ], - "synonyms": [ - "multiplication", - "times", - "x" - ], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "5af11e0b7ea84c2a82d4d1b3a763e931", - "m_Id": 0, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", - "m_ObjectId": "5b149889e6574c49acaa3216871f187b", - "m_Id": 12, - "m_DisplayName": "ScreenUV", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "ScreenUV", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", - "m_ObjectId": "5f122713fb304760bbd5b4e49abb6b62", - "m_Id": 0, - "m_DisplayName": "Tangent", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "Tangent", - "m_StageCapability": 1, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [], - "m_Space": 0 -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "5f44623525084d1ba4600622f562acc0", - "m_Id": 0, - "m_DisplayName": "Smoothness", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "Smoothness", - "m_StageCapability": 2, - "m_Value": 0.0, - "m_DefaultValue": 0.5, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "60f32ae5a118479d8c9dd6968672a9d8", - "m_Id": 2, - "m_DisplayName": "False", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "False", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_LiteralMode": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "62acb26bef024e0abf105027563b83bb", - "m_Id": 7, - "m_DisplayName": "TriplanarBlend", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "TriplanarBlend", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.PropertyNode", - "m_ObjectId": "64360f1ac2d94b5ebc0fc5e371182f45", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Property", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 554.0, - "y": 948.0000610351563, - "width": 148.00006103515626, - "height": 34.0 - } - }, - "m_Slots": [ - { - "m_Id": "23208bf8d8014930a2ad33e2e5200a83" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Property": { - "m_Id": "f5635e32bf83409098de2fdd9c0f0117" - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.PropertyNode", - "m_ObjectId": "65403c9942354e75ac21702333d58194", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Property", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 659.9999389648438, - "y": 1227.9998779296875, - "width": 194.0, - "height": 34.0 - } - }, - "m_Slots": [ - { - "m_Id": "cef71f1b627d49acaf66fc70f5330517" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Property": { - "m_Id": "2901eeaa09b84e25ac0f831d668b950b" - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "66774f6606034d228f83cc97c6061610", - "m_Id": 0, - "m_DisplayName": "TriplanarBlend", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 3, - "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", - "m_ObjectId": "684b0d6977f24bc0911a0a691cf91f45", - "m_Guid": { - "m_GuidSerialized": "f34d512d-6af5-4a7c-bff4-5eab910ad405" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "GrainColor", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "GrainColor", - "m_DefaultReferenceName": "_GrainColor", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.09803921729326248 - }, - "isMainColor": false, - "m_ColorMode": 0 -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "689f6f3377bf4ae6857e9104c8a2bf1e", - "m_Id": 6, - "m_DisplayName": "ObjectScale", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "ObjectScale", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "7105cf6bb67c4370bdbeaae3d21efc9a", - "m_Id": 10, - "m_DisplayName": "StripesDensity", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "StripesDensity", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "734b323db0cf48d1ab2c7e44ab3ffa77", - "m_Guid": { - "m_GuidSerialized": "02101f19-0ee2-4953-9be9-b1783cd5aa05" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "MaskEnabled", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "MaskEnabled", - "m_DefaultReferenceName": "_MaskEnabled", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 1, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 0.0, - "m_FloatType": 0, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": 0.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "770942f08967409986039d240eed6a0e", - "m_Id": 3, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_LiteralMode": true -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", - "m_ObjectId": "7a2cf220faed405280edb0d6d53d671b", - "m_Id": 1, - "m_DisplayName": "B", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "B", - "m_StageCapability": 3, - "m_Value": { - "e00": 2.0, - "e01": 2.0, - "e02": 2.0, - "e03": 2.0, - "e10": 2.0, - "e11": 2.0, - "e12": 2.0, - "e13": 2.0, - "e20": 2.0, - "e21": 2.0, - "e22": 2.0, - "e23": 2.0, - "e30": 2.0, - "e31": 2.0, - "e32": 2.0, - "e33": 2.0 - }, - "m_DefaultValue": { - "e00": 1.0, - "e01": 0.0, - "e02": 0.0, - "e03": 0.0, - "e10": 0.0, - "e11": 1.0, - "e12": 0.0, - "e13": 0.0, - "e20": 0.0, - "e21": 0.0, - "e22": 1.0, - "e23": 0.0, - "e30": 0.0, - "e31": 0.0, - "e32": 0.0, - "e33": 1.0 - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", - "m_ObjectId": "7bcdee56365248b89188b50cd6cc8d9a", - "m_Id": 0, - "m_DisplayName": "Normal (Tangent Space)", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "NormalTS", - "m_StageCapability": 2, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [], - "m_Space": 3 -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "8044cd4788ad482991a43d3a751a0972", - "m_Id": 0, - "m_DisplayName": "Step", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "824e4e2cd50348e2bcd290bc4d180bb7", - "m_Id": 0, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "83d4bd5d6d244a5b98e3303d5dcd7e18", - "m_Group": { - "m_Id": "" - }, - "m_Name": "SurfaceDescription.Emission", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 0.0, - "y": 0.0, - "width": 0.0, - "height": 0.0 - } - }, - "m_Slots": [ - { - "m_Id": "4f3af93434af4333aa61a486edd45935" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "SurfaceDescription.Emission" -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", - "m_ObjectId": "841e694ab34f4042af166f587e2d864a", - "m_Id": 0, - "m_DisplayName": "Base Color", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "BaseColor", - "m_StageCapability": 2, - "m_Value": { - "x": 1.0, - "y": 1.0, - "z": 1.0 - }, - "m_DefaultValue": { - "x": 0.5, - "y": 0.5, - "z": 0.5 - }, - "m_Labels": [], - "m_ColorMode": 0, - "m_DefaultColor": { - "r": 0.5, - "g": 0.5, - "b": 0.5, - "a": 1.0 - } -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "89822b65542d4e30965590910a22d7d5", - "m_Guid": { - "m_GuidSerialized": "45eee914-275d-4b86-9d18-5e4baf2ccdfc" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "GrainStrength", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "GrainStrength", - "m_DefaultReferenceName": "_GrainStrength", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 0.20000000298023225, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": 0.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "8b61a92142424b1c8061c66a2bcabedb", - "m_Id": 0, - "m_DisplayName": "Ambient Occlusion", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "Occlusion", - "m_StageCapability": 2, - "m_Value": 1.0, - "m_DefaultValue": 1.0, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", - "m_ObjectId": "8c0488408c8a4e4abfe880ad05c3fe5e", - "m_Datas": [], - "m_ActiveSubTarget": { - "m_Id": "b04fa16c526044dda129bb47b4842e81" - }, - "m_AllowMaterialOverride": false, - "m_SurfaceType": 0, - "m_ZTestMode": 4, - "m_ZWriteControl": 0, - "m_AlphaMode": 0, - "m_RenderFace": 2, - "m_AlphaClip": true, - "m_CastShadows": true, - "m_ReceiveShadows": true, - "m_DisableTint": false, - "m_Sort3DAs2DCompatible": false, - "m_AdditionalMotionVectorMode": 0, - "m_AlembicMotionVectors": false, - "m_SupportsLODCrossFade": false, - "m_CustomEditorGUI": "", - "m_SupportVFX": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "8c26652d47d64417a9ce7a93bb811466", - "m_Id": 11, - "m_DisplayName": "Step", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "Step", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "8ddc5e296a9f402f86b59bcdb3212a75", - "m_Guid": { - "m_GuidSerialized": "3193da64-8b9f-42dd-9c49-78a2c972b897" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "ShadowMax", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "ShadowMax", - "m_DefaultReferenceName": "_ShadowMax", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 0.20000000298023225, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": -1.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "8ead54ba7a8d487ea3f55e930101215f", - "m_Id": 5, - "m_DisplayName": "Output", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Output", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "8ec4a0fe2487442087508231220eb8ac", - "m_Name": "Triplanar", - "m_ChildObjectList": [ - { - "m_Id": "9179c761aeb24115bffb5f782be13d25" - } - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "914238e697f0497b899046a1c55f3677", - "m_Group": { - "m_Id": "" - }, - "m_Name": "VertexDescription.Tangent", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 0.0, - "y": 0.0, - "width": 0.0, - "height": 0.0 - } - }, - "m_Slots": [ - { - "m_Id": "5f122713fb304760bbd5b4e49abb6b62" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "VertexDescription.Tangent" -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "9179c761aeb24115bffb5f782be13d25", - "m_Guid": { - "m_GuidSerialized": "72128b6d-e551-44df-8660-769908c759a8" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "TriplanarBlend", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "TriplanarBlend", - "m_DefaultReferenceName": "_TriplanarBlend", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 0.0, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": 0.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", - "m_ObjectId": "94318a85a9404d09857b930bb072f578", - "m_Id": 0, - "m_DisplayName": "A", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "A", - "m_StageCapability": 3, - "m_Value": { - "e00": 0.0, - "e01": 0.0, - "e02": 0.0, - "e03": 0.0, - "e10": 0.0, - "e11": 0.0, - "e12": 0.0, - "e13": 0.0, - "e20": 0.0, - "e21": 0.0, - "e22": 0.0, - "e23": 0.0, - "e30": 0.0, - "e31": 0.0, - "e32": 0.0, - "e33": 0.0 - }, - "m_DefaultValue": { - "e00": 1.0, - "e01": 0.0, - "e02": 0.0, - "e03": 0.0, - "e10": 0.0, - "e11": 1.0, - "e12": 0.0, - "e13": 0.0, - "e20": 0.0, - "e21": 0.0, - "e22": 1.0, - "e23": 0.0, - "e30": 0.0, - "e31": 0.0, - "e32": 0.0, - "e33": 1.0 - } -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "94c591736c9d437581be9fd159b4812f", - "m_Guid": { - "m_GuidSerialized": "07b69569-e7d6-448b-a250-47b7fe56acf5" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "StrokeWidth", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "StrokeWidth", - "m_DefaultReferenceName": "_StrokeWidth", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": true, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": false, - "hlslDeclarationOverride": 0, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 0.20000000298023225, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": 0.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", - "m_ObjectId": "950488420c3c49a8bfe8013e28bf378d", - "m_Id": 0, - "m_DisplayName": "Normal", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "Normal", - "m_StageCapability": 1, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [], - "m_Space": 0 -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "95583745f83248b0a44023be8fefd0c1", - "m_Id": 0, - "m_DisplayName": "PositionWS", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "PositionWS", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "96f37904750042fdbcf2c3502d5e522c", - "m_Id": 1, - "m_DisplayName": "True", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "True", - "m_StageCapability": 3, - "m_Value": { - "x": 1.0, - "y": 1.0, - "z": 1.0, - "w": 1.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_LiteralMode": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.ScreenPositionNode", - "m_ObjectId": "995efe8286884c36bdda9c2ffa0311b1", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Screen Position", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 388.0000305175781, - "y": 213.00001525878907, - "width": 145.00003051757813, - "height": 127.99998474121094 - } - }, - "m_Slots": [ - { - "m_Id": "dd6855538000446e9e5547ba4eefedcc" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_ScreenSpaceType": 0 -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.ObjectNode", - "m_ObjectId": "9ab35fa1fae046bf8f9cd00d738b1def", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Object", - "m_DrawState": { - "m_Expanded": false, - "m_Position": { - "serializedVersion": "2", - "x": 596.0000610351563, - "y": 811.0000610351563, - "width": 84.0, - "height": 76.0 - } - }, - "m_Slots": [ - { - "m_Id": "3ecbdcbb4a4b41b18d34b218166c4540" - }, - { - "m_Id": "9ad600c29e2444118b3568bb336abb78" - }, - { - "m_Id": "35d40dac560947a0b6e033f2f77b12a0" - }, - { - "m_Id": "12a1404f7031496a889989457e692bdd" - }, - { - "m_Id": "e79f7ead11484dc48246da8eb345deea" - } - ], - "synonyms": [ - "position", - "scale", - "bounds", - "size" - ], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "9ad600c29e2444118b3568bb336abb78", - "m_Id": 1, - "m_DisplayName": "Scale", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Scale", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "9d254cae24a047ed8004b1debb2445b4", - "m_Id": 8, - "m_DisplayName": "StripesWidth", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "StripesWidth", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", - "m_ObjectId": "a4ebf1b78b20490d9b1c3591e31e9f00", - "m_Id": 4, - "m_DisplayName": "Color", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "Color", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", - "m_ObjectId": "aec774f1e5a14e85bf826f9181d7f26c", - "m_Id": 0, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 1.0, - "y": 1.0, - "z": 1.0, - "w": 1.0 - }, - "m_DefaultValue": { - "x": 1.0, - "y": 1.0, - "z": 1.0, - "w": 1.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 2, - "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalLitSubTarget", - "m_ObjectId": "b04fa16c526044dda129bb47b4842e81", - "m_WorkflowMode": 1, - "m_NormalDropOffSpace": 0, - "m_ClearCoat": false, - "m_BlendModePreserveSpecular": true -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "b5295cbac1374e2e822d6bf064e92dc3", - "m_Id": 0, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 1.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 1.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "b57ac4ee74f249e09c13db331076ff5a", - "m_Id": 2, - "m_DisplayName": "False", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "False", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_LiteralMode": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.VertexColorNode", - "m_ObjectId": "b7936bec0c00437fa30557d9cc79310b", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Vertex Color", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 602.3333129882813, - "y": 234.33334350585938, - "width": 116.99993896484375, - "height": 93.99998474121094 - } - }, - "m_Slots": [ - { - "m_Id": "aec774f1e5a14e85bf826f9181d7f26c" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_DismissedVersion": 0, - "m_PreviewMode": 2, - "m_CustomColors": { - "m_SerializableColors": [] - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.PropertyNode", - "m_ObjectId": "bb93298e923441b8b15902c57d364a83", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Property", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 643.3333129882813, - "y": 191.33334350585938, - "width": 104.99993896484375, - "height": 34.0 - } - }, - "m_Slots": [ - { - "m_Id": "fe5da23270a1488db1ac56bdfcb929a3" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Property": { - "m_Id": "00de379b90744d5496dbbab532d54c41" - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "bc5ffc0fc8f74337b33145d351b0d0a5", - "m_Id": 2, - "m_DisplayName": "NormalWS", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "NormalWS", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", - "m_ObjectId": "bd226c19eec74367a8a821f02df05979", - "m_Id": 2, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "e00": 0.0, - "e01": 0.0, - "e02": 0.0, - "e03": 0.0, - "e10": 0.0, - "e11": 0.0, - "e12": 0.0, - "e13": 0.0, - "e20": 0.0, - "e21": 0.0, - "e22": 0.0, - "e23": 0.0, - "e30": 0.0, - "e31": 0.0, - "e32": 0.0, - "e33": 0.0 - }, - "m_DefaultValue": { - "e00": 1.0, - "e01": 0.0, - "e02": 0.0, - "e03": 0.0, - "e10": 0.0, - "e11": 1.0, - "e12": 0.0, - "e13": 0.0, - "e20": 0.0, - "e21": 0.0, - "e22": 1.0, - "e23": 0.0, - "e30": 0.0, - "e31": 0.0, - "e32": 0.0, - "e33": 1.0 - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BranchNode", - "m_ObjectId": "bd60f1e40aa140aeba5ddad8c2cee30d", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Branch", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 1064.0, - "y": 1130.0, - "width": 170.0, - "height": 142.0 - } - }, - "m_Slots": [ - { - "m_Id": "c7e06ce4c6684486954648758ccea025" - }, - { - "m_Id": "e55ab4b45d924332857c84292d4de1ce" - }, - { - "m_Id": "60f32ae5a118479d8c9dd6968672a9d8" - }, - { - "m_Id": "e1c6d88b4b294b8b88d9850b1e57f463" - } - ], - "synonyms": [ - "switch", - "if", - "else" - ], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - } -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", - "m_ObjectId": "c5d342277052409f87283f2c60ccf3a1", - "m_Group": { - "m_Id": "" - }, - "m_Name": "EnkiBillal (Custom Function)", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 990.0, - "y": 547.0, - "width": 214.0, - "height": 334.0 - } - }, - "m_Slots": [ - { - "m_Id": "8ead54ba7a8d487ea3f55e930101215f" - }, - { - "m_Id": "a4ebf1b78b20490d9b1c3591e31e9f00" - }, - { - "m_Id": "5b149889e6574c49acaa3216871f187b" - }, - { - "m_Id": "95583745f83248b0a44023be8fefd0c1" - }, - { - "m_Id": "fdd6ef562e274db8bc1a4eb6e122b95a" - }, - { - "m_Id": "bc5ffc0fc8f74337b33145d351b0d0a5" - }, - { - "m_Id": "3e8d5dc458f24eebaac4049b9ebf050e" - }, - { - "m_Id": "689f6f3377bf4ae6857e9104c8a2bf1e" - }, - { - "m_Id": "62acb26bef024e0abf105027563b83bb" - }, - { - "m_Id": "7105cf6bb67c4370bdbeaae3d21efc9a" - }, - { - "m_Id": "9d254cae24a047ed8004b1debb2445b4" - }, - { - "m_Id": "d733edfbd0be42b68106424da98e478b" - }, - { - "m_Id": "8c26652d47d64417a9ce7a93bb811466" - } - ], - "synonyms": [ - "code", - "HLSL" - ], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SourceType": 0, - "m_FunctionName": "EnkiBillal", - "m_FunctionSource": "411dec433a23f2c4da8f56e83e7230da", - "m_FunctionSourceUsePragmas": true, - "m_FunctionBody": "Enter function body here..." -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BranchNode", - "m_ObjectId": "c76d48ee7c3549f296a21d62640830f1", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Branch", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 870.0000610351563, - "y": 1228.0, - "width": 170.00006103515626, - "height": 142.0001220703125 - } - }, - "m_Slots": [ - { - "m_Id": "3e0ab1254089420985c7cf9b514cd76b" - }, - { - "m_Id": "96f37904750042fdbcf2c3502d5e522c" - }, - { - "m_Id": "b57ac4ee74f249e09c13db331076ff5a" - }, - { - "m_Id": "770942f08967409986039d240eed6a0e" - } - ], - "synonyms": [ - "switch", - "if", - "else" - ], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BooleanMaterialSlot", - "m_ObjectId": "c7e06ce4c6684486954648758ccea025", - "m_Id": 0, - "m_DisplayName": "Predicate", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "Predicate", - "m_StageCapability": 3, - "m_Value": false, - "m_DefaultValue": false -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "c88010bf5d374c558536bab6657f2905", - "m_Guid": { - "m_GuidSerialized": "91c16887-e3ce-4563-9ccf-0daca777f9ed" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "GrainSize", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "GrainSize", - "m_DefaultReferenceName": "_GrainSize", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 0.4000000059604645, - "m_FloatType": 0, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": 0.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - -{ - "m_SGVersion": 3, - "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", - "m_ObjectId": "c8c81d08ce6240a78db604444ba40ed5", - "m_Guid": { - "m_GuidSerialized": "3ab089bd-b6a8-4503-802b-cd2178752ce7" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "HighlightColor", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "HighlightColor", - "m_DefaultReferenceName": "_HighlightColor", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": { - "r": 2.118547201156616, - "g": 2.118547201156616, - "b": 2.118547201156616, - "a": 1.0 - }, - "isMainColor": false, - "m_ColorMode": 1 -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "caef6846e2354f1cbac882690ccb8414", - "m_Id": 0, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 1.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 1.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "cb2968cecd2d4e1abf1dec9fd7b5f816", - "m_Guid": { - "m_GuidSerialized": "20694f7f-877a-4344-a6b0-9d88fab8b147" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "ShadowMin", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "ShadowMin", - "m_DefaultReferenceName": "_ShadowMin", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": -0.5, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": -1.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BooleanMaterialSlot", - "m_ObjectId": "cef71f1b627d49acaf66fc70f5330517", - "m_Id": 0, - "m_DisplayName": "MaskValueOnDisabled", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": false, - "m_DefaultValue": false -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "d18c801dc9b44ee5976c232608872e27", - "m_Guid": { - "m_GuidSerialized": "5056d277-3f74-4a0b-9caf-e5df507f485b" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "HighlightMax", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "HighlightMax", - "m_DefaultReferenceName": "_HighlightMax", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 1.0, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": -1.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "d733edfbd0be42b68106424da98e478b", - "m_Id": 9, - "m_DisplayName": "StripesSmooth", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "StripesSmooth", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.NormalVectorNode", - "m_ObjectId": "d837bbfe59e545829b1aef6a76ddc4db", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Normal Vector", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 329.0000305175781, - "y": 737.0000610351563, - "width": 206.00003051757813, - "height": 130.0 - } - }, - "m_Slots": [ - { - "m_Id": "b5295cbac1374e2e822d6bf064e92dc3" - } - ], - "synonyms": [ - "surface direction" - ], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_DismissedVersion": 0, - "m_PreviewMode": 2, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Space": 0 -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "db6291cf3b11425d8379867bcb979a33", - "m_Id": 0, - "m_DisplayName": "Metallic", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "Metallic", - "m_StageCapability": 2, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", - "m_ObjectId": "dd6855538000446e9e5547ba4eefedcc", - "m_Id": 0, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "e042671f7f804efca0130f700c1e3e50", - "m_Group": { - "m_Id": "" - }, - "m_Name": "SurfaceDescription.NormalTS", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 0.0, - "y": 0.0, - "width": 0.0, - "height": 0.0 - } - }, - "m_Slots": [ - { - "m_Id": "7bcdee56365248b89188b50cd6cc8d9a" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "SurfaceDescription.NormalTS" -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "e0770fc9853c4888a9fb2a8136f37286", - "m_Name": "Debug", - "m_ChildObjectList": [ - { - "m_Id": "4ec542f870ae411ebc0109fbcc06c4d2" - }, - { - "m_Id": "5532ce967e084f5a832efbee343c8881" - } - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "e1c6d88b4b294b8b88d9850b1e57f463", - "m_Id": 3, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_LiteralMode": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "e3b5f3929aea4876bef5e48e7d8e7f4f", - "m_Group": { - "m_Id": "" - }, - "m_Name": "SurfaceDescription.Metallic", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 0.0, - "y": 0.0, - "width": 0.0, - "height": 0.0 - } - }, - "m_Slots": [ - { - "m_Id": "db6291cf3b11425d8379867bcb979a33" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "SurfaceDescription.Metallic" -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "e55ab4b45d924332857c84292d4de1ce", - "m_Id": 1, - "m_DisplayName": "True", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "True", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 1.0, - "z": 1.0, - "w": 1.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_LiteralMode": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "e79f7ead11484dc48246da8eb345deea", - "m_Id": 4, - "m_DisplayName": "Bounds Size", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Bounds Size", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "e8079c6fe3fd4d8cb6a56ebed793d36f", - "m_Group": { - "m_Id": "" - }, - "m_Name": "SurfaceDescription.Smoothness", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 0.0, - "y": 0.0, - "width": 0.0, - "height": 0.0 - } - }, - "m_Slots": [ - { - "m_Id": "5f44623525084d1ba4600622f562acc0" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "SurfaceDescription.Smoothness" -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.NormalVectorNode", - "m_ObjectId": "ea1040f4c7a34e3dae889e591d624208", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Normal Vector", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 329.9999694824219, - "y": 604.9999389648438, - "width": 205.99996948242188, - "height": 130.0 - } - }, - "m_Slots": [ - { - "m_Id": "caef6846e2354f1cbac882690ccb8414" - } - ], - "synonyms": [ - "surface direction" - ], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_DismissedVersion": 0, - "m_PreviewMode": 2, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Space": 2 -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.PositionNode", - "m_ObjectId": "f39af772925c40ec981b6aeb93142134", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Position", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 330.0000305175781, - "y": 474.0, - "width": 205.99996948242188, - "height": 130.0 - } - }, - "m_Slots": [ - { - "m_Id": "5af11e0b7ea84c2a82d4d1b3a763e931" - } - ], - "synonyms": [ - "location" - ], - "m_Precision": 1, - "m_PreviewExpanded": false, - "m_DismissedVersion": 0, - "m_PreviewMode": 2, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Space": 0, - "m_PositionSource": 0 -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "f5635e32bf83409098de2fdd9c0f0117", - "m_Guid": { - "m_GuidSerialized": "b17bf999-8fd7-4b46-9cae-047440c43622" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "StrokeDensity", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "StrokeDensity", - "m_DefaultReferenceName": "_StrokeDensity", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": true, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": false, - "hlslDeclarationOverride": 0, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 1000.0, - "m_FloatType": 0, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": 0.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "f82430dd22de4c568ffe2e0dffede934", - "m_Name": "", - "m_ChildObjectList": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "f9a8315c1aa64dd1b313c3ba6d5487c2", - "m_Id": 0, - "m_DisplayName": "Alpha Clip Threshold", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "AlphaClipThreshold", - "m_StageCapability": 2, - "m_Value": 0.5, - "m_DefaultValue": 0.5, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 3, - "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", - "m_ObjectId": "f9d0721d460b431a95ae40ee06b6a854", - "m_Guid": { - "m_GuidSerialized": "1485bb91-02d7-4f04-889f-c6b8c0389de0" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "ShadowColor", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "ShadowColor", - "m_DefaultReferenceName": "_ShadowColor", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": { - "r": 0.1411764770746231, - "g": 0.16862745583057404, - "b": 0.16470588743686677, - "a": 1.0 - }, - "isMainColor": false, - "m_ColorMode": 0 -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", - "m_ObjectId": "fb84ed33198947c792183c161d398299", - "m_Id": 0, - "m_DisplayName": "Position", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "Position", - "m_StageCapability": 1, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [], - "m_Space": 0 -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "fdd6ef562e274db8bc1a4eb6e122b95a", - "m_Id": 1, - "m_DisplayName": "PositionOS", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "PositionOS", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", - "m_ObjectId": "fe5da23270a1488db1ac56bdfcb929a3", - "m_Id": 0, - "m_DisplayName": "Color", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_Labels": [] -} - diff --git a/Assets/_Content/Shaders/EnkiBillal/EnkiBiIlalMask.shadergraph.meta b/Assets/_Content/Shaders/EnkiBillal/EnkiBiIlalMask.shadergraph.meta deleted file mode 100644 index e53f5bb3..00000000 --- a/Assets/_Content/Shaders/EnkiBillal/EnkiBiIlalMask.shadergraph.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: adf06fb1c82bec94d8daea4d30c135e9 -ScriptedImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 2 - userData: - assetBundleName: - assetBundleVariant: - script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} - useAsTemplate: 0 - exposeTemplateAsShader: 0 - template: - name: - category: - description: - icon: {instanceID: 0} - thumbnail: {instanceID: 0} diff --git a/Assets/_Content/Shaders/EnkiBillal/Include/EnkiBiIlal.hlsl b/Assets/_Content/Shaders/EnkiBillal/Include/EnkiBiIlal.hlsl index 3f7e5c41..17324b8f 100644 --- a/Assets/_Content/Shaders/EnkiBillal/Include/EnkiBiIlal.hlsl +++ b/Assets/_Content/Shaders/EnkiBillal/Include/EnkiBiIlal.hlsl @@ -67,65 +67,19 @@ float StableStripes(float x, float depth, float width, float smooth) return smoothstep(w + s, w - s, abs(uv.x - .5) * 2); } -void EnkiBillal_float -( - float4 Color, - float2 ScreenUV, - float3 PositionWS, - float3 PositionOS, - float3 NormalWS, - float3 NormalOS, - float3 ObjectScale, - float TriplanarBlend, - float StripesDensity, - float StripesWidth, - float StripesSmooth, - int Step, - out float3 Output -) +float WorldStripes() { - float3 scaledPositionOS = PositionOS * ObjectScale; - float depth = length(PositionWS - _WorldSpaceCameraPos.xyz); - //Light mainLight = GetMainLight(0); - float3 mainLightDir = normalize(float3(1, -1, 1)); //normalize(float3(0, 13, 8) - PositionWS); //float3(0, -1, 0);//normalize(mainLight.direction); - float lightGradient = dot(normalize(NormalWS), normalize(mainLightDir)); - lightGradient = smoothstep(-.5, 1, lightGradient); - float ao = GetScreenSpaceAmbientOcclusion(ScreenUV).directAmbientOcclusion; - - - // Triplanar - - //float3 triplanarMask = TriplanarMask(NormalWS, TriplanarBlend); - - // Shadow - - float shadowMask = lightGradient;//MainLightShadowAtten(PositionWS, NormalWS, .8); - float shadowAtten = Remap(0, 1, .6, 1, shadowMask); - - // Grain - - float grain = ValueNoise3DLOD(PositionWS, scaledPositionOS, 600, 3.5); - float grainMin = lerp(.4, .8, shadowMask); - float grainAtten = Remap(0, 1, grainMin, 1, grain); - - // Dirt - - float dirt = FBMNoise3D(scaledPositionOS, 1, 3, 2, .5); - float dirtMin = lerp(.2, .7, shadowMask); - float dirtAtten = Remap(0, 1, dirtMin, 1, dirt); - - /*// Stripes - - float StripesScale = StripesDensity; + /*float StripesScale = StripesDensity; //float StripesWidth = .5; //float StripesSmooth = .05; // Octahedral face normals (4 faces + 3 world axes) - float3 octaFaceNormals[7] = { - normalize(float3(1, 1, 1)), - normalize(float3(-1, 1, 1)), - normalize(float3(1, -1, 1)), - normalize(float3(-1, -1, 1)), + float3 octaFaceNormals[7] = + { + normalize(float3(1, 1, 1)), + normalize(float3(-1, 1, 1)), + normalize(float3(1, -1, 1)), + normalize(float3(-1, -1, 1)), float3(1, 0, 0), float3(0, 1, 0), float3(0, 0, 1) @@ -135,16 +89,22 @@ void EnkiBillal_float float sharpness = Remap(0, 1, 1, 16, smoothstep(0, .9, TriplanarBlend)); float octaMask[7]; float hardMax = -1; - int hardIdx = 0; + int hardIdx = 0; for (int i = 0; i < 7; i++) { float d = abs(dot(NormalWS, octaFaceNormals[i])); octaMask[i] = pow(saturate(d), sharpness); - if (d > hardMax) { hardMax = d; hardIdx = i; } + if (d > hardMax) + { + hardMax = d; + hardIdx = i; + } } float maskSum = 0; - for (int i = 0; i < 7; i++) maskSum += octaMask[i]; - for (int i = 0; i < 7; i++) octaMask[i] /= max(maskSum, 0.0001); + for (int i = 0; i < 7; i++) + maskSum += octaMask[i]; + for (int i = 0; i < 7; i++) + octaMask[i] /= max(maskSum, 0.0001); float hardFactor = smoothstep(.9, 1, TriplanarBlend); for (int i = 0; i < 7; i++) { @@ -154,8 +114,8 @@ void EnkiBillal_float // Patern float3 stripesPos = PositionWS; - float3 stripesPos0 = stripesPos;// + PerlinColor3D(PositionWS, .63) * .10; - float3 stripesPos1 = stripesPos;// + PerlinColor3D(PositionWS, 5.7) * .02; + float3 stripesPos0 = stripesPos; // + PerlinColor3D(PositionWS, .63) * .10; + float3 stripesPos1 = stripesPos; // + PerlinColor3D(PositionWS, 5.7) * .02; float width = StripesWidth; // * .5; float smooth = max(StripesSmooth, 1e-5); @@ -190,6 +150,169 @@ void EnkiBillal_float float stripes = max(stripes0, stripes1 * .5); stripes *= smoothstep(.5, 0, lightGradient) * smoothstep(.97, .93, ao);*/ + return 0; +} + +float ProjectionMask( + float3 PositionWS, + float3 CamPositionWS, + float3 RectPositionWS, + float3 RectNormalWS, + float3 RectUpWS, + float2 RectSize, + float Oval) +{ + // Build the rectangle local frame + float3 N = normalize(RectNormalWS); + float3 U = normalize(RectUpWS); + float3 R = normalize(cross(N, U)); // Right axis + U = normalize(cross(R, N)); // Recompute Up orthogonally in case RectUpWS is not perfectly perpendicular to RectNormalWS + + // Ray from camera toward the fragment + float3 rayDir = normalize(PositionWS - CamPositionWS); + + // Ray-plane intersection + // Plane equation: dot(P - RectPositionWS, N) = 0 + float denom = dot(rayDir, N); + + // Ray is parallel to the plane or facing away — no hit + if (abs(denom) < 1e-6) + return 0; + + float t = dot(RectPositionWS - CamPositionWS, N) / denom; + + // Intersection must be in front of the camera (t > 0) + // and not beyond the fragment (t <= distance from camera to fragment) + float tFrag = dot(PositionWS - CamPositionWS, rayDir); + if (t < 0.0 || t > tFrag + 1e-4) + return 0; + + // Compute the hit point on the plane + float3 hitPoint = CamPositionWS + rayDir * t; + + // Project hit point into the rectangle local space + float3 localVec = hitPoint - RectPositionWS; + float localU = dot(localVec, R); // horizontal axis + float localV = dot(localVec, U); // vertical axis + + float halfW = RectSize.x * 0.5; + float halfH = RectSize.y * 0.5; + + // Corner radius: 0 = rectangle, min(halfW, halfH) = oval + float radius = saturate(Oval) * min(halfW, halfH); + + // Rounded rectangle SDF + float2 uv = float2(localU, localV); + float2 ext = float2(halfW, halfH); + float2 q = abs(uv) - ext + radius; + float sdf = length(max(q, 0.0)) - radius; + + return sdf <= 0.0 ? 1.0 : 0.0; +} + +float SampleProjectionMask(float3 PositionWS, float4x4 M) +{ + if (M[0].w == 0) + return 0; + + return ProjectionMask( + PositionWS, + M[0].xyz, // CamPositionWS + M[1].xyz, // RectPositionWS + M[3].xyz, // RectNormalWS + M[2].xyz, // RectUpWS + float2(M[2].w, M[3].w), // RectSize + M[1].w // Shape + ); +} + +void EnkiBillal_float +( + float4 Color, + float2 ScreenUV, + float3 PositionWS, + float3 PositionOS, + float3 NormalWS, + float3 NormalOS, + float3 ObjectScale, + float TriplanarBlend, + float StripesDensity, + float StripesWidth, + float StripesSmooth, + int Step, + float MaskID, + float4x4 Mask0, + float4x4 Mask1, + float4x4 Mask2, + out float3 Output, + out float Alpha +) +{ + float3 scaledPositionOS = PositionOS * ObjectScale; + float depth = length(PositionWS - _WorldSpaceCameraPos.xyz); + //Light mainLight = GetMainLight(0); + float3 mainLightDir = normalize(float3(1, -1, 1)); //normalize(float3(0, 13, 8) - PositionWS); //float3(0, -1, 0);//normalize(mainLight.direction); + float lightGradient = dot(normalize(NormalWS), normalize(mainLightDir)); + lightGradient = smoothstep(-.5, 1, lightGradient); + float ao = GetScreenSpaceAmbientOcclusion(ScreenUV).directAmbientOcclusion; + + + // Triplanar + + //float3 triplanarMask = TriplanarMask(NormalWS, TriplanarBlend); + + // Shadow + + float shadowMask = lightGradient;//MainLightShadowAtten(PositionWS, NormalWS, .8); + float shadowAtten = Remap(0, 1, .6, 1, shadowMask); + + // Grain + + float grain = ValueNoise3DLOD(PositionWS, scaledPositionOS, 600, 3.5); + float grainMin = lerp(.4, .8, shadowMask); + float grainAtten = Remap(0, 1, grainMin, 1, grain); + + // Dirt + + float dirt = FBMNoise3D(scaledPositionOS, 1, 3, 2, .5); + float dirtMin = lerp(.2, .7, shadowMask); + float dirtAtten = Remap(0, 1, dirtMin, 1, dirt); + + // Stripes + + // float stripes = WorldStripes(); + + // Mask + + if (Mask2[0].w == 1) + { + float mask = SampleProjectionMask(PositionWS, Mask2); + + Alpha = (MaskID <= 1) ? 1 - mask : mask; + } + else if (MaskID == 0) + { + Alpha = 1; + } + else + { + float Active = Mask0[0].w + Mask1[0].w;// + Mask2[0].w; + + if (Active > 0) + { + float mask = saturate( + SampleProjectionMask(PositionWS, Mask0) + + SampleProjectionMask(PositionWS, Mask1)// + + //SampleProjectionMask(PositionWS, Mask2) + ); + + Alpha = (MaskID == 1) ? 1 - mask : mask; + } + else + { + Alpha = (MaskID == 1) ? 0 : 1; + } + } // Test