diff --git a/Assets/Desert/Assets/Desert.asset b/Assets/Desert/Assets/Desert.asset index b16c882..402e444 100644 --- a/Assets/Desert/Assets/Desert.asset +++ b/Assets/Desert/Assets/Desert.asset @@ -13,7 +13,7 @@ MonoBehaviour: m_Name: Desert m_EditorClassIdentifier: minRoomSize: {x: 3, y: 3} - playSpace: {x: 3, y: 5} + playSpace: {x: 3, y: 3} spaceTile: {fileID: 3229991053255736984, guid: b8f192f7cebe686468af6b1a71c4605b, type: 3} environment: {fileID: 5743657079028767629, guid: 17ecdbaca50efaa4ab503614dfec54a8, @@ -24,7 +24,7 @@ MonoBehaviour: spawnDoor: {fileID: 11400000, guid: f862612dd70c369448b18bbd8094cb38, type: 2} exitDoorTypes: - {fileID: 11400000, guid: 83d6800536b1df14287ff2cd8e0d58ce, type: 2} - puzzleCount: {x: 2, y: 3} + puzzleCount: {x: 1, y: 3} puzzleTypes: - {fileID: 11400000, guid: 3f79d37154e44ca47b54bb43bbe8d9aa, type: 2} - {fileID: 11400000, guid: 8707242279bb6c541a12dc4491388c42, type: 2} diff --git a/Assets/Desert/Assets/Prefabs/Desert XR Origin.prefab b/Assets/Desert/Assets/Prefabs/Desert XR Origin.prefab new file mode 100644 index 0000000..504ac08 --- /dev/null +++ b/Assets/Desert/Assets/Prefabs/Desert XR Origin.prefab @@ -0,0 +1,85 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &6542684658370590840 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 2 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 419816427646908932, guid: c84e0198f66a41b4294f6e8e585192a4, + type: 3} + propertyPath: m_Name + value: Desert XR Origin + objectReference: {fileID: 0} + - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 419816429261119706, guid: c84e0198f66a41b4294f6e8e585192a4, + type: 3} + propertyPath: m_ModelPrefab + value: + objectReference: {fileID: 3680365890358827431, guid: 7bb2b5aee7d244943b4f1bb2f6606ac2, + type: 3} + - target: {fileID: 419816429507230714, guid: c84e0198f66a41b4294f6e8e585192a4, + type: 3} + propertyPath: m_ModelPrefab + value: + objectReference: {fileID: 3680365890358827431, guid: 7bb2b5aee7d244943b4f1bb2f6606ac2, + type: 3} + m_RemovedComponents: [] + m_AddedGameObjects: [] + m_SourcePrefab: {fileID: 100100000, guid: c84e0198f66a41b4294f6e8e585192a4, type: 3} diff --git a/Assets/Desert/Assets/Prefabs/Desert XR Origin.prefab.meta b/Assets/Desert/Assets/Prefabs/Desert XR Origin.prefab.meta new file mode 100644 index 0000000..04b648c --- /dev/null +++ b/Assets/Desert/Assets/Prefabs/Desert XR Origin.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ecbf9ce952d5f38458b8237a4483c562 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Desert/Assets/Prefabs/Holo Hand.prefab b/Assets/Desert/Assets/Prefabs/Holo Hand.prefab new file mode 100644 index 0000000..940d3bf --- /dev/null +++ b/Assets/Desert/Assets/Prefabs/Holo Hand.prefab @@ -0,0 +1,134 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3680365890358827426 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3680365890358827431} + - component: {fileID: 3680365890358827424} + - component: {fileID: 3680365890358827425} + - component: {fileID: 9003874053127290317} + - component: {fileID: 6670815188493146868} + - component: {fileID: 7213930867242206722} + m_Layer: 6 + m_Name: Holo Hand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3680365890358827431 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3680365890358827426} + m_LocalRotation: {x: 0.70710707, y: -0, z: -0, w: 0.70710653} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!33 &3680365890358827424 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3680365890358827426} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &3680365890358827425 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3680365890358827426} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d1f58490f6d04c64da01277723d63536, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!136 &9003874053127290317 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3680365890358827426} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!54 &6670815188493146868 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3680365890358827426} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &7213930867242206722 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3680365890358827426} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ee06bb2aa499a594c9761498039d73a7, type: 3} + m_Name: + m_EditorClassIdentifier: + traveller: {fileID: 0} + hasClone: 1 + entrySide: 0 + clone: {fileID: 0} diff --git a/Assets/Desert/Assets/Prefabs/Holo Hand.prefab.meta b/Assets/Desert/Assets/Prefabs/Holo Hand.prefab.meta new file mode 100644 index 0000000..1225ead --- /dev/null +++ b/Assets/Desert/Assets/Prefabs/Holo Hand.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7bb2b5aee7d244943b4f1bb2f6606ac2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Desert/Assets/Prefabs/Symbols/Symbol Button.prefab b/Assets/Desert/Assets/Prefabs/Symbols/Symbol Button.prefab index 338c95f..ebbdc48 100644 --- a/Assets/Desert/Assets/Prefabs/Symbols/Symbol Button.prefab +++ b/Assets/Desert/Assets/Prefabs/Symbols/Symbol Button.prefab @@ -8,6 +8,12 @@ PrefabInstance: serializedVersion: 2 m_TransformParent: {fileID: 0} m_Modifications: + - target: {fileID: 2729712160695412300, guid: d448da7d4695ed54cbc3c951c4e78509, + type: 3} + propertyPath: m_Mesh + value: + objectReference: {fileID: 4060858011744859214, guid: d85d1c4a0aee1c0488ecef3460974169, + type: 3} - target: {fileID: 3992741351158361944, guid: d448da7d4695ed54cbc3c951c4e78509, type: 3} propertyPath: m_Name @@ -88,6 +94,122 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 7296276792083978233} m_PrefabAsset: {fileID: 0} +--- !u!135 &292531925237153382 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5920126912232503457} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.025 + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &441274444389109490 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5920126912232503457} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8a35f6cfbfba9b548aaa00d52cfe8a50, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_Colliders: + - {fileID: 292531925237153382} + m_InteractionLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_InteractionLayers: + m_Bits: 1 + m_SelectMode: 0 + m_CustomReticle: {fileID: 0} + m_FirstHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_LastHoverExited: + m_PersistentCalls: + m_Calls: [] + m_HoverEntered: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 8232915369211415309} + m_TargetAssemblyTypeName: EscapeRoomEngine.Desert.Runtime.Button, Desert + m_MethodName: Press + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_HoverExited: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 8232915369211415309} + m_TargetAssemblyTypeName: EscapeRoomEngine.Desert.Runtime.Button, Desert + m_MethodName: Release + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_FirstSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_LastSelectExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_Activated: + m_PersistentCalls: + m_Calls: [] + m_Deactivated: + m_PersistentCalls: + m_Calls: [] + m_OnFirstHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_OnLastHoverExited: + m_PersistentCalls: + m_Calls: [] + m_OnHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_OnHoverExited: + m_PersistentCalls: + m_Calls: [] + m_OnSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_OnSelectExited: + m_PersistentCalls: + m_Calls: [] + m_OnSelectCanceled: + m_PersistentCalls: + m_Calls: [] + m_OnActivate: + m_PersistentCalls: + m_Calls: [] + m_OnDeactivate: + m_PersistentCalls: + m_Calls: [] --- !u!114 &8232915369211415309 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Portal/Runtime/PortalCamera.cs b/Assets/Portal/Runtime/PortalCamera.cs index 8c9abc7..79b8e3d 100644 --- a/Assets/Portal/Runtime/PortalCamera.cs +++ b/Assets/Portal/Runtime/PortalCamera.cs @@ -1,4 +1,3 @@ -using System; using System.Collections.Generic; using EscapeRoomEngine.VR.Runtime; using UnityEngine; @@ -32,15 +31,14 @@ namespace EscapeRoomEngine.Portal.Runtime /// [SerializeField] public MeshRenderer screen; - private PlayerCamera _playerCamera; + private Player _player; private Camera _camera; private readonly Dictionary _textures = new(); private void Awake() { // get player camera - if (Camera.main != null) _playerCamera = Camera.main.GetComponent(); - else throw new Exception("Main camera has no player camera script set up."); + _player = Player.Current; // get portal camera _camera = GetComponent(); @@ -61,7 +59,7 @@ namespace EscapeRoomEngine.Portal.Runtime private void Render(ScriptableRenderContext scriptableRenderContext, Camera _) { // check whether the portal plane is visible from the player camera - var frustumPlanes = GeometryUtility.CalculateFrustumPlanes(_playerCamera.camera); + var frustumPlanes = GeometryUtility.CalculateFrustumPlanes(_player.camera); if (!GeometryUtility.TestPlanesAABB(frustumPlanes, portal.linkedPortal.portalCamera.screen.bounds)) // don't render this portal if it is not visible return; @@ -86,9 +84,9 @@ namespace EscapeRoomEngine.Portal.Runtime // position portal camera var m = portal.portalTransform.localToWorldMatrix * Portal.HalfRotation * portal.linkedPortal.portalTransform.worldToLocalMatrix * - _playerCamera.GetEyeTransform(eye).localToWorldMatrix; + _player.GetEye(eye).localToWorldMatrix; transform.SetPositionAndRotation(m.GetPosition(), m.rotation); - _camera.projectionMatrix = _playerCamera.camera.GetStereoProjectionMatrix(eye); + _camera.projectionMatrix = _player.camera.GetStereoProjectionMatrix(eye); // set camera clip plane to portal (otherwise the wall behind the portal would be rendered) // calculating the clip plane: https://computergraphics.stackexchange.com/a/1506 diff --git a/Assets/Scenes/TestScene.unity b/Assets/Scenes/TestScene.unity index c1c5a2e..bf8a8c5 100644 --- a/Assets/Scenes/TestScene.unity +++ b/Assets/Scenes/TestScene.unity @@ -294,6 +294,77 @@ LightProbeGroup: - {x: -2.5, y: 0.20000005, z: -0.5} - {x: -2.5, y: 0.20000005, z: -1.5000001} m_Dering: 1 +--- !u!1001 &348369381 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 2 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 6854256364732531324, guid: ecbf9ce952d5f38458b8237a4483c562, + type: 3} + propertyPath: m_Name + value: Desert XR Origin + objectReference: {fileID: 0} + - target: {fileID: 6854256364732531326, guid: ecbf9ce952d5f38458b8237a4483c562, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 6854256364732531326, guid: ecbf9ce952d5f38458b8237a4483c562, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6854256364732531326, guid: ecbf9ce952d5f38458b8237a4483c562, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6854256364732531326, guid: ecbf9ce952d5f38458b8237a4483c562, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6854256364732531326, guid: ecbf9ce952d5f38458b8237a4483c562, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6854256364732531326, guid: ecbf9ce952d5f38458b8237a4483c562, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6854256364732531326, guid: ecbf9ce952d5f38458b8237a4483c562, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6854256364732531326, guid: ecbf9ce952d5f38458b8237a4483c562, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6854256364732531326, guid: ecbf9ce952d5f38458b8237a4483c562, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6854256364732531326, guid: ecbf9ce952d5f38458b8237a4483c562, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6854256364732531326, guid: ecbf9ce952d5f38458b8237a4483c562, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_AddedGameObjects: [] + m_SourcePrefab: {fileID: 100100000, guid: ecbf9ce952d5f38458b8237a4483c562, type: 3} --- !u!1 &410087039 GameObject: m_ObjectHideFlags: 0 @@ -586,77 +657,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &1036202860 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 2 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 419816427646908932, guid: c84e0198f66a41b4294f6e8e585192a4, - type: 3} - propertyPath: m_Name - value: XR Origin - objectReference: {fileID: 0} - - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, - type: 3} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_AddedGameObjects: [] - m_SourcePrefab: {fileID: 100100000, guid: c84e0198f66a41b4294f6e8e585192a4, type: 3} --- !u!1 &1247991219 GameObject: m_ObjectHideFlags: 0 @@ -703,7 +703,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 5 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1247991223 MonoBehaviour: @@ -776,7 +776,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: maxSpaceGenerationTries: 10 - roomOffset: {x: 0, y: 10, z: 0} + roomOffset: {x: 10, y: 0, z: 0} theme: {fileID: 11400000, guid: 568d9a7d70f3edb4cb6db66a0010f105, type: 2} --- !u!4 &1568048335 Transform: @@ -791,7 +791,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 6 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1568048336 MonoBehaviour: @@ -807,50 +807,6 @@ MonoBehaviour: m_EditorClassIdentifier: loggingEnabled: 1 typeFilter: 000000000400000006000000 ---- !u!1 &1718957584 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1718957586} - - component: {fileID: 1718957585} - m_Layer: 0 - m_Name: XR Interaction Manager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1718957585 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1718957584} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 83e4e6cca11330d4088d729ab4fc9d9f, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!4 &1718957586 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1718957584} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1943716334 GameObject: m_ObjectHideFlags: 0 @@ -960,7 +916,7 @@ Transform: m_Children: - {fileID: 776566807} m_Father: {fileID: 0} - m_RootOrder: 4 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 28.238, y: 0, z: 0} --- !u!45 &1943716339 Skybox: diff --git a/Assets/URP/URP-HighFidelity-Renderer.asset b/Assets/URP/URP-HighFidelity-Renderer.asset index 6e4d296..f2a24f0 100644 --- a/Assets/URP/URP-HighFidelity-Renderer.asset +++ b/Assets/URP/URP-HighFidelity-Renderer.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f62c9c65cf3354c93be831c8bc075510, type: 3} m_Name: SSAO m_EditorClassIdentifier: - m_Active: 0 + m_Active: 1 m_Shader: {fileID: 4800000, guid: 0849e84e3d62649e8882e9d6f056a017, type: 3} m_Settings: Downsample: 0 diff --git a/Assets/URP/URP-HighFidelity.asset b/Assets/URP/URP-HighFidelity.asset index 2465562..7f0ea68 100644 --- a/Assets/URP/URP-HighFidelity.asset +++ b/Assets/URP/URP-HighFidelity.asset @@ -23,13 +23,9 @@ MonoBehaviour: m_RequireOpaqueTexture: 0 m_OpaqueDownsampling: 1 m_SupportsTerrainHoles: 1 - m_StoreActionsOptimization: 0 m_SupportsHDR: 1 m_MSAA: 4 m_RenderScale: 1 - m_UpscalingFilter: 0 - m_FsrOverrideSharpness: 0 - m_FsrSharpness: 0.92 m_MainLightRenderingMode: 1 m_MainLightShadowsSupported: 1 m_MainLightShadowmapResolution: 4096 @@ -60,6 +56,7 @@ MonoBehaviour: m_MixedLightingSupported: 1 m_SupportsLightLayers: 0 m_DebugLevel: 0 + m_StoreActionsOptimization: 0 m_UseAdaptivePerformance: 1 m_ColorGradingMode: 0 m_ColorGradingLutSize: 32 diff --git a/Assets/VR/Assets/Prefabs/XR Origin.prefab b/Assets/VR/Assets/Prefabs/XR Origin.prefab index d6e9f1d..ae6070e 100644 --- a/Assets/VR/Assets/Prefabs/XR Origin.prefab +++ b/Assets/VR/Assets/Prefabs/XR Origin.prefab @@ -12,6 +12,7 @@ GameObject: - component: {fileID: 419816427646908935} - component: {fileID: 419816427646908929} - component: {fileID: 419816427646908928} + - component: {fileID: 7423186386015115176} m_Layer: 0 m_Name: XR Origin m_TagString: Untagged @@ -78,6 +79,23 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 83e4e6cca11330d4088d729ab4fc9d9f, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!114 &7423186386015115176 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 419816427646908932} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5bd3e7129c8849acbfc4468a14bddf7a, type: 3} + m_Name: + m_EditorClassIdentifier: + camera: {fileID: 419816428804372198} + leftEye: {fileID: 419816428871882043} + rightEye: {fileID: 419816428230682310} + leftHand: {fileID: 419816429261119717} + rightHand: {fileID: 419816429507230469} --- !u!1 &419816428170395207 GameObject: m_ObjectHideFlags: 0 @@ -228,7 +246,6 @@ GameObject: - component: {fileID: 419816428804372199} - component: {fileID: 419816428804372196} - component: {fileID: 419816428804372197} - - component: {fileID: 419816428804372193} - component: {fileID: 419816428804372192} - component: {fileID: 419816428804372195} - component: {fileID: 419816428804372194} @@ -417,7 +434,7 @@ MonoBehaviour: m_Bits: 1 m_VolumeTrigger: {fileID: 0} m_VolumeFrameworkUpdateModeOption: 2 - m_RenderPostProcessing: 0 + m_RenderPostProcessing: 1 m_Antialiasing: 0 m_AntialiasingQuality: 2 m_StopNaN: 0 @@ -427,21 +444,6 @@ MonoBehaviour: m_RequiresDepthTexture: 0 m_RequiresColorTexture: 0 m_Version: 2 ---- !u!114 &419816428804372193 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 419816428804372187} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b2ceb62217b416743baa8beee7109cfb, type: 3} - m_Name: - m_EditorClassIdentifier: - camera: {fileID: 419816428804372198} - leftEye: {fileID: 419816428871882043} - rightEye: {fileID: 419816428230682310} --- !u!114 &419816428804372192 MonoBehaviour: m_ObjectHideFlags: 0 @@ -638,6 +640,7 @@ GameObject: - component: {fileID: 419816429261119706} - component: {fileID: 419816429261119716} - component: {fileID: 419816429261119717} + - component: {fileID: 8778856249964231161} m_Layer: 0 m_Name: Left Hand m_TagString: Untagged @@ -925,11 +928,27 @@ SphereCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 419816429261119704} m_Material: {fileID: 0} - m_IsTrigger: 1 + m_IsTrigger: 0 m_Enabled: 1 serializedVersion: 2 m_Radius: 0.1 m_Center: {x: 0, y: 0, z: 0} +--- !u!54 &8778856249964231161 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 419816429261119704} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 --- !u!1 &419816429471595190 GameObject: m_ObjectHideFlags: 0 @@ -1008,6 +1027,7 @@ GameObject: - component: {fileID: 419816429507230714} - component: {fileID: 419816429507230468} - component: {fileID: 419816429507230469} + - component: {fileID: 7268346571948368084} m_Layer: 0 m_Name: Right Hand m_TagString: Untagged @@ -1295,8 +1315,24 @@ SphereCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 419816429507230712} m_Material: {fileID: 0} - m_IsTrigger: 1 + m_IsTrigger: 0 m_Enabled: 1 serializedVersion: 2 m_Radius: 0.1 m_Center: {x: 0, y: 0, z: 0} +--- !u!54 &7268346571948368084 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 419816429507230712} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 diff --git a/Assets/VR/Runtime/Player.cs b/Assets/VR/Runtime/Player.cs new file mode 100644 index 0000000..fe53350 --- /dev/null +++ b/Assets/VR/Runtime/Player.cs @@ -0,0 +1,28 @@ +using NaughtyAttributes; +using UnityEngine; + +namespace EscapeRoomEngine.VR.Runtime +{ + public class Player : MonoBehaviour + { + public static Player Current + { + get + { + if (_foundPlayer == null) + { + _foundPlayer = FindObjectOfType(); + } + return _foundPlayer; + } + } + private static Player _foundPlayer; + + [BoxGroup("Internal")] public new Camera camera; + [BoxGroup("Internal")] [SerializeField] private Transform leftEye, rightEye; + [BoxGroup("Internal")] [SerializeField] private Collider leftHand, rightHand; + + public Transform GetEye(Camera.StereoscopicEye eye) => + eye == Camera.StereoscopicEye.Left ? leftEye : rightEye; + } +} diff --git a/Assets/VR/Runtime/Player.cs.meta b/Assets/VR/Runtime/Player.cs.meta new file mode 100644 index 0000000..3c473c4 --- /dev/null +++ b/Assets/VR/Runtime/Player.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5bd3e7129c8849acbfc4468a14bddf7a +timeCreated: 1669641195 \ No newline at end of file diff --git a/Assets/VR/Runtime/PlayerCamera.cs b/Assets/VR/Runtime/PlayerCamera.cs deleted file mode 100644 index c29d57a..0000000 --- a/Assets/VR/Runtime/PlayerCamera.cs +++ /dev/null @@ -1,13 +0,0 @@ -using UnityEngine; - -namespace EscapeRoomEngine.VR.Runtime -{ - public class PlayerCamera : MonoBehaviour - { - public new Camera camera; - [SerializeField] private Transform leftEye, rightEye; - - public Transform GetEyeTransform(Camera.StereoscopicEye eye) => - eye == Camera.StereoscopicEye.Left ? leftEye : rightEye; - } -} diff --git a/Assets/VR/Runtime/PlayerCamera.cs.meta b/Assets/VR/Runtime/PlayerCamera.cs.meta deleted file mode 100644 index ec8ad73..0000000 --- a/Assets/VR/Runtime/PlayerCamera.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b2ceb62217b416743baa8beee7109cfb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/VR/Runtime/VR.asmdef b/Assets/VR/Runtime/VR.asmdef index d96c424..01ec49d 100644 --- a/Assets/VR/Runtime/VR.asmdef +++ b/Assets/VR/Runtime/VR.asmdef @@ -2,6 +2,7 @@ "name": "VR", "rootNamespace": "EscapeRoomEngine", "references": [ + "GUID:fe685ec1767f73d42b749ea8045bfe43", "GUID:776d03a35f1b52c4a9aed9f56d7b4229" ], "includePlatforms": [],