vr ready buttons

This commit is contained in:
2022-11-28 19:37:18 +01:00
parent 8c495fd953
commit 6106cdc544
16 changed files with 526 additions and 176 deletions

View File

@@ -13,7 +13,7 @@ MonoBehaviour:
m_Name: Desert m_Name: Desert
m_EditorClassIdentifier: m_EditorClassIdentifier:
minRoomSize: {x: 3, y: 3} minRoomSize: {x: 3, y: 3}
playSpace: {x: 3, y: 5} playSpace: {x: 3, y: 3}
spaceTile: {fileID: 3229991053255736984, guid: b8f192f7cebe686468af6b1a71c4605b, spaceTile: {fileID: 3229991053255736984, guid: b8f192f7cebe686468af6b1a71c4605b,
type: 3} type: 3}
environment: {fileID: 5743657079028767629, guid: 17ecdbaca50efaa4ab503614dfec54a8, environment: {fileID: 5743657079028767629, guid: 17ecdbaca50efaa4ab503614dfec54a8,
@@ -24,7 +24,7 @@ MonoBehaviour:
spawnDoor: {fileID: 11400000, guid: f862612dd70c369448b18bbd8094cb38, type: 2} spawnDoor: {fileID: 11400000, guid: f862612dd70c369448b18bbd8094cb38, type: 2}
exitDoorTypes: exitDoorTypes:
- {fileID: 11400000, guid: 83d6800536b1df14287ff2cd8e0d58ce, type: 2} - {fileID: 11400000, guid: 83d6800536b1df14287ff2cd8e0d58ce, type: 2}
puzzleCount: {x: 2, y: 3} puzzleCount: {x: 1, y: 3}
puzzleTypes: puzzleTypes:
- {fileID: 11400000, guid: 3f79d37154e44ca47b54bb43bbe8d9aa, type: 2} - {fileID: 11400000, guid: 3f79d37154e44ca47b54bb43bbe8d9aa, type: 2}
- {fileID: 11400000, guid: 8707242279bb6c541a12dc4491388c42, type: 2} - {fileID: 11400000, guid: 8707242279bb6c541a12dc4491388c42, type: 2}

View File

@@ -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}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: ecbf9ce952d5f38458b8237a4483c562
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 7bb2b5aee7d244943b4f1bb2f6606ac2
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -8,6 +8,12 @@ PrefabInstance:
serializedVersion: 2 serializedVersion: 2
m_TransformParent: {fileID: 0} m_TransformParent: {fileID: 0}
m_Modifications: 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, - target: {fileID: 3992741351158361944, guid: d448da7d4695ed54cbc3c951c4e78509,
type: 3} type: 3}
propertyPath: m_Name propertyPath: m_Name
@@ -88,6 +94,122 @@ GameObject:
type: 3} type: 3}
m_PrefabInstance: {fileID: 7296276792083978233} m_PrefabInstance: {fileID: 7296276792083978233}
m_PrefabAsset: {fileID: 0} 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 --- !u!114 &8232915369211415309
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@@ -1,4 +1,3 @@
using System;
using System.Collections.Generic; using System.Collections.Generic;
using EscapeRoomEngine.VR.Runtime; using EscapeRoomEngine.VR.Runtime;
using UnityEngine; using UnityEngine;
@@ -32,15 +31,14 @@ namespace EscapeRoomEngine.Portal.Runtime
/// </summary> /// </summary>
[SerializeField] public MeshRenderer screen; [SerializeField] public MeshRenderer screen;
private PlayerCamera _playerCamera; private Player _player;
private Camera _camera; private Camera _camera;
private readonly Dictionary<Camera.StereoscopicEye, RenderTexture> _textures = new(); private readonly Dictionary<Camera.StereoscopicEye, RenderTexture> _textures = new();
private void Awake() private void Awake()
{ {
// get player camera // get player camera
if (Camera.main != null) _playerCamera = Camera.main.GetComponent<PlayerCamera>(); _player = Player.Current;
else throw new Exception("Main camera has no player camera script set up.");
// get portal camera // get portal camera
_camera = GetComponent<Camera>(); _camera = GetComponent<Camera>();
@@ -61,7 +59,7 @@ namespace EscapeRoomEngine.Portal.Runtime
private void Render(ScriptableRenderContext scriptableRenderContext, Camera _) private void Render(ScriptableRenderContext scriptableRenderContext, Camera _)
{ {
// check whether the portal plane is visible from the player 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)) if (!GeometryUtility.TestPlanesAABB(frustumPlanes, portal.linkedPortal.portalCamera.screen.bounds))
// don't render this portal if it is not visible // don't render this portal if it is not visible
return; return;
@@ -86,9 +84,9 @@ namespace EscapeRoomEngine.Portal.Runtime
// position portal camera // position portal camera
var m = portal.portalTransform.localToWorldMatrix * Portal.HalfRotation * var m = portal.portalTransform.localToWorldMatrix * Portal.HalfRotation *
portal.linkedPortal.portalTransform.worldToLocalMatrix * portal.linkedPortal.portalTransform.worldToLocalMatrix *
_playerCamera.GetEyeTransform(eye).localToWorldMatrix; _player.GetEye(eye).localToWorldMatrix;
transform.SetPositionAndRotation(m.GetPosition(), m.rotation); 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) // 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 // calculating the clip plane: https://computergraphics.stackexchange.com/a/1506

View File

@@ -294,6 +294,77 @@ LightProbeGroup:
- {x: -2.5, y: 0.20000005, z: -0.5} - {x: -2.5, y: 0.20000005, z: -0.5}
- {x: -2.5, y: 0.20000005, z: -1.5000001} - {x: -2.5, y: 0.20000005, z: -1.5000001}
m_Dering: 1 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 --- !u!1 &410087039
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -586,77 +657,6 @@ Transform:
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 1 m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 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 --- !u!1 &1247991219
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -703,7 +703,7 @@ Transform:
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 5 m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1247991223 --- !u!114 &1247991223
MonoBehaviour: MonoBehaviour:
@@ -776,7 +776,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
maxSpaceGenerationTries: 10 maxSpaceGenerationTries: 10
roomOffset: {x: 0, y: 10, z: 0} roomOffset: {x: 10, y: 0, z: 0}
theme: {fileID: 11400000, guid: 568d9a7d70f3edb4cb6db66a0010f105, type: 2} theme: {fileID: 11400000, guid: 568d9a7d70f3edb4cb6db66a0010f105, type: 2}
--- !u!4 &1568048335 --- !u!4 &1568048335
Transform: Transform:
@@ -791,7 +791,7 @@ Transform:
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 6 m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1568048336 --- !u!114 &1568048336
MonoBehaviour: MonoBehaviour:
@@ -807,50 +807,6 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
loggingEnabled: 1 loggingEnabled: 1
typeFilter: 000000000400000006000000 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 --- !u!1 &1943716334
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -960,7 +916,7 @@ Transform:
m_Children: m_Children:
- {fileID: 776566807} - {fileID: 776566807}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 4 m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 28.238, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 28.238, y: 0, z: 0}
--- !u!45 &1943716339 --- !u!45 &1943716339
Skybox: Skybox:

View File

@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: f62c9c65cf3354c93be831c8bc075510, type: 3} m_Script: {fileID: 11500000, guid: f62c9c65cf3354c93be831c8bc075510, type: 3}
m_Name: SSAO m_Name: SSAO
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Active: 0 m_Active: 1
m_Shader: {fileID: 4800000, guid: 0849e84e3d62649e8882e9d6f056a017, type: 3} m_Shader: {fileID: 4800000, guid: 0849e84e3d62649e8882e9d6f056a017, type: 3}
m_Settings: m_Settings:
Downsample: 0 Downsample: 0

View File

@@ -23,13 +23,9 @@ MonoBehaviour:
m_RequireOpaqueTexture: 0 m_RequireOpaqueTexture: 0
m_OpaqueDownsampling: 1 m_OpaqueDownsampling: 1
m_SupportsTerrainHoles: 1 m_SupportsTerrainHoles: 1
m_StoreActionsOptimization: 0
m_SupportsHDR: 1 m_SupportsHDR: 1
m_MSAA: 4 m_MSAA: 4
m_RenderScale: 1 m_RenderScale: 1
m_UpscalingFilter: 0
m_FsrOverrideSharpness: 0
m_FsrSharpness: 0.92
m_MainLightRenderingMode: 1 m_MainLightRenderingMode: 1
m_MainLightShadowsSupported: 1 m_MainLightShadowsSupported: 1
m_MainLightShadowmapResolution: 4096 m_MainLightShadowmapResolution: 4096
@@ -60,6 +56,7 @@ MonoBehaviour:
m_MixedLightingSupported: 1 m_MixedLightingSupported: 1
m_SupportsLightLayers: 0 m_SupportsLightLayers: 0
m_DebugLevel: 0 m_DebugLevel: 0
m_StoreActionsOptimization: 0
m_UseAdaptivePerformance: 1 m_UseAdaptivePerformance: 1
m_ColorGradingMode: 0 m_ColorGradingMode: 0
m_ColorGradingLutSize: 32 m_ColorGradingLutSize: 32

View File

@@ -12,6 +12,7 @@ GameObject:
- component: {fileID: 419816427646908935} - component: {fileID: 419816427646908935}
- component: {fileID: 419816427646908929} - component: {fileID: 419816427646908929}
- component: {fileID: 419816427646908928} - component: {fileID: 419816427646908928}
- component: {fileID: 7423186386015115176}
m_Layer: 0 m_Layer: 0
m_Name: XR Origin m_Name: XR Origin
m_TagString: Untagged m_TagString: Untagged
@@ -78,6 +79,23 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 83e4e6cca11330d4088d729ab4fc9d9f, type: 3} m_Script: {fileID: 11500000, guid: 83e4e6cca11330d4088d729ab4fc9d9f, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: 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 --- !u!1 &419816428170395207
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -228,7 +246,6 @@ GameObject:
- component: {fileID: 419816428804372199} - component: {fileID: 419816428804372199}
- component: {fileID: 419816428804372196} - component: {fileID: 419816428804372196}
- component: {fileID: 419816428804372197} - component: {fileID: 419816428804372197}
- component: {fileID: 419816428804372193}
- component: {fileID: 419816428804372192} - component: {fileID: 419816428804372192}
- component: {fileID: 419816428804372195} - component: {fileID: 419816428804372195}
- component: {fileID: 419816428804372194} - component: {fileID: 419816428804372194}
@@ -417,7 +434,7 @@ MonoBehaviour:
m_Bits: 1 m_Bits: 1
m_VolumeTrigger: {fileID: 0} m_VolumeTrigger: {fileID: 0}
m_VolumeFrameworkUpdateModeOption: 2 m_VolumeFrameworkUpdateModeOption: 2
m_RenderPostProcessing: 0 m_RenderPostProcessing: 1
m_Antialiasing: 0 m_Antialiasing: 0
m_AntialiasingQuality: 2 m_AntialiasingQuality: 2
m_StopNaN: 0 m_StopNaN: 0
@@ -427,21 +444,6 @@ MonoBehaviour:
m_RequiresDepthTexture: 0 m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0 m_RequiresColorTexture: 0
m_Version: 2 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 --- !u!114 &419816428804372192
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -638,6 +640,7 @@ GameObject:
- component: {fileID: 419816429261119706} - component: {fileID: 419816429261119706}
- component: {fileID: 419816429261119716} - component: {fileID: 419816429261119716}
- component: {fileID: 419816429261119717} - component: {fileID: 419816429261119717}
- component: {fileID: 8778856249964231161}
m_Layer: 0 m_Layer: 0
m_Name: Left Hand m_Name: Left Hand
m_TagString: Untagged m_TagString: Untagged
@@ -925,11 +928,27 @@ SphereCollider:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 419816429261119704} m_GameObject: {fileID: 419816429261119704}
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_IsTrigger: 1 m_IsTrigger: 0
m_Enabled: 1 m_Enabled: 1
serializedVersion: 2 serializedVersion: 2
m_Radius: 0.1 m_Radius: 0.1
m_Center: {x: 0, y: 0, z: 0} 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 --- !u!1 &419816429471595190
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -1008,6 +1027,7 @@ GameObject:
- component: {fileID: 419816429507230714} - component: {fileID: 419816429507230714}
- component: {fileID: 419816429507230468} - component: {fileID: 419816429507230468}
- component: {fileID: 419816429507230469} - component: {fileID: 419816429507230469}
- component: {fileID: 7268346571948368084}
m_Layer: 0 m_Layer: 0
m_Name: Right Hand m_Name: Right Hand
m_TagString: Untagged m_TagString: Untagged
@@ -1295,8 +1315,24 @@ SphereCollider:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 419816429507230712} m_GameObject: {fileID: 419816429507230712}
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_IsTrigger: 1 m_IsTrigger: 0
m_Enabled: 1 m_Enabled: 1
serializedVersion: 2 serializedVersion: 2
m_Radius: 0.1 m_Radius: 0.1
m_Center: {x: 0, y: 0, z: 0} 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

View File

@@ -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<Player>();
}
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;
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 5bd3e7129c8849acbfc4468a14bddf7a
timeCreated: 1669641195

View File

@@ -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;
}
}

View File

@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: b2ceb62217b416743baa8beee7109cfb
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -2,6 +2,7 @@
"name": "VR", "name": "VR",
"rootNamespace": "EscapeRoomEngine", "rootNamespace": "EscapeRoomEngine",
"references": [ "references": [
"GUID:fe685ec1767f73d42b749ea8045bfe43",
"GUID:776d03a35f1b52c4a9aed9f56d7b4229" "GUID:776d03a35f1b52c4a9aed9f56d7b4229"
], ],
"includePlatforms": [], "includePlatforms": [],