From d4b6a3d42ef92286c977c414b32d1abd3309db15 Mon Sep 17 00:00:00 2001 From: marcgauch <34353267+marcgauch@users.noreply.github.com> Date: Fri, 15 Dec 2023 08:40:48 +0100 Subject: [PATCH] More or less working camera --- .../Picture/WallArt.cs | 22 +- Assets/Scenes/SampleScene.unity | 283 +++++++++++------- 2 files changed, 179 insertions(+), 126 deletions(-) diff --git a/Assets/Prefabs/OVR Scene Manager Overrides/Picture/WallArt.cs b/Assets/Prefabs/OVR Scene Manager Overrides/Picture/WallArt.cs index f6c7623..b94c5a5 100644 --- a/Assets/Prefabs/OVR Scene Manager Overrides/Picture/WallArt.cs +++ b/Assets/Prefabs/OVR Scene Manager Overrides/Picture/WallArt.cs @@ -71,29 +71,11 @@ public class WallArt : MonoBehaviour // Update is called once per frame void Update() { - - // https://www.youtube.com/watch?v=txF4t1qynyk - // Check if the cameraRig is assigned if (ovrCameraRig == null) return; - // Get the CenterEyeAnchor position - Vector3 centerEyePosition = ovrCameraRig.centerEyeAnchor.position; - //Vector3 centerEyePosition = new Vector3(); - - // Update the position of the object based on the CenterEyeAnchor position with an added offset to the y-axis - ///outsideCameraInstance.transform.position = new Vector3(centerEyePosition.x, centerEyePosition.y + 0f, centerEyePosition.z); - - // Remove rotation around the z-axis - ///Vector3 eulerRotation = ovrCameraRig.centerEyeAnchor.rotation.eulerAngles; - //Vector3 eulerRotation = Vector3.right; - ///outsideCameraInstance.transform.rotation = Quaternion.Euler(eulerRotation.x, eulerRotation.y, 0f); - - Vector3 localPlayer = window.InverseTransformPoint(centerEyePosition); - outsideCameraInstance.transform.position = window.TransformPoint(new Vector3(localPlayer.x, localPlayer.y, localPlayer.z)); - Vector3 lookAtWindow = window.TransformPoint(new Vector3(-localPlayer.x, localPlayer.y, localPlayer.z)); - outsideCameraInstance.transform.LookAt(lookAtWindow); - + outsideCameraInstance.transform.position = ovrCameraRig.centerEyeAnchor.position; + outsideCameraInstance.transform.LookAt(window); } private void Log(string message) diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 14051a6..6b01f97 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -2277,6 +2277,11 @@ Transform: m_Children: [] m_Father: {fileID: 241809610} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &488318753 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 6981166311419570614, guid: 62bb7a4743eee21f189576238d01292c, type: 3} + m_PrefabInstance: {fileID: 2063699247} + m_PrefabAsset: {fileID: 0} --- !u!1 &493291594 GameObject: m_ObjectHideFlags: 0 @@ -4603,111 +4608,6 @@ Transform: m_Children: [] m_Father: {fileID: 241809610} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &984478434 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 984478438} - - component: {fileID: 984478437} - - component: {fileID: 984478436} - - component: {fileID: 984478435} - m_Layer: 0 - m_Name: Cube (10) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!65 &984478435 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 984478434} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &984478436 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 984478434} - 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: 10303, guid: 0000000000000000f000000000000000, type: 0} - 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!33 &984478437 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 984478434} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &984478438 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 984478434} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0.5, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1017228546 GameObject: m_ObjectHideFlags: 0 @@ -7863,6 +7763,177 @@ Transform: m_Children: [] m_Father: {fileID: 241809610} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2055102412 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2055102416} + - component: {fileID: 2055102415} + - component: {fileID: 2055102414} + - component: {fileID: 2055102413} + m_Layer: 0 + m_Name: CameraDebugCube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!65 &2055102413 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2055102412} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &2055102414 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2055102412} + 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: 10303, guid: 0000000000000000f000000000000000, type: 0} + 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!33 &2055102415 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2055102412} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2055102416 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2055102412} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} + m_LocalPosition: {x: -0.259, y: 0.226, z: 1.7854156} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 488318753} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!1001 &2063699247 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 2055102416} + m_Modifications: + - target: {fileID: 1423087136216433732, guid: 62bb7a4743eee21f189576238d01292c, type: 3} + propertyPath: m_Name + value: Picture Variant + objectReference: {fileID: 0} + - target: {fileID: 4559174100460899822, guid: 62bb7a4743eee21f189576238d01292c, type: 3} + propertyPath: window + value: + objectReference: {fileID: 2055102416} + - target: {fileID: 4559174100460899822, guid: 62bb7a4743eee21f189576238d01292c, type: 3} + propertyPath: meshRenderer + value: + objectReference: {fileID: 2055102414} + - target: {fileID: 6981166311419570614, guid: 62bb7a4743eee21f189576238d01292c, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6981166311419570614, guid: 62bb7a4743eee21f189576238d01292c, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6981166311419570614, guid: 62bb7a4743eee21f189576238d01292c, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6981166311419570614, guid: 62bb7a4743eee21f189576238d01292c, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6981166311419570614, guid: 62bb7a4743eee21f189576238d01292c, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6981166311419570614, guid: 62bb7a4743eee21f189576238d01292c, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6981166311419570614, guid: 62bb7a4743eee21f189576238d01292c, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6981166311419570614, guid: 62bb7a4743eee21f189576238d01292c, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6981166311419570614, guid: 62bb7a4743eee21f189576238d01292c, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6981166311419570614, guid: 62bb7a4743eee21f189576238d01292c, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 62bb7a4743eee21f189576238d01292c, type: 3} --- !u!1 &2069502495 GameObject: m_ObjectHideFlags: 0 @@ -8259,5 +8330,5 @@ SceneRoots: - {fileID: 147182789} - {fileID: 1516168788} - {fileID: 791046371} - - {fileID: 984478438} - {fileID: 1313920920} + - {fileID: 2055102416}