From 947f6b9507c44269a1a333e4902953d7fea26f33 Mon Sep 17 00:00:00 2001 From: Joshua Reason Date: Mon, 12 Oct 2020 12:36:12 +1100 Subject: [PATCH] Working Coriolis effect --- Assets/Scenes/Test Scenes/Static Ring.unity | 4 +- .../DemoUtility/SmoothFollowBehaviour.cs | 38 +- .../Static Physics/ArtificialGravity.cs | 6 +- Assets/Scripts/VR/CoriolisDisplay.cs | 134 ++++ Assets/Scripts/VR/CoriolisDisplay.cs.meta | 11 + .../Skybox_3/Purple_4K_Resolution.mat | 2 +- .../Prefabs/Coriolis Display.prefab | 590 ++++++++++++++++++ .../Prefabs/Coriolis Display.prefab.meta | 7 + 8 files changed, 783 insertions(+), 9 deletions(-) create mode 100644 Assets/Scripts/VR/CoriolisDisplay.cs create mode 100644 Assets/Scripts/VR/CoriolisDisplay.cs.meta create mode 100644 Assets/World Assets/Prefabs/Coriolis Display.prefab create mode 100644 Assets/World Assets/Prefabs/Coriolis Display.prefab.meta diff --git a/Assets/Scenes/Test Scenes/Static Ring.unity b/Assets/Scenes/Test Scenes/Static Ring.unity index 12fb745..b1d4d73 100644 --- a/Assets/Scenes/Test Scenes/Static Ring.unity +++ b/Assets/Scenes/Test Scenes/Static Ring.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:803a27734008d3579e31613381551f06070f80d2e017cae76162f9a44b808a92 -size 41421525 +oid sha256:3c2b31b7dbd3e16febb21f4627162c8fb42c81c575a766f8c4dfc7388080293f +size 41451187 diff --git a/Assets/Scripts/DemoUtility/SmoothFollowBehaviour.cs b/Assets/Scripts/DemoUtility/SmoothFollowBehaviour.cs index 27acba3..cc64f25 100644 --- a/Assets/Scripts/DemoUtility/SmoothFollowBehaviour.cs +++ b/Assets/Scripts/DemoUtility/SmoothFollowBehaviour.cs @@ -1,18 +1,37 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; +using VRTK; -namespace EMD.DemoUtility -{ public class SmoothFollowBehaviour : MonoBehaviour { - + [Header("Base Settings")] [SerializeField] private Transform m_Target; [SerializeField] private float m_SmoothValue = 0.5f; + [Header("Teleport")] + [SerializeField] + private bool m_snapOnTeleport = false; + + [SerializeField] + private VRTK_BasicTeleport m_teleportScript; + + + private void OnEnable() + { + if (m_teleportScript != null) + m_teleportScript.Teleported += OnTeleport; + } + + private void OnDisable() + { + if (m_teleportScript != null) + m_teleportScript.Teleported -= OnTeleport; + } + void LateUpdate() { if (m_Target != null) @@ -21,5 +40,16 @@ namespace EMD.DemoUtility transform.rotation = Quaternion.Lerp(transform.rotation, m_Target.rotation, m_SmoothValue); } } + + + void OnTeleport(object sender, DestinationMarkerEventArgs e) + { + if (m_snapOnTeleport) + { + transform.position = m_Target.position; + transform.rotation = m_Target.rotation; + } + + } + } -} diff --git a/Assets/Scripts/Static Physics/ArtificialGravity.cs b/Assets/Scripts/Static Physics/ArtificialGravity.cs index 10d0854..8079b63 100644 --- a/Assets/Scripts/Static Physics/ArtificialGravity.cs +++ b/Assets/Scripts/Static Physics/ArtificialGravity.cs @@ -56,8 +56,10 @@ public class ArtificialGravity : MonoBehaviour if (Ship.RotationPeriod <= 0) return; - Vector3 direction = Ship.getPerpendicularDirection(transform.position); - rb.AddForce(Ship.GetCoriolisAtPoint(transform.position) * m_correlusMultiplier, ForceMode.Acceleration); + Vector3 force = 2 * Vector3.Cross(rb.velocity, Ship.RotationAxis) * (2 * Mathf.PI / Ship.RotationPeriod); + + + rb.AddForce(force * m_correlusMultiplier, ForceMode.Acceleration); } diff --git a/Assets/Scripts/VR/CoriolisDisplay.cs b/Assets/Scripts/VR/CoriolisDisplay.cs new file mode 100644 index 0000000..08763bf --- /dev/null +++ b/Assets/Scripts/VR/CoriolisDisplay.cs @@ -0,0 +1,134 @@ +using System.Collections; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using UnityEngine; +using VRTK; + +public class CoriolisDisplay : MonoBehaviour +{ + + [Header("References")] + [SerializeField] + private RotationController m_ship; + + [SerializeField] + private GameObject m_segmentPrefab; + + [SerializeField] + private Transform m_tip; + + + [Header("settings")] + [SerializeField] + private int m_segmentCount = 20; + [SerializeField] + private float m_segmentSpacing = 0.5f; + [SerializeField] + private float m_coriolisMultiplier = 1; + + + + private VRTK_InteractableObject m_interactable; + private List m_segments = new List(); + + + private void Awake() + { + if (m_ship == null) + m_ship = FindObjectOfType(); + + m_interactable = GetComponent(); + } + + private void OnEnable() + { + RegisterEvents(true); + } + + private void OnDisable() + { + RegisterEvents(false); + DestroySegments(); + } + + private void Update() + { + UpdateSegments(); + } + + + + + private void GenerateSegments() + { + for (int i = 0; i < m_segmentCount; i++) + { + GameObject segment = Instantiate(m_segmentPrefab); + segment.transform.position = transform.position; + m_segments.Add(segment); + } + } + + private void DestroySegments() + { + foreach (GameObject segment in m_segments) + { + Destroy(segment); + } + + m_segments.Clear(); + } + + private void UpdateSegments() + { + + if (m_segments == null || m_segments.Count == 0) + return; + + + Vector3 position = m_tip.position; + Vector3 direction = m_tip.forward; + Vector3 shipDirection = m_ship.RotationAxis; + + foreach(GameObject segment in m_segments) + { + + Vector3 force = 2 * Vector3.Cross(direction, m_ship.RotationAxis) * (2 * Mathf.PI / m_ship.RotationPeriod); + direction = (direction + force * m_coriolisMultiplier).normalized * m_segmentSpacing; + position = position + direction; + + segment.transform.position = position; + segment.transform.forward = direction; + } + } + + + + + private void OnGrab(object sender, InteractableObjectEventArgs args) + { + GenerateSegments(); + } + + + private void OnDrop(object sender, InteractableObjectEventArgs args) + { + DestroySegments(); + } + + + private void RegisterEvents(bool value) + { + if (value) + { + m_interactable.InteractableObjectGrabbed += OnGrab; + m_interactable.InteractableObjectUngrabbed += OnDrop; + } + else + { + m_interactable.InteractableObjectGrabbed -= OnGrab; + m_interactable.InteractableObjectUngrabbed -= OnDrop; + } + } + +} diff --git a/Assets/Scripts/VR/CoriolisDisplay.cs.meta b/Assets/Scripts/VR/CoriolisDisplay.cs.meta new file mode 100644 index 0000000..3627194 --- /dev/null +++ b/Assets/Scripts/VR/CoriolisDisplay.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4b8eaae1d7488d24bbfc8264c65730bd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ThirdParty/SpaceSkies Free/Skybox_3/Purple_4K_Resolution.mat b/Assets/ThirdParty/SpaceSkies Free/Skybox_3/Purple_4K_Resolution.mat index 4f66a2b..dec61cf 100644 --- a/Assets/ThirdParty/SpaceSkies Free/Skybox_3/Purple_4K_Resolution.mat +++ b/Assets/ThirdParty/SpaceSkies Free/Skybox_3/Purple_4K_Resolution.mat @@ -92,7 +92,7 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 - - _Rotation: 84.97398 + - _Rotation: 3.6076717 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 diff --git a/Assets/World Assets/Prefabs/Coriolis Display.prefab b/Assets/World Assets/Prefabs/Coriolis Display.prefab new file mode 100644 index 0000000..2afd0af --- /dev/null +++ b/Assets/World Assets/Prefabs/Coriolis Display.prefab @@ -0,0 +1,590 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3447702596359163301 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3447702596359163303} + - component: {fileID: 3447702596359163302} + - component: {fileID: 3447702596359163292} + - component: {fileID: 3447702596359163291} + - component: {fileID: 3447702596359163290} + - component: {fileID: 3447702596359163289} + - component: {fileID: 3447702596359163288} + m_Layer: 0 + m_Name: Coriolis Display + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3447702596359163303 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3447702596359163301} + m_LocalRotation: {x: -0, y: 0.99977434, z: -0, w: -0.021244438} + m_LocalPosition: {x: 1.6419348, y: 1.3510008, z: 1.3524733} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6332600912631872655} + - {fileID: 3843454214259442117} + - {fileID: 3447702597342188884} + - {fileID: 3447702597510882331} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3447702596359163302 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3447702596359163301} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4b8eaae1d7488d24bbfc8264c65730bd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ship: {fileID: 0} + m_segmentPrefab: {fileID: 3447702597342188883} + m_tip: {fileID: 3447702597342188884} + m_segmentCount: 100 + m_segmentSpacing: 0.125 + m_coriolisMultiplier: 0.02 +--- !u!114 &3447702596359163292 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3447702596359163301} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a3abaf4521bf2344ea21ed3020b98eb2, type: 3} + m_Name: + m_EditorClassIdentifier: + disableWhenIdle: 1 + allowedNearTouchControllers: 0 + allowedTouchControllers: 0 + ignoredColliders: [] + isGrabbable: 1 + holdButtonToGrab: 1 + stayGrabbedOnTeleport: 1 + validDrop: 1 + grabOverrideButton: 0 + allowedGrabControllers: 0 + grabAttachMechanicScript: {fileID: 3447702596359163290} + secondaryGrabActionScript: {fileID: 3447702596359163291} + isUsable: 0 + holdButtonToUse: 1 + useOnlyIfGrabbed: 0 + pointerActivatesUseAction: 0 + useOverrideButton: 0 + allowedUseControllers: 0 + objectHighlighter: {fileID: 0} + touchHighlightColor: {r: 0, g: 0, b: 0, a: 0} + usingState: 0 +--- !u!114 &3447702596359163291 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3447702596359163301} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 18055ba762aa3994f9c10208cd088bc5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &3447702596359163290 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3447702596359163301} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5ec2ac476f2fc9a45a4e69712580a603, type: 3} + m_Name: + m_EditorClassIdentifier: + precisionGrab: 0 + rightSnapHandle: {fileID: 3447702597510882331} + leftSnapHandle: {fileID: 3447702597510882331} + throwVelocityWithAttachDistance: 0 + throwMultiplier: 1 + onGrabCollisionDelay: 0 +--- !u!114 &3447702596359163289 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3447702596359163301} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1d80e7283fc75f4e878ac0d22ebe489, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!54 &3447702596359163288 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3447702596359163301} + 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 &3447702597342188883 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3447702597342188884} + - component: {fileID: 3447702597342188887} + - component: {fileID: 3447702597342188886} + m_Layer: 0 + m_Name: Segment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3447702597342188884 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3447702597342188883} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.1544} + m_LocalScale: {x: 0.04, y: 0.04, z: 0.04} + m_Children: [] + m_Father: {fileID: 3447702596359163303} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3447702597342188887 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3447702597342188883} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &3447702597342188886 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3447702597342188883} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c346b08e6c9d0644a9771e3b5924252b, 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 +--- !u!1 &3447702597510882330 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3447702597510882331} + m_Layer: 0 + m_Name: SnapPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3447702597510882331 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3447702597510882330} + m_LocalRotation: {x: 0.17341304, y: -0, z: -0, w: 0.98484915} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 3447702596359163303} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 19.973001, y: 0, z: 0} +--- !u!1 &3843454214259697773 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3843454214259442117} + - component: {fileID: 3843454214253418909} + - component: {fileID: 3843454214241425275} + m_Layer: 0 + m_Name: projector stars + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3843454214259442117 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3843454214259697773} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0.0864} + m_LocalScale: {x: 0.023004, y: 0.023004, z: 0.023004} + m_Children: + - {fileID: 3843454214259421677} + - {fileID: 3843454214259412949} + m_Father: {fileID: 3447702596359163303} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!64 &3843454214253418909 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3843454214259697773} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: b94be10dedfa9c246b5c439440e580f5, type: 3} +--- !u!205 &3843454214241425275 +LODGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3843454214259697773} + serializedVersion: 2 + m_LocalReferencePoint: {x: -0.00000071525574, y: 2.5788414, z: 0.0000014305115} + m_Size: 5.423486 + m_FadeMode: 0 + m_AnimateCrossFading: 1 + m_LastLODIsBillboard: 0 + m_LODs: + - screenRelativeHeight: 0.22905017 + fadeTransitionWidth: 0 + renderers: + - renderer: {fileID: 3843454214257487069} + - renderer: {fileID: 0} + - screenRelativeHeight: 0.037201747 + fadeTransitionWidth: 0 + renderers: + - renderer: {fileID: 3843454214257547117} + - renderer: {fileID: 0} + m_Enabled: 1 +--- !u!1 &3843454214259728589 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3843454214259412949} + - component: {fileID: 3843454214258661855} + - component: {fileID: 3843454214257547117} + m_Layer: 0 + m_Name: projector_LOD1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3843454214259412949 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3843454214259728589} + 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_Children: [] + m_Father: {fileID: 3843454214259442117} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3843454214258661855 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3843454214259728589} + m_Mesh: {fileID: 4300000, guid: b94be10dedfa9c246b5c439440e580f5, type: 3} +--- !u!23 &3843454214257547117 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3843454214259728589} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 10de6384af0c3b54e8166f9c3f936e88, type: 2} + - {fileID: 2100000, guid: 51d587eafcd13384bafd060c5bc7cb82, type: 2} + - {fileID: 2100000, guid: 5476ae29e2e50194abce19e5cacce575, 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: 0 + 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 +--- !u!1 &3843454214259744725 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3843454214259421677} + - component: {fileID: 3843454214258600129} + - component: {fileID: 3843454214257487069} + m_Layer: 0 + m_Name: projector_LOD0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3843454214259421677 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3843454214259744725} + 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_Children: [] + m_Father: {fileID: 3843454214259442117} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3843454214258600129 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3843454214259744725} + m_Mesh: {fileID: 4300000, guid: a29d1750fe55dd145b45145a22e287a0, type: 3} +--- !u!23 &3843454214257487069 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3843454214259744725} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 10de6384af0c3b54e8166f9c3f936e88, type: 2} + - {fileID: 2100000, guid: 51d587eafcd13384bafd060c5bc7cb82, type: 2} + - {fileID: 2100000, guid: 5476ae29e2e50194abce19e5cacce575, type: 2} + - {fileID: 2100000, guid: 6b6dfd77776c54a4781ec8cab4d87860, 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: 0 + 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 +--- !u!1 &6332600912631621971 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6332600912631872655} + - component: {fileID: 6332600912628535899} + - component: {fileID: 6332600912629577759} + - component: {fileID: 6332600912634112971} + m_Layer: 0 + m_Name: Battery_medium + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6332600912631872655 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6332600912631621971} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: -0.1} + m_LocalScale: {x: 0.025, y: 0.05, z: 0.025} + m_Children: [] + m_Father: {fileID: 3447702596359163303} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!33 &6332600912628535899 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6332600912631621971} + m_Mesh: {fileID: 4300000, guid: c1c48e1341ea35d4fa172cdb915ed140, type: 3} +--- !u!23 &6332600912629577759 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6332600912631621971} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 10de6384af0c3b54e8166f9c3f936e88, type: 2} + - {fileID: 2100000, guid: 5476ae29e2e50194abce19e5cacce575, 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: 0 + 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 +--- !u!65 &6332600912634112971 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6332600912631621971} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 2, y: 3.879192, z: 2} + m_Center: {x: 0, y: 1.939596, z: 0} diff --git a/Assets/World Assets/Prefabs/Coriolis Display.prefab.meta b/Assets/World Assets/Prefabs/Coriolis Display.prefab.meta new file mode 100644 index 0000000..60699c8 --- /dev/null +++ b/Assets/World Assets/Prefabs/Coriolis Display.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a15e6f2fd71212445bd9ee582724a86d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: