diff --git a/Assets/Unheimlich_POC/Datas/Camera.meta b/Assets/Unheimlich_POC/Datas/Camera.meta new file mode 100644 index 00000000..d52a9ab8 --- /dev/null +++ b/Assets/Unheimlich_POC/Datas/Camera.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5817eb2becd42c043a50551c7fd25feb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Datas/Camera/DefaultCameraPanSettings.asset b/Assets/Unheimlich_POC/Datas/Camera/DefaultCameraPanSettings.asset new file mode 100644 index 00000000..9eec3d97 --- /dev/null +++ b/Assets/Unheimlich_POC/Datas/Camera/DefaultCameraPanSettings.asset @@ -0,0 +1,44 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3e231c75dddecc0469543c190a9234b1, type: 3} + m_Name: DefaultCameraPanSettings + m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Data.CameraSettings.CameraPanSettings + PanSpeed: 3 + PanBorderSize: 0.05 + MaxPanAngle: 10 + AlignmentSpeed: 3 + AlignmentThreshold: 0.5 + UseSmoothStep: 1 + AlignmentCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 2 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 diff --git a/Assets/Unheimlich_POC/Datas/Camera/DefaultCameraPanSettings.asset.meta b/Assets/Unheimlich_POC/Datas/Camera/DefaultCameraPanSettings.asset.meta new file mode 100644 index 00000000..f2067aa1 --- /dev/null +++ b/Assets/Unheimlich_POC/Datas/Camera/DefaultCameraPanSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9973a518f73c3c1489819494e37d0980 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Datas/Camera/SlowInspectionPanSettings.asset b/Assets/Unheimlich_POC/Datas/Camera/SlowInspectionPanSettings.asset new file mode 100644 index 00000000..c9dfd770 --- /dev/null +++ b/Assets/Unheimlich_POC/Datas/Camera/SlowInspectionPanSettings.asset @@ -0,0 +1,26 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3e231c75dddecc0469543c190a9234b1, type: 3} + m_Name: SlowInspectionPanSettings + m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Data.CameraSettings.CameraPanSettings + PanSpeed: 1 + PanBorderSize: 0.15 + MaxPanAngle: 20 + AlignmentSpeed: 1.5 + AlignmentThreshold: 0.5 + UseSmoothStep: 1 + AlignmentCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 diff --git a/Assets/Unheimlich_POC/Datas/Camera/SlowInspectionPanSettings.asset.meta b/Assets/Unheimlich_POC/Datas/Camera/SlowInspectionPanSettings.asset.meta new file mode 100644 index 00000000..36a56abd --- /dev/null +++ b/Assets/Unheimlich_POC/Datas/Camera/SlowInspectionPanSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 32f81135c61c8ce408c2bbb8252f1fa3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Materials/Rooms/5.meta b/Assets/Unheimlich_POC/Materials/Rooms/5.meta new file mode 100644 index 00000000..d259a647 --- /dev/null +++ b/Assets/Unheimlich_POC/Materials/Rooms/5.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b2af0ec17d1ca0e43ba994dfd70a0cd3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Materials/Rooms/5/DeteciveBoardMaterial.mat b/Assets/Unheimlich_POC/Materials/Rooms/5/DeteciveBoardMaterial.mat new file mode 100644 index 00000000..e6f660a0 --- /dev/null +++ b/Assets/Unheimlich_POC/Materials/Rooms/5/DeteciveBoardMaterial.mat @@ -0,0 +1,137 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DeteciveBoardMaterial + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _XRMotionVectorsPass: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.6226415, g: 0.6226415, b: 0.6226415, a: 1} + - _Color: {r: 0.62264144, g: 0.62264144, b: 0.62264144, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &2916271140950744041 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion + version: 10 diff --git a/Assets/Unheimlich_POC/Materials/Rooms/5/DeteciveBoardMaterial.mat.meta b/Assets/Unheimlich_POC/Materials/Rooms/5/DeteciveBoardMaterial.mat.meta new file mode 100644 index 00000000..14c0ea3e --- /dev/null +++ b/Assets/Unheimlich_POC/Materials/Rooms/5/DeteciveBoardMaterial.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 45305197f5572ad40aec449786c26f45 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Materials/Rooms/5/RoomFiveMaterial.mat b/Assets/Unheimlich_POC/Materials/Rooms/5/RoomFiveMaterial.mat new file mode 100644 index 00000000..9ceebd52 --- /dev/null +++ b/Assets/Unheimlich_POC/Materials/Rooms/5/RoomFiveMaterial.mat @@ -0,0 +1,141 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-6718159044353317607 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 10 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: RoomFiveMaterial + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ENVIRONMENTREFLECTIONS_OFF + m_InvalidKeywords: + - _GLOSSYREFLECTIONS_OFF + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 0 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 1 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _UVSec: 0 + - _WorkflowMode: 1 + - _XRMotionVectorsPass: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.7735849, g: 0.48565733, b: 0.19217977, a: 1} + - _Color: {r: 0.7735849, g: 0.48565733, b: 0.19217974, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Unheimlich_POC/Materials/Rooms/5/RoomFiveMaterial.mat.meta b/Assets/Unheimlich_POC/Materials/Rooms/5/RoomFiveMaterial.mat.meta new file mode 100644 index 00000000..1ce87987 --- /dev/null +++ b/Assets/Unheimlich_POC/Materials/Rooms/5/RoomFiveMaterial.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4b8a2e8e751a67447b90d180836b3878 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Prefabs/Player/Main Camera.prefab b/Assets/Unheimlich_POC/Prefabs/Player/Main Camera.prefab index 272d6333..be431dd5 100644 --- a/Assets/Unheimlich_POC/Prefabs/Player/Main Camera.prefab +++ b/Assets/Unheimlich_POC/Prefabs/Player/Main Camera.prefab @@ -45,6 +45,7 @@ GameObject: - component: {fileID: 739341087101828676} - component: {fileID: 6449006773219804445} - component: {fileID: 1210323975715635039} + - component: {fileID: 4365653766954783987} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -200,3 +201,19 @@ MonoBehaviour: m_VarianceClampScale: 0.9 m_ContrastAdaptiveSharpening: 0 m_Version: 2 +--- !u!114 &4365653766954783987 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5147950023760557604} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 69e8150bab500424eb366f0ac8761995, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Gameplay.CameraControl.CameraPanController + _camera: {fileID: 671466249668048498} + _playerTransform: {fileID: 0} + _settings: {fileID: 0} + _lookAction: {fileID: 0} diff --git a/Assets/Unheimlich_POC/Prefabs/Rooms/RoomToLoadFive.prefab b/Assets/Unheimlich_POC/Prefabs/Rooms/RoomToLoadFive.prefab new file mode 100644 index 00000000..7140b74e --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/Rooms/RoomToLoadFive.prefab @@ -0,0 +1,1523 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1426444537624782055 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3812313393986610632} + m_Layer: 0 + m_Name: Items + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3812313393986610632 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1426444537624782055} + 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: 6782646836872321146} + m_Father: {fileID: 3965737018690194595} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1995558577310749644 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6782646836872321146} + - component: {fileID: 2502617234808613813} + - component: {fileID: 4691589681962545124} + - component: {fileID: 1416958417081911791} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6782646836872321146 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1995558577310749644} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 3.9998748, y: 1, z: 1.9999499} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3812313393986610632} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2502617234808613813 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1995558577310749644} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &4691589681962545124 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1995558577310749644} + 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: 9807d7283b8cfa54ba3fb82adeb011cd, 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!65 &1416958417081911791 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1995558577310749644} + 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!1 &2008977777731723696 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 404191218827319330} + m_Layer: 0 + m_Name: Lights + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &404191218827319330 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2008977777731723696} + 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: 2951521159404420143} + - {fileID: 7661646952748456549} + m_Father: {fileID: 3965737018690194595} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2757010966349118316 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7557062904579759447} + - component: {fileID: 308102004899398107} + - component: {fileID: 8372318773087887588} + - component: {fileID: 6954627091512351276} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7557062904579759447 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2757010966349118316} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2.17, z: 0} + m_LocalScale: {x: 7, y: 5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3941506515996401395} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &308102004899398107 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2757010966349118316} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8372318773087887588 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2757010966349118316} + 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: 45305197f5572ad40aec449786c26f45, 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!65 &6954627091512351276 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2757010966349118316} + 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!1 &3210101827131705135 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5831650301161165405} + m_Layer: 0 + m_Name: DetectiveBoard + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5831650301161165405 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3210101827131705135} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.38435, y: 6.36425, z: 13.13094} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3941506515996401395} + m_Father: {fileID: 3965737018690194595} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3669803179848655488 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2951521159404420143} + - component: {fileID: 1259933304253263975} + - component: {fileID: 8967965565644899159} + 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 &2951521159404420143 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3669803179848655488} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 17.72, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 404191218827319330} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!108 &1259933304253263975 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3669803179848655488} + m_Enabled: 1 + serializedVersion: 12 + m_Type: 0 + m_Color: {r: 0.74213827, g: 0.4505881, b: 0.15169488, a: 1} + m_Intensity: 1000 + m_Range: 30.78 + m_SpotAngle: 58.2 + m_InnerSpotAngle: 19.8 + 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: 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!114 &8967965565644899159 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3669803179848655488} + 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!1 &4459682163590834316 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7428994820789890090} + - component: {fileID: 8209576767969738346} + - component: {fileID: 3183872434840784399} + - component: {fileID: 5984932440182486461} + - component: {fileID: 1308658098883283559} + - component: {fileID: 6433754577218517818} + - component: {fileID: 7697102470713238675} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7428994820789890090 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4459682163590834316} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -8.919849, y: -8.039558, z: -0.7953472} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7656844688830104809} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8209576767969738346 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4459682163590834316} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8233d90336aea43098adf6dbabd606a2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MeshFormatVersion: 2 + m_Faces: + - m_Indexes: 000000000100000002000000010000000300000002000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 040000000500000006000000050000000700000006000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 08000000090000000a000000090000000b0000000a000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 0c0000000d0000000e0000000d0000000f0000000e000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 120000001100000010000000120000001300000011000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 160000001500000014000000160000001700000015000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 1a00000019000000180000001a0000001b00000019000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 1e0000001d0000001c0000001e0000001f0000001d000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 220000002100000020000000220000002300000021000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 260000002500000024000000260000002700000025000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 2a00000029000000280000002a0000002b00000029000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 2e0000002d0000002c0000002e0000002f0000002d000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 320000003100000030000000320000003300000031000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 360000003500000034000000360000003700000035000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + m_SharedVertices: + - m_Vertices: 000000002400000029000000 + - m_Vertices: 01000000040000002000000025000000 + - m_Vertices: 0200000008000000280000002d000000 + - m_Vertices: 0300000006000000090000000c000000 + - m_Vertices: 050000001c00000021000000 + - m_Vertices: 070000000d000000180000001d000000 + - m_Vertices: 0a000000110000002c000000 + - m_Vertices: 0b0000000e0000001000000015000000 + - m_Vertices: 0f0000001400000019000000 + - m_Vertices: 1200000017000000 + - m_Vertices: 130000002e000000 + - m_Vertices: 160000001b000000 + - m_Vertices: 1a0000001f000000 + - m_Vertices: 1e0000002300000035000000 + - m_Vertices: 22000000270000003100000034000000 + - m_Vertices: 260000002b00000030000000 + - m_Vertices: 2a0000002f000000 + - m_Vertices: 32000000 + - m_Vertices: 3300000036000000 + - m_Vertices: 37000000 + m_SharedTextures: [] + m_Positions: + - {x: -14.391752, y: 0, z: -13.130945} + - {x: -14.391752, y: 0, z: 0} + - {x: 0, y: 0, z: -13.130945} + - {x: 0, y: 0, z: 0} + - {x: -14.391752, y: 0, z: 0} + - {x: -14.391752, y: 0, z: 13.130945} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 13.130945} + - {x: 0, y: 0, z: -13.130945} + - {x: 0, y: 0, z: 0} + - {x: 14.391752, y: 0, z: -13.130945} + - {x: 14.391752, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 13.130945} + - {x: 14.391752, y: 0, z: 0} + - {x: 14.391752, y: 0, z: 13.130945} + - {x: 14.391752, y: 0, z: 0} + - {x: 14.391752, y: 0, z: -13.130945} + - {x: 14.391752, y: 14.541088, z: 0} + - {x: 14.391752, y: 14.541088, z: -13.130943} + - {x: 14.391752, y: 0, z: 13.130945} + - {x: 14.391752, y: 0, z: 0} + - {x: 14.391752, y: 14.541088, z: 13.130943} + - {x: 14.391752, y: 14.541088, z: 0} + - {x: 0, y: 0, z: 13.130945} + - {x: 14.391752, y: 0, z: 13.130945} + - {x: 0, y: 14.541088, z: 13.130943} + - {x: 14.391752, y: 14.541088, z: 13.130943} + - {x: -14.391752, y: 0, z: 13.130945} + - {x: 0, y: 0, z: 13.130945} + - {x: -14.391752, y: 14.541088, z: 13.130943} + - {x: 0, y: 14.541088, z: 13.130943} + - {x: -14.391752, y: 0, z: 0} + - {x: -14.391752, y: 0, z: 13.130945} + - {x: -14.391752, y: 14.541088, z: 0} + - {x: -14.391752, y: 14.541088, z: 13.130943} + - {x: -14.391752, y: 0, z: -13.130945} + - {x: -14.391752, y: 0, z: 0} + - {x: -14.391752, y: 14.541088, z: -13.130943} + - {x: -14.391752, y: 14.541088, z: 0} + - {x: 0, y: 0, z: -13.130945} + - {x: -14.391752, y: 0, z: -13.130945} + - {x: 0, y: 14.541088, z: -13.130943} + - {x: -14.391752, y: 14.541088, z: -13.130943} + - {x: 14.391752, y: 0, z: -13.130945} + - {x: 0, y: 0, z: -13.130945} + - {x: 14.391752, y: 14.541088, z: -13.130943} + - {x: 0, y: 14.541088, z: -13.130943} + - {x: -14.391752, y: 14.541088, z: -13.130943} + - {x: -14.391752, y: 14.541088, z: 0} + - {x: 14.459042, y: 14.541088, z: -13.130943} + - {x: 14.459042, y: 14.541088, z: 0} + - {x: -14.391752, y: 14.541088, z: 0} + - {x: -14.391752, y: 14.541088, z: 13.130943} + - {x: 14.459042, y: 14.541088, z: 0} + - {x: 14.459042, y: 14.541088, z: 13.130943} + m_Textures0: + - {x: -14.391752, y: -13.130945} + - {x: -14.391752, y: 0} + - {x: 0, y: -13.130945} + - {x: 0, y: 0} + - {x: -14.391752, y: 0} + - {x: -14.391752, y: 13.130945} + - {x: 0, y: 0} + - {x: 0, y: 13.130945} + - {x: 0, y: -13.130945} + - {x: 0, y: 0} + - {x: 14.391752, y: -13.130945} + - {x: 14.391752, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 13.130945} + - {x: 14.391752, y: 0} + - {x: 14.391752, y: 13.130945} + - {x: 0, y: 0} + - {x: 13.130945, y: 0} + - {x: 0, y: 14.541088} + - {x: 13.130943, y: 14.541088} + - {x: -13.130945, y: 0} + - {x: 0, y: 0} + - {x: -13.130943, y: 14.541088} + - {x: 0, y: 14.541088} + - {x: 0, y: -0.0000017223806} + - {x: 14.391752, y: -0.0000017223806} + - {x: 0, y: 14.541086} + - {x: 14.391752, y: 14.541086} + - {x: -14.391752, y: -0.0000017223806} + - {x: 0, y: -0.0000017223806} + - {x: -14.391752, y: 14.541086} + - {x: 0, y: 14.541086} + - {x: 0, y: 0} + - {x: 13.130945, y: 0} + - {x: 0, y: 14.541088} + - {x: 13.130943, y: 14.541088} + - {x: -13.130945, y: 0} + - {x: 0, y: 0} + - {x: -13.130943, y: 14.541088} + - {x: 0, y: 14.541088} + - {x: 0, y: -0.0000017223806} + - {x: 14.391752, y: -0.0000017223806} + - {x: 0, y: 14.541086} + - {x: 14.391752, y: 14.541086} + - {x: -14.391752, y: -0.0000017223806} + - {x: 0, y: -0.0000017223806} + - {x: -14.391752, y: 14.541086} + - {x: 0, y: 14.541086} + - {x: 14.391752, y: -13.130943} + - {x: 14.391752, y: 0} + - {x: -14.459042, y: -13.130943} + - {x: -14.459042, y: 0} + - {x: 14.391752, y: 0} + - {x: 14.391752, y: 13.130943} + - {x: -14.459042, y: 0} + - {x: -14.459042, y: 13.130943} + m_Textures2: + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + m_Textures3: + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + m_Tangents: + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + m_Colors: [] + m_UnwrapParameters: + m_HardAngle: 88 + m_PackMargin: 20 + m_AngleError: 8 + m_AreaError: 15 + m_PreserveMeshAssetOnDestroy: 0 + assetGuid: + m_Mesh: {fileID: 0} + m_VersionIndex: 5866 + m_IsSelectable: 1 + m_SelectedFaces: + m_SelectedEdges: [] + m_SelectedVertices: +--- !u!114 &3183872434840784399 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4459682163590834316} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1ca002da428252441b92f28d83c8a65f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Shape: + rid: 6514884969572335616 + m_ShapeRotation: {x: 0, y: 0, z: 0, w: 1} + m_UnmodifiedMeshVersion: 4801 + m_Size: {x: 28.783504, y: 0, z: 26.26189} + m_LocalCenter: {x: 0, y: 0, z: 0} + references: + version: 2 + RefIds: + - rid: 6514884969572335616 + type: {class: Plane, ns: UnityEngine.ProBuilder.Shapes, asm: Unity.ProBuilder} + data: + m_HeightSegments: 1 + m_WidthSegments: 1 +--- !u!23 &5984932440182486461 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4459682163590834316} + 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: 4b8a2e8e751a67447b90d180836b3878, 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: 2 + 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 &1308658098883283559 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4459682163590834316} + m_Mesh: {fileID: 0} +--- !u!64 &6433754577218517818 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4459682163590834316} + 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: 0} +--- !u!65 &7697102470713238675 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4459682163590834316} + 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: 28.783504, y: 14.541088, z: 26.26189} + m_Center: {x: 0, y: 7.270544, z: 0} +--- !u!1 &5852353150564838653 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7661646952748456549} + - component: {fileID: 1818484647828107321} + - component: {fileID: 8103420780813044637} + m_Layer: 0 + m_Name: Spot Light (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7661646952748456549 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5852353150564838653} + serializedVersion: 2 + m_LocalRotation: {x: 0.14620669, y: -0, z: -0, w: 0.9892541} + m_LocalPosition: {x: 0, y: 10.36, z: -0.58} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 404191218827319330} + m_LocalEulerAnglesHint: {x: 16.814, y: 0, z: 0} +--- !u!108 &1818484647828107321 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5852353150564838653} + m_Enabled: 1 + serializedVersion: 12 + m_Type: 0 + m_Color: {r: 0.57861626, g: 0.52007496, b: 0.08551871, a: 1} + m_Intensity: 1000 + m_Range: 30.78 + m_SpotAngle: 58.2 + m_InnerSpotAngle: 19.8 + 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: 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!114 &8103420780813044637 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5852353150564838653} + 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!1 &7625879407957162159 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7656844688830104809} + m_Layer: 0 + m_Name: Render + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7656844688830104809 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7625879407957162159} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 8.919849, y: 8.039558, z: 0.7953472} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7428994820789890090} + m_Father: {fileID: 3965737018690194595} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7904602484025268702 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8686293093389133775} + m_Layer: 0 + m_Name: Portals + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &8686293093389133775 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7904602484025268702} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 8.919849, y: 8.039558, z: 0.7953472} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 89030420073598835} + m_Father: {fileID: 3965737018690194595} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7994283466214186746 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3965737018690194595} + m_Layer: 0 + m_Name: RoomToLoadFive + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3965737018690194595 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7994283466214186746} + 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: 8686293093389133775} + - {fileID: 3812313393986610632} + - {fileID: 404191218827319330} + - {fileID: 7656844688830104809} + - {fileID: 5831650301161165405} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8358850242504541279 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3941506515996401395} + m_Layer: 0 + m_Name: Render + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3941506515996401395 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8358850242504541279} + 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: 7557062904579759447} + m_Father: {fileID: 5831650301161165405} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &6429269889663292092 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 8686293093389133775} + m_Modifications: + - target: {fileID: 4967478502310356297, guid: e21058d2724cc5645a8770f341df17ed, type: 3} + propertyPath: m_VersionIndex + value: 3841 + objectReference: {fileID: 0} + - target: {fileID: 5627569817145768567, guid: e21058d2724cc5645a8770f341df17ed, type: 3} + propertyPath: _portalId + value: room5_from_room4 + objectReference: {fileID: 0} + - target: {fileID: 5627569817145768567, guid: e21058d2724cc5645a8770f341df17ed, type: 3} + propertyPath: _linkedPortalId + value: room4_to_room5 + objectReference: {fileID: 0} + - target: {fileID: 5627569817145768567, guid: e21058d2724cc5645a8770f341df17ed, type: 3} + propertyPath: _loadRoomDistance + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3} + propertyPath: m_LocalPosition.x + value: -8.919849 + objectReference: {fileID: 0} + - target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3} + propertyPath: m_LocalPosition.y + value: -6.1295586 + objectReference: {fileID: 0} + - target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3} + propertyPath: m_LocalPosition.z + value: -12.595347 + objectReference: {fileID: 0} + - target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8609694097640656311, guid: e21058d2724cc5645a8770f341df17ed, type: 3} + propertyPath: m_Name + value: PortalExit + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e21058d2724cc5645a8770f341df17ed, type: 3} +--- !u!4 &89030420073598835 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 6342500202952138191, guid: e21058d2724cc5645a8770f341df17ed, type: 3} + m_PrefabInstance: {fileID: 6429269889663292092} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Unheimlich_POC/Prefabs/Rooms/RoomToLoadFive.prefab.meta b/Assets/Unheimlich_POC/Prefabs/Rooms/RoomToLoadFive.prefab.meta new file mode 100644 index 00000000..27537ff7 --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/Rooms/RoomToLoadFive.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 69f9e42d2acbf0344981fcdffd02d588 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Scenes/MainScene/MainScene.unity b/Assets/Unheimlich_POC/Scenes/MainScene/MainScene.unity index 62388fcd..15172107 100644 --- a/Assets/Unheimlich_POC/Scenes/MainScene/MainScene.unity +++ b/Assets/Unheimlich_POC/Scenes/MainScene/MainScene.unity @@ -166,6 +166,87 @@ MonoBehaviour: m_EditorClassIdentifier: Unity.InputSystem::UnityEngine.InputSystem.InputActionReference m_Asset: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3} m_ActionId: a3ec6166-3b8f-4545-9fa4-40583be0fc66 +--- !u!1001 &102351984 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1308658098883283559, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_Mesh + value: + objectReference: {fileID: 1949684909} + - target: {fileID: 1450394912075574427, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_Mesh + value: + objectReference: {fileID: 297438471} + - target: {fileID: 2146349534604163061, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_Mesh + value: + objectReference: {fileID: 297438471} + - target: {fileID: 3965737018690194595, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_LocalPosition.x + value: 20.412663 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_LocalPosition.y + value: -0.00000034271943 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_LocalPosition.z + value: 70.89683 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6433754577218517818, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_Mesh + value: + objectReference: {fileID: 1949684909} + - target: {fileID: 7994283466214186746, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_Name + value: RoomToLoadFive + objectReference: {fileID: 0} + - target: {fileID: 8209576767969738346, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_Mesh + value: + objectReference: {fileID: 1949684909} + - target: {fileID: 8209576767969738346, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_VersionIndex + value: 5887 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} --- !u!43 &183470776 Mesh: m_ObjectHideFlags: 0 @@ -344,6 +425,184 @@ Mesh: - serializedVersion: 1 m_IndexStart: 0 m_IndexCount: 0 +--- !u!43 &297438471 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: pb_Mesh-21770 + serializedVersion: 12 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 0 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 0 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: + m_VertexData: + serializedVersion: 3 + m_VertexCount: 0 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 0 + _typelessdata: + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: + m_MeshLodInfo: + serializedVersion: 2 + m_LodSelectionCurve: + serializedVersion: 1 + m_LodSlope: 0 + m_LodBias: 0 + m_NumLevels: 1 + m_SubMeshes: + - serializedVersion: 2 + m_Levels: + - serializedVersion: 1 + m_IndexStart: 0 + m_IndexCount: 0 --- !u!43 &362502328 Mesh: m_ObjectHideFlags: 0 @@ -745,6 +1004,17 @@ MonoBehaviour: serializedVersion: 2 m_Bits: 96 _autoCreateDialogueCamera: 1 +--- !u!114 &436513853 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 953069181646740290, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} + m_PrefabInstance: {fileID: 5090177222934034458} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436513833} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 69e8150bab500424eb366f0ac8761995, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Gameplay.CameraControl.CameraPanController --- !u!95 &451500111 stripped Animator: m_CorrespondingSourceObject: {fileID: 3326093237010115507, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} @@ -2033,6 +2303,198 @@ Mesh: - serializedVersion: 1 m_IndexStart: 0 m_IndexCount: 0 +--- !u!114 &1891814281 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fc1515ab76e54f068e2f2207940fab32, type: 3} + m_Name: Player/Look + m_EditorClassIdentifier: Unity.InputSystem::UnityEngine.InputSystem.InputActionReference + m_Asset: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3} + m_ActionId: 6b444451-8a00-4d00-a97e-f47457f736a8 +--- !u!43 &1949684909 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: pb_Mesh-21838 + serializedVersion: 12 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 84 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 39 + localAABB: + m_Center: {x: 0.033644676, y: 7.270544, z: 0} + m_Extent: {x: 14.425397, y: 7.270544, z: 13.130945} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 00000100020001000300020001000400030004000500030002000300060003000700060003000500070005000800070009000a000b0009000c000a000d000b000e000d0009000b000f00100011000f001200100013001100140013000f001100150016001700150018001600190017001a001900150017001b001c001d001b001e001c001f001d0020001f001b001d00210022002300210024002200240025002200240026002500 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 39 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 48 + format: 0 + dimension: 4 + - stream: 0 + offset: 64 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 3120 + _typelessdata: 9e4466c1000000005a1852c1000000000000803f000000000000803f0000000000000000000080bf9e4466c15a1852c100000000000000000000000000000000000000000000000000000000000000009e4466c10000000000000000000000000000803f000000000000803f0000000000000000000080bf9e4466c100000000000000000000000000000000000000000000000000000000000000000000000000000000000000005a1852c1000000000000803f000000000000803f0000000000000000000080bf000000005a1852c10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000000000803f0000000000000000000080bf000000000000000000000000000000000000000000000000000000000000000000000000000000009e4466c1000000005a185241000000000000803f000000000000803f0000000000000000000080bf9e4466c15a185241000000000000000000000000000000000000000000000000000000000000000000000000000000005a185241000000000000803f000000000000803f0000000000000000000080bf000000005a18524100000000000000000000000000000000000000000000000000000000000000009e446641000000005a1852c1000000000000803f000000000000803f0000000000000000000080bf9e4466415a1852c100000000000000000000000000000000000000000000000000000000000000009e4466410000000000000000000000000000803f000000000000803f0000000000000000000080bf9e4466410000000000000000000000000000000000000000000000000000000000000000000000009e446641000000005a185241000000000000803f000000000000803f0000000000000000000080bf9e4466415a18524100000000000000000000000000000000000000000000000000000000000000009e4466414ca8684100000000000080bf00000000000000000000000000000000000080bf000080bf000000004ca8684100000000000000000000000000000000000000000000000000000000000000009e446641000000005a1852c1000080bf00000000000000000000000000000000000080bf000080bf5a1852410000000000000000000000000000000000000000000000000000000000000000000000009e4466410000000000000000000080bf00000000000000000000000000000000000080bf000080bf000000000000000000000000000000000000000000000000000000000000000000000000000000009e4466414ca86841581852c1000080bf00000000000000000000000000000000000080bf000080bf581852414ca8684100000000000000000000000000000000000000000000000000000000000000009e4466414ca8684158185241000080bf00000000000000000000000000000000000080bf000080bf581852c14ca8684100000000000000000000000000000000000000000000000000000000000000009e446641000000005a185241000080bf00000000000000000000000000000000000080bf000080bf5a1852c1000000000000000000000000000000000000000000000000000000000000000000000000000000004ca8684158185241000000009fd70cb4000080bf0000803f0000000000000000000080bf000000004aa8684100000000000000000000000000000000000000000000000000000000000000009e446641000000005a185241000000009fd70cb4000080bf0000803f0000000000000000000080bf9e4466418c2ce7b5000000000000000000000000000000000000000000000000000000000000000000000000000000005a185241000000009fd70cb4000080bf0000803f0000000000000000000080bf000000008c2ce7b500000000000000000000000000000000000000000000000000000000000000009e4466414ca8684158185241000000009fd70cb4000080bf0000803f0000000000000000000080bf9e4466414aa8684100000000000000000000000000000000000000000000000000000000000000009e4466c14ca8684158185241000000009fd70cb4000080bf0000803f0000000000000000000080bf9e4466c14aa8684100000000000000000000000000000000000000000000000000000000000000009e4466c1000000005a185241000000009fd70cb4000080bf0000803f0000000000000000000080bf9e4466c18c2ce7b500000000000000000000000000000000000000000000000000000000000000009e4466c14ca86841000000000000803f000000000000000000000000000000000000803f000080bf000000004ca8684100000000000000000000000000000000000000000000000000000000000000009e4466c1000000005a1852410000803f000000000000000000000000000000000000803f000080bf5a1852410000000000000000000000000000000000000000000000000000000000000000000000009e4466c100000000000000000000803f000000000000000000000000000000000000803f000080bf000000000000000000000000000000000000000000000000000000000000000000000000000000009e4466c14ca86841581852410000803f000000000000000000000000000000000000803f000080bf581852414ca8684100000000000000000000000000000000000000000000000000000000000000009e4466c14ca86841581852c10000803f000000000000000000000000000000000000803f000080bf581852c14ca8684100000000000000000000000000000000000000000000000000000000000000009e4466c1000000005a1852c10000803f000000000000000000000000000000000000803f000080bf5a1852c1000000000000000000000000000000000000000000000000000000000000000000000000000000004ca86841581852c1000000009fd70cb40000803f000080bf0000000000000000000080bf000000004aa8684100000000000000000000000000000000000000000000000000000000000000009e4466c1000000005a1852c1000000009fd70cb40000803f000080bf0000000000000000000080bf9e4466418c2ce7b5000000000000000000000000000000000000000000000000000000000000000000000000000000005a1852c1000000009fd70cb40000803f000080bf0000000000000000000080bf000000008c2ce7b500000000000000000000000000000000000000000000000000000000000000009e4466c14ca86841581852c1000000009fd70cb40000803f000080bf0000000000000000000080bf9e4466414aa8684100000000000000000000000000000000000000000000000000000000000000009e4466414ca86841581852c1000000009fd70cb40000803f000080bf0000000000000000000080bf9e4466c14aa8684100000000000000000000000000000000000000000000000000000000000000009e446641000000005a1852c1000000009fd70cb40000803f000080bf0000000000000000000080bf9e4466c18c2ce7b500000000000000000000000000000000000000000000000000000000000000003c5867414ca86841581852c100000000000080bf00000000000080bf0000000000000000000080bf3c5867c1581852c100000000000000000000000000000000000000000000000000000000000000009e4466c14ca868410000000000000000000080bf00000000000080bf0000000000000000000080bf9e4466410000000000000000000000000000000000000000000000000000000000000000000000009e4466c14ca86841581852c100000000000080bf00000000000080bf0000000000000000000080bf9e446641581852c100000000000000000000000000000000000000000000000000000000000000003c5867414ca868410000000000000000000080bf00000000000080bf0000000000000000000080bf3c5867c10000000000000000000000000000000000000000000000000000000000000000000000009e4466c14ca868415818524100000000000080bf00000000000080bf0000000000000000000080bf9e4466415818524100000000000000000000000000000000000000000000000000000000000000003c5867414ca868415818524100000000000080bf00000000000080bf0000000000000000000080bf3c5867c1581852410000000000000000000000000000000000000000000000000000000000000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0.033644676, y: 7.270544, z: 0} + m_Extent: {x: 14.425397, y: 7.270544, z: 13.130945} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: + m_MeshLodInfo: + serializedVersion: 2 + m_LodSelectionCurve: + serializedVersion: 1 + m_LodSlope: 0 + m_LodBias: 0 + m_NumLevels: 1 + m_SubMeshes: + - serializedVersion: 2 + m_Levels: + - serializedVersion: 1 + m_IndexStart: 0 + m_IndexCount: 0 --- !u!1 &1976498062 GameObject: m_ObjectHideFlags: 0 @@ -2879,6 +3341,18 @@ PrefabInstance: propertyPath: _walkBobAmplitude value: 0.1 objectReference: {fileID: 0} + - target: {fileID: 953069181646740290, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} + propertyPath: _settings + value: + objectReference: {fileID: 11400000, guid: 9973a518f73c3c1489819494e37d0980, type: 2} + - target: {fileID: 953069181646740290, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} + propertyPath: _lookAction + value: + objectReference: {fileID: 1891814281} + - target: {fileID: 953069181646740290, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} + propertyPath: _playerTransform + value: + objectReference: {fileID: 1128970472} - target: {fileID: 1144804793528068392, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} propertyPath: GraphicsObject value: @@ -2955,6 +3429,10 @@ PrefabInstance: propertyPath: _vignetteIntensity value: 0.25 objectReference: {fileID: 0} + - target: {fileID: 3142789394009655648, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} + propertyPath: _cameraPanController + value: + objectReference: {fileID: 436513853} - target: {fileID: 3142789394009655648, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} propertyPath: _listenableLayers.m_Bits value: 4294967295 @@ -2973,7 +3451,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5383576672370031505, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} propertyPath: m_LocalPosition.x - value: 13.95 + value: 23.37 objectReference: {fileID: 0} - target: {fileID: 5383576672370031505, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} propertyPath: m_LocalPosition.y @@ -2981,7 +3459,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5383576672370031505, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} propertyPath: m_LocalPosition.z - value: 31.63 + value: 39.92 objectReference: {fileID: 0} - target: {fileID: 5383576672370031505, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} propertyPath: m_LocalRotation.w @@ -3117,3 +3595,4 @@ SceneRoots: - {fileID: 1287162436} - {fileID: 673917528} - {fileID: 996694521} + - {fileID: 102351984} diff --git a/Assets/Unheimlich_POC/Scripts/Datas/Camera.meta b/Assets/Unheimlich_POC/Scripts/Datas/Camera.meta new file mode 100644 index 00000000..4c2f380e --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/Datas/Camera.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 305406de510d86a439ef94c61b9e08ea +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Scripts/Datas/Camera/CameraPanSettings.cs b/Assets/Unheimlich_POC/Scripts/Datas/Camera/CameraPanSettings.cs new file mode 100644 index 00000000..25e7d576 --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/Datas/Camera/CameraPanSettings.cs @@ -0,0 +1,37 @@ +using UnityEngine; + +namespace Unheimlich.Data.CameraSettings +{ + /// + /// ScriptableObject configuration for camera pan and player alignment behavior. + /// Defines pan speed, borders, angles, alignment parameters, and lerp smoothness. + /// + [CreateAssetMenu(fileName = "CameraPanSettings", menuName = "Unheimlich/Camera/Camera Pan Settings")] + public class CameraPanSettings : ScriptableObject + { + [Header("Camera Pan")] + [Tooltip("Camera pan speed when moving the cursor/look stick")] + public float PanSpeed = 2f; + + [Tooltip("Size of the border area for mouse pan (0-1, screen percentage)")] + [Range(0f, 0.5f)] + public float PanBorderSize = 0.1f; + + [Tooltip("Maximum angle the camera can pan from center")] + public float MaxPanAngle = 15f; + + [Header("Player Alignment")] + [Tooltip("Speed of player/camera alignment to target")] + public float AlignmentSpeed = 3f; + + [Tooltip("Threshold for alignment completion")] + public float AlignmentThreshold = 0.5f; + + [Header("Lerp Smoothing")] + [Tooltip("Use SmoothStep for smoother interpolation (true) or linear lerp (false)")] + public bool UseSmoothStep = true; + + [Tooltip("Custom animation curve for alignment (overrides SmoothStep if set)")] + public AnimationCurve AlignmentCurve = null; + } +} diff --git a/Assets/Unheimlich_POC/Scripts/Datas/Camera/CameraPanSettings.cs.meta b/Assets/Unheimlich_POC/Scripts/Datas/Camera/CameraPanSettings.cs.meta new file mode 100644 index 00000000..13e74fa8 --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/Datas/Camera/CameraPanSettings.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3e231c75dddecc0469543c190a9234b1 \ No newline at end of file diff --git a/Assets/Unheimlich_POC/Scripts/Gameplay/Camera.meta b/Assets/Unheimlich_POC/Scripts/Gameplay/Camera.meta new file mode 100644 index 00000000..cc8da6cd --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/Gameplay/Camera.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b41805f922f09994ebf9845415dab39b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Scripts/Gameplay/Camera/CameraPanController.cs b/Assets/Unheimlich_POC/Scripts/Gameplay/Camera/CameraPanController.cs new file mode 100644 index 00000000..703496c3 --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/Gameplay/Camera/CameraPanController.cs @@ -0,0 +1,355 @@ +using System.Collections; +using UnityEngine; +using UnityEngine.InputSystem; +using Unheimlich.Data.CameraSettings; + +namespace Unheimlich.Gameplay.CameraControl +{ + /// + /// Handles camera panning and player/camera alignment to targets. + /// Uses CameraPanSettings ScriptableObject for configuration. + /// + public class CameraPanController : MonoBehaviour + { + [Header("References")] + [SerializeField] private UnityEngine.Camera _camera; + [SerializeField] private Transform _playerTransform; + + [Header("Settings")] + [SerializeField] private CameraPanSettings _settings; + + [Header("Input Actions")] + [SerializeField] private InputActionReference _lookAction; + + private Vector2 _originalCameraRotation; + private Vector3 _originalCameraLocalPosition; + private Vector3 _originalPlayerPosition; + private Vector3 _originalPlayerRotation; + private Vector3 _originalCameraLocalRotation; + private Coroutine _alignmentCoroutine; + private Coroutine _returnCoroutine; + private float _timeSinceLastInput; + private const float INPUT_IDLE_THRESHOLD = 0.1f; + + public bool IsPanning { get; private set; } + + public CameraPanSettings Settings + { + get => _settings; + set => _settings = value; + } + + private void Awake() + { + if (_camera == null) + _camera = UnityEngine.Camera.main; + + if (_playerTransform == null) + _playerTransform = transform; + + if (_camera != null) + { + _originalCameraLocalPosition = _camera.transform.localPosition; + _originalCameraLocalRotation = _camera.transform.localEulerAngles; + } + + _originalPlayerPosition = _playerTransform.position; + _originalPlayerRotation = _playerTransform.eulerAngles; + } + + /// + /// Starts camera pan mode. + /// + public void StartPan() + { + if (_settings == null) + { + Debug.LogError("[CameraPanController] Settings not assigned!"); + return; + } + + IsPanning = true; + _timeSinceLastInput = 0f; + + float currentPitch = _camera.transform.localEulerAngles.x; + if (currentPitch > 180f) + currentPitch -= 360f; + + _originalCameraRotation = new Vector2(_playerTransform.eulerAngles.y, currentPitch); + } + + /// + /// Stops camera pan mode and returns to original state. + /// + public void StopPan() + { + IsPanning = false; + } + + /// + /// Updates camera pan based on input (gamepad or mouse). + /// Call this from Update when pan is active. + /// + public void UpdatePan() + { + if (!IsPanning || _camera == null || _settings == null) + return; + + float panX = 0f; + float panY = 0f; + bool hasInput = false; + + if (_lookAction != null && _lookAction.action != null) + { + Vector2 lookInput = _lookAction.action.ReadValue(); + if (lookInput.sqrMagnitude > 0.01f) + { + panX = lookInput.x; + panY = lookInput.y; + hasInput = true; + } + } + + if (!hasInput && Mouse.current != null) + { + Vector2 mousePos = Mouse.current.position.ReadValue(); + float screenWidth = Screen.width; + float screenHeight = Screen.height; + + float borderPixels = _settings.PanBorderSize * Mathf.Min(screenWidth, screenHeight); + + if (mousePos.x < borderPixels) + { + panX = -(borderPixels - mousePos.x) / borderPixels; + hasInput = true; + } + else if (mousePos.x > screenWidth - borderPixels) + { + panX = (mousePos.x - (screenWidth - borderPixels)) / borderPixels; + hasInput = true; + } + + if (mousePos.y < borderPixels) + { + panY = -(borderPixels - mousePos.y) / borderPixels; + hasInput = true; + } + else if (mousePos.y > screenHeight - borderPixels) + { + panY = (mousePos.y - (screenHeight - borderPixels)) / borderPixels; + hasInput = true; + } + } + + if (hasInput) + { + _timeSinceLastInput = 0f; + } + else + { + _timeSinceLastInput += Time.deltaTime; + } + + float targetYaw; + float targetPitch; + + if (hasInput || _timeSinceLastInput < INPUT_IDLE_THRESHOLD) + { + targetYaw = _originalCameraRotation.x + panX * _settings.MaxPanAngle; + targetPitch = _originalCameraRotation.y - panY * _settings.MaxPanAngle; + } + else + { + targetYaw = _originalCameraRotation.x; + targetPitch = _originalCameraRotation.y; + } + + targetYaw = Mathf.Clamp(targetYaw, _originalCameraRotation.x - _settings.MaxPanAngle, _originalCameraRotation.x + _settings.MaxPanAngle); + targetPitch = Mathf.Clamp(targetPitch, _originalCameraRotation.y - _settings.MaxPanAngle, _originalCameraRotation.y + _settings.MaxPanAngle); + + float currentYaw = _playerTransform.eulerAngles.y; + float currentPitch = _camera.transform.localEulerAngles.x; + if (currentPitch > 180f) + currentPitch -= 360f; + + float lerpSpeed = hasInput ? _settings.PanSpeed : _settings.PanSpeed * 2f; + + float newYaw = Mathf.LerpAngle(currentYaw, targetYaw, Time.deltaTime * lerpSpeed); + float newPitch = Mathf.LerpAngle(currentPitch, targetPitch, Time.deltaTime * lerpSpeed); + + _playerTransform.eulerAngles = new Vector3(0f, newYaw, 0f); + _camera.transform.localEulerAngles = new Vector3(newPitch, 0f, 0f); + } + + /// + /// Aligns the player and camera to the target object. + /// - Player moves along target's local X axis to align with target center + /// - Player rotates to face the target + /// - Camera pitch adjusts to look at target center + /// + public void AlignToTarget(Transform target, System.Action onComplete = null) + { + if (_alignmentCoroutine != null) + StopCoroutine(_alignmentCoroutine); + + _alignmentCoroutine = StartCoroutine(AlignCameraToTargetCoroutine(target, onComplete)); + } + + /// + /// Returns player and camera to original position and rotation. + /// + public void ReturnToOriginalPosition(System.Action onComplete = null) + { + if (_returnCoroutine != null) + StopCoroutine(_returnCoroutine); + + _returnCoroutine = StartCoroutine(ReturnToOriginalPositionCoroutine(onComplete)); + } + + /// + /// Saves current player and camera state as the original position. + /// Call this before starting alignment. + /// + public void SaveOriginalState() + { + if (_camera != null) + { + _originalCameraLocalPosition = _camera.transform.localPosition; + _originalCameraLocalRotation = _camera.transform.localEulerAngles; + } + + _originalPlayerPosition = _playerTransform.position; + _originalPlayerRotation = _playerTransform.eulerAngles; + } + + private IEnumerator AlignCameraToTargetCoroutine(Transform target, System.Action onComplete) + { + if (_camera == null || target == null || _settings == null) + { + onComplete?.Invoke(); + yield break; + } + + SaveOriginalState(); + + Vector3 targetCenter = target.position; + Renderer targetRenderer = target.GetComponent(); + if (targetRenderer != null) + { + targetCenter = targetRenderer.bounds.center; + } + else + { + Collider targetCollider = target.GetComponent(); + if (targetCollider != null) + targetCenter = targetCollider.bounds.center; + } + + Vector3 startPlayerPos = _playerTransform.position; + Vector3 startPlayerRotation = _playerTransform.eulerAngles; + Vector3 startCameraLocalRotation = _camera.transform.localEulerAngles; + + float startPitch = startCameraLocalRotation.x; + if (startPitch > 180f) + startPitch -= 360f; + + float elapsed = 0f; + float duration = 1f / _settings.AlignmentSpeed; + + while (elapsed < duration) + { + elapsed += Time.deltaTime; + float t = GetInterpolationValue(elapsed / duration); + + Vector3 currentCameraPos = _camera.transform.position; + Vector3 toTarget = targetCenter - currentCameraPos; + Vector3 directionToTarget = toTarget.normalized; + + Quaternion targetRotation = Quaternion.LookRotation(directionToTarget); + float targetYaw = targetRotation.eulerAngles.y; + float targetPitch = -Mathf.Asin(directionToTarget.y) * Mathf.Rad2Deg; + + Vector3 targetRightAxis = target.right; + Vector3 playerToTargetCenter = targetCenter - _playerTransform.position; + float offsetAlongTargetRight = Vector3.Dot(playerToTargetCenter, targetRightAxis); + Vector3 targetPlayerPos = _playerTransform.position + targetRightAxis * offsetAlongTargetRight; + + Vector3 currentPlayerPos = Vector3.Lerp(startPlayerPos, targetPlayerPos, t); + _playerTransform.position = currentPlayerPos; + + float currentYaw = Mathf.LerpAngle(startPlayerRotation.y, targetYaw, t); + _playerTransform.eulerAngles = new Vector3(0f, currentYaw, 0f); + + float currentPitch = Mathf.LerpAngle(startPitch, targetPitch, t); + _camera.transform.localEulerAngles = new Vector3(currentPitch, 0f, 0f); + + yield return null; + } + + _alignmentCoroutine = null; + onComplete?.Invoke(); + } + + private IEnumerator ReturnToOriginalPositionCoroutine(System.Action onComplete) + { + if (_camera == null || _settings == null) + { + onComplete?.Invoke(); + yield break; + } + + Vector3 startPlayerPos = _playerTransform.position; + Vector3 startPlayerRotation = _playerTransform.eulerAngles; + Vector3 startCameraLocalPos = _camera.transform.localPosition; + Vector3 startCameraLocalRotation = _camera.transform.localEulerAngles; + + float startPitch = startCameraLocalRotation.x; + if (startPitch > 180f) + startPitch -= 360f; + + float targetPitch = _originalCameraLocalRotation.x; + if (targetPitch > 180f) + targetPitch -= 360f; + + float elapsed = 0f; + float duration = 1f / _settings.AlignmentSpeed; + + while (elapsed < duration) + { + elapsed += Time.deltaTime; + float t = GetInterpolationValue(elapsed / duration); + + _playerTransform.position = Vector3.Lerp(startPlayerPos, _originalPlayerPosition, t); + + float currentYaw = Mathf.LerpAngle(startPlayerRotation.y, _originalPlayerRotation.y, t); + _playerTransform.eulerAngles = new Vector3(0f, currentYaw, 0f); + + float currentPitch = Mathf.LerpAngle(startPitch, targetPitch, t); + _camera.transform.localEulerAngles = new Vector3(currentPitch, 0f, 0f); + + _camera.transform.localPosition = Vector3.Lerp(startCameraLocalPos, _originalCameraLocalPosition, t); + + yield return null; + } + + _playerTransform.position = _originalPlayerPosition; + _playerTransform.eulerAngles = _originalPlayerRotation; + _camera.transform.localPosition = _originalCameraLocalPosition; + _camera.transform.localEulerAngles = _originalCameraLocalRotation; + + _returnCoroutine = null; + onComplete?.Invoke(); + } + + private float GetInterpolationValue(float t) + { + if (_settings.AlignmentCurve != null && _settings.AlignmentCurve.length > 0) + return _settings.AlignmentCurve.Evaluate(t); + + if (_settings.UseSmoothStep) + return Mathf.SmoothStep(0f, 1f, t); + + return t; + } + } +} diff --git a/Assets/Unheimlich_POC/Scripts/Gameplay/Camera/CameraPanController.cs.meta b/Assets/Unheimlich_POC/Scripts/Gameplay/Camera/CameraPanController.cs.meta new file mode 100644 index 00000000..091cfce7 --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/Gameplay/Camera/CameraPanController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 69e8150bab500424eb366f0ac8761995 \ No newline at end of file diff --git a/Assets/Unheimlich_POC/Scripts/Gameplay/GameObjects/Player/DiapasonListeningHandler.cs b/Assets/Unheimlich_POC/Scripts/Gameplay/GameObjects/Player/DiapasonListeningHandler.cs index ddffa372..5526ba31 100644 --- a/Assets/Unheimlich_POC/Scripts/Gameplay/GameObjects/Player/DiapasonListeningHandler.cs +++ b/Assets/Unheimlich_POC/Scripts/Gameplay/GameObjects/Player/DiapasonListeningHandler.cs @@ -5,6 +5,8 @@ using Unheimlich.Audio; using Unheimlich.Core; using Unheimlich.Utility; using Unheimlich.Gameplay.Player; +using Unheimlich.Gameplay.CameraControl; +using Unheimlich.Data.CameraSettings; using InputManager = Unheimlich.Managers.PlayerInputManager; namespace Unheimlich.Gameplay.Player @@ -14,7 +16,7 @@ namespace Unheimlich.Gameplay.Player /// Handles: /// - Equipping/unequipping the diapason with tween animations /// - Concentration phase (breathing sound and duration) - /// - Listening mode with camera pan control + /// - Listening mode with camera pan control (via CameraPanController) /// - Tapping the diapason on listenable objects /// - Visual feedback (vignette, cursor, particles) /// - Preventing multiple taps on the same emitter @@ -27,7 +29,8 @@ namespace Unheimlich.Gameplay.Player [Header("References")] [SerializeField] private GameObject _diapasonObject; [SerializeField] private Animator _diapasonAnimator; - [SerializeField] private Camera _playerCamera; + [SerializeField] private UnityEngine.Camera _playerCamera; + [SerializeField] private CameraPanController _cameraPanController; [Header("Listening Settings")] [SerializeField] private float _listeningRange = 5f; @@ -41,13 +44,6 @@ namespace Unheimlich.Gameplay.Player [SerializeField] private AnimationCurve _diapasonTweenCurve = AnimationCurve.EaseInOut(0, 0, 1, 1); [SerializeField] private float _vibrationDuration = 15f; - [Header("Camera Settings")] - [SerializeField] private float _cameraPanSpeed = 2f; - [SerializeField] private float _cameraPanBorderSize = 0.1f; - [SerializeField] private float _maxCameraPanAngle = 15f; - [SerializeField] private float _cameraAlignmentSpeed = 3f; - [SerializeField] private float _cameraAlignmentThreshold = 0.5f; - [Header("Visual Feedback")] [SerializeField] private float _vignetteIntensity = 0.5f; [SerializeField] private ListeningVignetteEffect _vignetteEffect; @@ -66,7 +62,6 @@ namespace Unheimlich.Gameplay.Player [Header("Input Action")] [SerializeField] private InputActionReference _diapasonAction; - [SerializeField] private InputActionReference _lookAction; [SerializeField] private InputActionReference _fireAction; public bool IsListening { get; private set; } @@ -78,17 +73,11 @@ namespace Unheimlich.Gameplay.Player private int _diapasonTweenId = -1; private int _audioListenerFadeTweenId = -1; private int _playerAudioFadeTweenId = -1; - private Vector2 _originalCameraRotation; private float _originalAmbientVolume; private Vector3 _diapasonEquippedPosition; private Vector3 _diapasonHiddenPosition; - private Vector3 _originalCameraLocalPosition; - private Vector3 _originalPlayerPosition; - private Vector3 _originalPlayerRotation; - private Vector3 _originalCameraLocalRotation; private bool _canUseDiapason; private bool _isFadingOutConcentration; - private Coroutine _returnCoroutine; private Coroutine _vibrationCoroutine; protected override void OnAwake() @@ -97,15 +86,16 @@ namespace Unheimlich.Gameplay.Player if (_playerAudioSource == null) _playerAudioSource = gameObject.AddComponent(); - if (_playerCamera != null) + if (_cameraPanController == null) { - _originalCameraLocalPosition = _playerCamera.transform.localPosition; - _originalCameraLocalRotation = _playerCamera.transform.localEulerAngles; + _cameraPanController = GetComponent(); + if (_cameraPanController == null) + { + Debug.LogWarning("[Diapason] CameraPanController not found! Adding one automatically."); + _cameraPanController = gameObject.AddComponent(); + } } - _originalPlayerPosition = transform.position; - _originalPlayerRotation = transform.eulerAngles; - if (_diapasonObject != null) { _diapasonEquippedPosition = _diapasonObject.transform.localPosition; @@ -154,9 +144,9 @@ namespace Unheimlich.Gameplay.Player } } - if (IsListening) + if (IsListening && _cameraPanController != null) { - UpdateCursorAndCameraPan(); + _cameraPanController.UpdatePan(); CheckForListenableObject(); } } @@ -252,11 +242,12 @@ namespace Unheimlich.Gameplay.Player IsConcentrating = true; InputManager.SetContext(InputManager.InputContext.Listening); - if (_currentTargetEmitter != null) + if (_currentTargetEmitter != null && _cameraPanController != null) { _currentTargetEmitter.SetConcentrating(true); - yield return StartCoroutine(AlignCameraToTarget(_currentTargetEmitter.transform)); + _cameraPanController.AlignToTarget(_currentTargetEmitter.transform); + yield return new WaitForSeconds(1f / 3f); } if (_diapasonObject != null) @@ -288,11 +279,10 @@ namespace Unheimlich.Gameplay.Player EnableVignette(true); - float currentPitch = _playerCamera.transform.localEulerAngles.x; - if (currentPitch > 180f) - currentPitch -= 360f; - - _originalCameraRotation = new Vector2(transform.eulerAngles.y, currentPitch); + if (_cameraPanController != null) + { + _cameraPanController.StartPan(); + } Cursor.lockState = CursorLockMode.Confined; Cursor.visible = false; @@ -325,11 +315,11 @@ namespace Unheimlich.Gameplay.Player IsListening = false; IsConcentrating = false; - if (_returnCoroutine != null) + if (_cameraPanController != null) { - StopCoroutine(_returnCoroutine); + _cameraPanController.StopPan(); + _cameraPanController.ReturnToOriginalPosition(); } - _returnCoroutine = StartCoroutine(ReturnToOriginalPosition()); if (_playerAudioSource != null && _playerAudioSource.isPlaying) { @@ -403,182 +393,6 @@ namespace Unheimlich.Gameplay.Player _isFadingOutConcentration = false; } - /// - /// Aligns the player and camera to the target object: - /// - Player moves along target's local X axis to align with target center - /// - Player rotates to face the target - /// - Camera pitch adjusts to look at target center - /// - private IEnumerator AlignCameraToTarget(Transform target) - { - if (_playerCamera == null || target == null) - yield break; - - _originalCameraLocalPosition = _playerCamera.transform.localPosition; - _originalCameraLocalRotation = _playerCamera.transform.localEulerAngles; - _originalPlayerPosition = transform.position; - _originalPlayerRotation = transform.eulerAngles; - - Vector3 targetCenter = target.position; - Renderer targetRenderer = target.GetComponent(); - if (targetRenderer != null) - { - targetCenter = targetRenderer.bounds.center; - } - else - { - Collider targetCollider = target.GetComponent(); - if (targetCollider != null) - targetCenter = targetCollider.bounds.center; - } - - Vector3 startPlayerPos = transform.position; - Vector3 startPlayerRotation = transform.eulerAngles; - Vector3 startCameraLocalRotation = _playerCamera.transform.localEulerAngles; - - float startPitch = startCameraLocalRotation.x; - if (startPitch > 180f) - startPitch -= 360f; - - float elapsed = 0f; - float duration = 1f / _cameraAlignmentSpeed; - - while (elapsed < duration) - { - elapsed += Time.deltaTime; - float t = Mathf.SmoothStep(0f, 1f, elapsed / duration); - - Vector3 currentCameraPos = _playerCamera.transform.position; - Vector3 toTarget = targetCenter - currentCameraPos; - Vector3 directionToTarget = toTarget.normalized; - - Quaternion targetRotation = Quaternion.LookRotation(directionToTarget); - float targetYaw = targetRotation.eulerAngles.y; - float targetPitch = -Mathf.Asin(directionToTarget.y) * Mathf.Rad2Deg; - - Vector3 targetRightAxis = target.right; - Vector3 playerToTargetCenter = targetCenter - transform.position; - float offsetAlongTargetRight = Vector3.Dot(playerToTargetCenter, targetRightAxis); - Vector3 targetPlayerPos = transform.position + targetRightAxis * offsetAlongTargetRight; - - Vector3 currentPlayerPos = Vector3.Lerp(startPlayerPos, targetPlayerPos, t); - transform.position = currentPlayerPos; - - float currentYaw = Mathf.LerpAngle(startPlayerRotation.y, targetYaw, t); - transform.eulerAngles = new Vector3(0f, currentYaw, 0f); - - float currentPitch = Mathf.LerpAngle(startPitch, targetPitch, t); - _playerCamera.transform.localEulerAngles = new Vector3(currentPitch, 0f, 0f); - - yield return null; - } - } - - /// - /// Returns player and camera to original position and rotation with smooth lerp. - /// - private IEnumerator ReturnToOriginalPosition() - { - if (_playerCamera == null) - yield break; - - Vector3 startPlayerPos = transform.position; - Vector3 startPlayerRotation = transform.eulerAngles; - Vector3 startCameraLocalPos = _playerCamera.transform.localPosition; - Vector3 startCameraLocalRotation = _playerCamera.transform.localEulerAngles; - - float startPitch = startCameraLocalRotation.x; - if (startPitch > 180f) - startPitch -= 360f; - - float targetPitch = _originalCameraLocalRotation.x; - if (targetPitch > 180f) - targetPitch -= 360f; - - float elapsed = 0f; - float duration = 1f / _cameraAlignmentSpeed; - - while (elapsed < duration) - { - elapsed += Time.deltaTime; - float t = Mathf.SmoothStep(0f, 1f, elapsed / duration); - - transform.position = Vector3.Lerp(startPlayerPos, _originalPlayerPosition, t); - - float currentYaw = Mathf.LerpAngle(startPlayerRotation.y, _originalPlayerRotation.y, t); - transform.eulerAngles = new Vector3(0f, currentYaw, 0f); - - float currentPitch = Mathf.LerpAngle(startPitch, targetPitch, t); - _playerCamera.transform.localEulerAngles = new Vector3(currentPitch, 0f, 0f); - - _playerCamera.transform.localPosition = Vector3.Lerp(startCameraLocalPos, _originalCameraLocalPosition, t); - - yield return null; - } - - transform.position = _originalPlayerPosition; - transform.eulerAngles = _originalPlayerRotation; - _playerCamera.transform.localPosition = _originalCameraLocalPosition; - _playerCamera.transform.localEulerAngles = _originalCameraLocalRotation; - - _returnCoroutine = null; - } - - /// - /// Updates cursor position and camera panning during listening mode. - /// Supports both gamepad (look input) and mouse (screen edges). - /// - private void UpdateCursorAndCameraPan() - { - if (_playerCamera == null) - return; - - float panX = 0f; - float panY = 0f; - - if (_lookAction != null && _lookAction.action != null) - { - Vector2 lookInput = _lookAction.action.ReadValue(); - if (lookInput.sqrMagnitude > 0.01f) - { - panX = lookInput.x; - panY = lookInput.y; - } - } - - if (panX == 0f && panY == 0f && Mouse.current != null) - { - Vector2 viewportPos = _playerCamera.ScreenToViewportPoint(Mouse.current.position.ReadValue()); - - if (viewportPos.x < _cameraPanBorderSize) - panX = -1f; - else if (viewportPos.x > 1f - _cameraPanBorderSize) - panX = 1f; - - if (viewportPos.y < _cameraPanBorderSize) - panY = -1f; - else if (viewportPos.y > 1f - _cameraPanBorderSize) - panY = 1f; - } - - float targetYaw = _originalCameraRotation.x + (panX * _maxCameraPanAngle); - float targetPitch = _originalCameraRotation.y - (panY * _maxCameraPanAngle); - - targetYaw = Mathf.Clamp(targetYaw, _originalCameraRotation.x - _maxCameraPanAngle, _originalCameraRotation.x + _maxCameraPanAngle); - targetPitch = Mathf.Clamp(targetPitch, _originalCameraRotation.y - _maxCameraPanAngle, _originalCameraRotation.y + _maxCameraPanAngle); - targetPitch = Mathf.Clamp(targetPitch, -89f, 89f); - - Vector3 currentRotation = transform.eulerAngles; - currentRotation.y = Mathf.LerpAngle(currentRotation.y, targetYaw, Time.deltaTime * _cameraPanSpeed); - transform.eulerAngles = currentRotation; - - Vector3 cameraRotation = _playerCamera.transform.localEulerAngles; - if (cameraRotation.x > 180f) - cameraRotation.x -= 360f; - cameraRotation.x = Mathf.LerpAngle(cameraRotation.x, targetPitch, Time.deltaTime * _cameraPanSpeed); - _playerCamera.transform.localEulerAngles = cameraRotation; - } - /// /// Raycasts from camera center to detect listenable objects. /// Handles tap input and prevents tapping the same emitter multiple times.