diff --git a/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets.meta b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets.meta
new file mode 100644
index 00000000..a1e7ef36
--- /dev/null
+++ b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fed31211bdd619a478dc43da102d66dc
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityExploration.cs b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityExploration.cs
new file mode 100644
index 00000000..0d41a283
--- /dev/null
+++ b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityExploration.cs
@@ -0,0 +1,228 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.InputSystem;
+///
+/// Attached to the Player in the DensityExploration Scene
+/// Takes care of updating the shell masses and mass-shell snapping interactions
+///
+public class DensityExploration : MonoBehaviour
+{
+ // Serialized fields
+ [Header("References")]
+ [SerializeField] private GameObject floor;
+ [SerializeField] private InputActionReference openMenuReference;
+ private Camera currentCamera = null;
+ private GameObject player = null;
+ private GameObject menus = null;
+ private GameObject buttons = null;
+ private UIManager UIManagerScript = null;
+ // Masses
+ private GameObject shell = null;
+ private GameObject shell2 = null;
+
+ ///
+ /// 2D Array of Snap Locations
+ ///
+ Vector3[,] positionArray = new Vector3[8, 8];
+
+ ///
+ /// Number of snapped masses (first index corresponds to first shell (larger) and second corresponds to second shell)
+ ///
+ private int[] numSnapped = new int[2];
+
+ ///
+ /// Lists of what masses are snapped to each shell
+ ///
+ bool[] snapArray = new bool[8];
+ bool[] snapArray2 = new bool[8];
+
+ ///
+ /// List holding all mass GameObjects
+ ///
+ GameObject[] massList = new GameObject[8];
+
+ // Start is called before the first frame update
+ void Start()
+ {
+ StartCoroutine(WaitForPlayerSpawn());
+ }
+ private IEnumerator WaitForPlayerSpawn()
+ {
+ yield return new WaitUntil(() => Camera.current != null);
+
+ // Initializing camera and player
+ currentCamera = Camera.current;
+ player = currentCamera.transform.parent.gameObject;
+
+ // Initializing mass list and shell references
+ massList[0] = GameObject.Find("UnitMassOne");
+ massList[1] = GameObject.Find("UnitMassTwo");
+ massList[2] = GameObject.Find("UnitMassThree");
+ massList[3] = GameObject.Find("UnitMassFour");
+ massList[4] = GameObject.Find("UnitMassFive");
+ massList[5] = GameObject.Find("UnitMassSix");
+ massList[6] = GameObject.Find("UnitMassSeven");
+ massList[7] = GameObject.Find("UnitMassEight");
+ shell = GameObject.Find("Sphere");
+ shell2 = GameObject.Find("Sphere2");
+
+ // Filling Snap List
+ positionArray[0, 0] = new Vector3(0f, 0f, 0f);
+ positionArray[1, 0] = new Vector3(-0.75f, 0f, 0f);
+ positionArray[1, 1] = new Vector3(0.75f, 0f, 0f);
+ positionArray[2, 0] = new Vector3(-0.75f, -0.75f, 0f);
+ positionArray[2, 1] = new Vector3(0.75f, -0.75f, 0f);
+ positionArray[2, 2] = new Vector3(0f, 0.75f, 0f);
+ positionArray[3, 0] = new Vector3(-0.7f, -0.7f, 0f);
+ positionArray[3, 1] = new Vector3(0.7f, -0.7f, 0f);
+ positionArray[3, 2] = new Vector3(0.7f, 0.7f, 0f);
+ positionArray[3, 3] = new Vector3(-0.7f, 0.7f, 0f);
+ positionArray[4, 0] = new Vector3(-0.7f, -0.7f, 0f);
+ positionArray[4, 1] = new Vector3(-0.7f, 0.7f, 0f);
+ positionArray[4, 2] = new Vector3(0.7f, -0.7f, 0f);
+ positionArray[4, 3] = new Vector3(0.7f, 0.7f, 0f);
+ positionArray[4, 4] = new Vector3(0f, 0f, 0f);
+ positionArray[5, 0] = new Vector3(-0.7f, -0.7f, 0f);
+ positionArray[5, 1] = new Vector3(-0.7f, 0.7f, 0f);
+ positionArray[5, 2] = new Vector3(0.7f, -0.7f, 0f);
+ positionArray[5, 3] = new Vector3(0.7f, 0.7f, 0f);
+ positionArray[5, 4] = new Vector3(0f, 0f, -0.75f);
+ positionArray[5, 5] = new Vector3(0f, 0f, 0.75f);
+ positionArray[6, 0] = new Vector3(-0.7f, -0.7f, 0f);
+ positionArray[6, 1] = new Vector3(-0.7f, 0.7f, 0f);
+ positionArray[6, 2] = new Vector3(0.7f, -0.7f, 0f);
+ positionArray[6, 3] = new Vector3(0.7f, 0.7f, 0f);
+ positionArray[6, 4] = new Vector3(0f, 0f, -0.75f);
+ positionArray[6, 5] = new Vector3(0f, 0f, 0.75f);
+ positionArray[6, 6] = new Vector3(0f, 0f, 0f);
+ positionArray[7, 0] = new Vector3(-0.7f, -0.7f, -0.75f);
+ positionArray[7, 1] = new Vector3(-0.7f, 0.7f, -0.75f);
+ positionArray[7, 2] = new Vector3(0.7f, -0.7f, -0.75f);
+ positionArray[7, 3] = new Vector3(0.7f, 0.7f, -0.75f);
+ positionArray[7, 4] = new Vector3(-0.7f, -0.7f, 0.75f);
+ positionArray[7, 5] = new Vector3(-0.7f, 0.7f, 0.75f);
+ positionArray[7, 6] = new Vector3(0.7f, -0.7f, 0.75f);
+ positionArray[7, 7] = new Vector3(0.7f, 0.7f, 0.75f);
+
+ // Filling Snap Arrays
+ snapArray[0] = false;
+ snapArray[1] = false;
+ snapArray[2] = false;
+ snapArray[3] = false;
+ snapArray[4] = false;
+ snapArray[5] = false;
+ snapArray[6] = false;
+ snapArray[7] = false;
+ snapArray2[0] = false;
+ snapArray2[1] = false;
+ snapArray2[2] = false;
+ snapArray2[3] = false;
+ snapArray2[4] = false;
+ snapArray2[5] = false;
+ snapArray2[6] = false;
+ snapArray2[7] = false;
+
+ // Setting number of snapped masses for each shell to 0
+ numSnapped[0] = 0;
+ numSnapped[1] = 0;
+ StartCoroutine(StartScene());
+ }
+ void Update()
+ {
+ snapChecker(shell, 1, snapArray); // handles snapping behavior for larger shell
+ snapChecker(shell2, 2, snapArray2); // handles snapping behavior for smaller shell
+ updateMass(shell, 1); // updates mass of larger shell
+ updateMass(shell2, 2); // updates mass of smaller shell
+ }
+ IEnumerator StartScene()
+ {
+ //Instantiate menus from player prefab and buttons from player prefab as well
+ GameObject mainCamera = player.transform.Find("Main Camera").gameObject;
+ GameObject UIContainer = mainCamera.transform.Find("UI Container").gameObject;
+ GameObject Menu = UIContainer.transform.Find("Menu").gameObject;
+ GameObject menuScreens = Menu.transform.Find("MenuScreens").gameObject;
+
+ menus = menuScreens;
+
+ // Get UI Manager UIManagerScript
+ UIManagerScript = Menu.GetComponent();
+
+ // Get References to Unit Masses
+ yield return new WaitForSecondsRealtime(100);
+
+ yield break;
+ }
+ private void updateMass(GameObject shell, int factor) {
+ if (shell != null) {
+ shell.GetComponent().mass = 0.2f * numSnapped[factor - 1]; // adds 0.2 in mass for each unit mass snapped to the shell
+ }
+ }
+ ///
+ /// Handles the snapping and unsnapping of masses from the density shells
+ /// s - the reference to the shell
+ /// factor - the size factor of the shell (larger shell is 1, smaller shell 2), used to divide by 2 on snap placements/radius/etc. for smaller shell
+ /// snapArray - list of what masses are snapped to the current shell
+ ///
+ private void snapChecker(GameObject s, int factor, bool[] snapArray) {
+ /*****************IMPORTANT*****************/
+ // When using Emulator, make the following change at all places applicable:
+ // !massList[i].GetComponentInParent() -> (massList[i].transform.parent == null || massList[i].transform.parent.gameObject.name != "Hand")
+ int count = 0;
+ // iterating through each mass
+ for (int i = 0; i < 8; i++) {
+ if (massList[i] != null) { // necessary changes of isKinematic for masses to stay in place
+ if ((massList[i].transform.parent == null || (massList[i].GetComponentInParent() && shell.transform.parent == null & shell2.transform.parent == null))) {
+ massList[i].GetComponent().isKinematic = false;
+ } else {
+ massList[i].GetComponent().isKinematic = true;
+ }
+ if (snapArray[i] == true) { // if mass is marked as snapped
+ if ((massList[i].transform.position - s.transform.position - positionArray[numSnapped[factor - 1] - 1, count] / factor).magnitude > 0.001 && !massList[i].GetComponentInParent()) {
+ // if mass is within snapping range and is not being held, snap it back into position
+ if (((massList[i].transform.position - s.transform.position).magnitude < 2 / factor) && !massList[i].GetComponentInParent()) {
+ int count2 = 0;
+ // rearranges the masses
+ for (int j = 0; j < 8; j++) {
+ if (snapArray[j] == true) {
+ massList[j].transform.position = s.transform.position + positionArray[numSnapped[factor - 1] - 1, count2] / factor;
+ count2 = count2 + 1;
+ }
+ }
+ } else { // if mass is marked as snapped but is not within snapping range
+ numSnapped[factor - 1] = numSnapped[factor - 1] - 1; // decrement numSnapped
+ snapArray[i] = false; // set snapArray value to false for this mass
+ int count2 = 0;
+ if (massList[i].transform.parent == s.transform) {
+ massList[i].transform.SetParent(null);
+ }
+ // rearranges the masses
+ for (int j = 0; j < 8; j++) {
+ if (snapArray[j] == true) {
+ massList[j].transform.position = s.transform.position + positionArray[numSnapped[factor - 1] -1, count2] / factor;
+ count2 = count2 + 1;
+ }
+ }
+ }
+ }
+ count = count + 1; // increments count so that we can count only through snapped masses
+ } else {
+ // mass is not currently marked as snapped, check if mass is inside range and is not being held
+ if (((massList[i].transform.position - s.transform.position).magnitude < 2 / factor) && !massList[i].GetComponentInParent() && (s.transform.parent == null)) {
+ numSnapped[factor - 1] = numSnapped[factor - 1] + 1; // increment numSnapped
+ snapArray[i] = true; // set snapArray value to true for this mass
+ massList[i].transform.SetParent(s.transform); // set the shell to be the parent of the mass
+ int count2 = 0;
+ // rearranges the masses
+ for (int j = 0; j < 8; j++) {
+ if (snapArray[j] == true) {
+ massList[j].transform.position = s.transform.position + positionArray[numSnapped[factor - 1] - 1, count2] / factor;
+ count2 = count2 + 1;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityExploration.cs.meta b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityExploration.cs.meta
new file mode 100644
index 00000000..41174b3d
--- /dev/null
+++ b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityExploration.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ca65bb24a581f6749bea66f62ea76278
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShell.cs b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShell.cs
new file mode 100644
index 00000000..266b1439
--- /dev/null
+++ b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShell.cs
@@ -0,0 +1,71 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+///
+/// Attached to the Density Shell objects in the DensityExploration Scene
+/// Handles material switching (will be replaced with animation), and collider updating to allow for both grabbing and selection
+/// Snapping behavior and mass behavior is handled in DensityExploration.cs (can be moved here if necessary)
+///
+public class DensityShell : MonoBehaviour
+{
+ // The Selected checkbox (when selected the shell is "open")
+ SelectObject selected;
+ // Reference to the Renderer component of the gameObject
+ private Renderer objectRenderer;
+ // Reference to the Collider component of the gameObject
+ private Collider objectCollider;
+ // Rigid body of the gameObject
+ private Rigidbody rb;
+ // The materials to switch between
+ public Material material_unselected; // The unselected material
+ public Material material_selected; // The selected material
+
+
+ void Start()
+ {
+ selected = GetComponent();
+ objectRenderer = GetComponent();
+ objectCollider = GetComponent();
+ rb = GetComponent();
+ UpdateMaterial();
+ }
+
+ // Update is called once per frame
+ void Update()
+ {
+ UpdateMaterial();
+ UpdateCollider();
+ }
+ private void UpdateMaterial()
+ {
+ bool selectval = selected.GetSelected();
+ if (objectRenderer != null)
+ {
+ // Change the material based on the Selected state
+ objectRenderer.material = selectval ? material_selected : material_unselected;
+ }
+ }
+ private void UpdateCollider()
+ {
+ bool selectval = selected.GetSelected();
+ if (selectval)
+ {
+ if (!objectCollider.isTrigger)
+ {
+ objectCollider.isTrigger = true;
+ }
+ // change layer to make it selectable
+ gameObject.layer = 12;
+ }
+ else
+ {
+ if (objectCollider.isTrigger)
+ {
+ objectCollider.isTrigger = false;
+ }
+ // change layer to make it grabbable
+ gameObject.layer = 9;
+ }
+ }
+}
diff --git a/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShell.cs.meta b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShell.cs.meta
new file mode 100644
index 00000000..14a87f8c
--- /dev/null
+++ b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShell.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6a5bc56c16cfc2c42a3edf968d96aa32
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShell.mat b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShell.mat
new file mode 100644
index 00000000..4e1a0201
--- /dev/null
+++ b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShell.mat
@@ -0,0 +1,78 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: DensityShell
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 10
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 3
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 0
+ m_Colors:
+ - _Color: {r: 0.8490566, g: 0.8490566, b: 0.8490566, a: 0.30980393}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShell.mat.meta b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShell.mat.meta
new file mode 100644
index 00000000..aa307150
--- /dev/null
+++ b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShell.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ac41a258404fcf245b6f7f0ba2d7e93f
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShellSelected.mat b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShellSelected.mat
new file mode 100644
index 00000000..22aa9c82
--- /dev/null
+++ b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShellSelected.mat
@@ -0,0 +1,78 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: DensityShellSelected
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 10
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 3
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 0
+ m_Colors:
+ - _Color: {r: 0.25898898, g: 0.29395464, b: 0.9150943, a: 0.30980393}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShellSelected.mat.meta b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShellSelected.mat.meta
new file mode 100644
index 00000000..4f713b11
--- /dev/null
+++ b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/DensityShellSelected.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2d25be878c540cc439cbecbdc6ef9167
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/SelectObject.cs b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/SelectObject.cs
new file mode 100644
index 00000000..f0d0885d
--- /dev/null
+++ b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/SelectObject.cs
@@ -0,0 +1,19 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class SelectObject : MonoBehaviour
+{
+ // This will be the checkbox visible in the Inspector
+ public bool Selected = false;
+
+ // You can add methods to interact with this variable
+ public void SetSelected(bool value)
+ {
+ Selected = value;
+ }
+ public bool GetSelected()
+ {
+ return Selected;
+ }
+}
diff --git a/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/SelectObject.cs.meta b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/SelectObject.cs.meta
new file mode 100644
index 00000000..7ef42f35
--- /dev/null
+++ b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/SelectObject.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 118547b5f7c6b384da806c35f395b26e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/ShellCollision.cs b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/ShellCollision.cs
new file mode 100644
index 00000000..bcb6ce98
--- /dev/null
+++ b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/ShellCollision.cs
@@ -0,0 +1,45 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+///
+/// Attached to "Sphere" GameObject (only the big one) in DensityShell scene in order to handle interactions between the two shells
+/// Works by manually finding objects with DensityShell script (aka the other shell) in a certain radius and moving them away from this shell
+///
+public class ShellCollision : MonoBehaviour
+{
+ public float detectionRadius = 0.5f;
+ void Start() {
+ Vector3 scale = transform.localScale;
+ detectionRadius = 0.5f * scale.x; // Radius of the shell
+ }
+
+ void Update()
+ {
+ // Perform an overlap check around this object to see if any colliders are within the detection radius
+ Collider[] colliders = Physics.OverlapSphere(transform.position, detectionRadius);
+
+ foreach (var collider in colliders)
+ {
+ // Check if the other object has the "DensityShell" script
+ DensityShell shellScript = collider.GetComponent();
+
+ if (shellScript != null) // If the script is found (not null)
+ {
+ // Get the direction to move the object away from the shell
+ Vector3 direction = collider.transform.position - transform.position;
+ direction.Normalize(); // Normalize direction to avoid uneven pushing
+
+ // Move the object away slightly
+ collider.transform.position += direction * 0.1f;
+
+ // Stop the object's movement
+ Rigidbody sphereRigidbody = collider.GetComponent();
+ if (sphereRigidbody != null)
+ {
+ sphereRigidbody.velocity = Vector3.zero;
+ }
+ }
+ }
+ }
+}
diff --git a/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/ShellCollision.cs.meta b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/ShellCollision.cs.meta
new file mode 100644
index 00000000..472bb338
--- /dev/null
+++ b/POINT-VR-Chapter-1/Assets/POINT/DensityShellAssets/ShellCollision.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 85a25f4d6bc346646a1b19cbc9e2cd53
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/POINT-VR-Chapter-1/Assets/POINT/InputAssets/HandController.cs b/POINT-VR-Chapter-1/Assets/POINT/InputAssets/HandController.cs
index 18edebf0..cf663466 100644
--- a/POINT-VR-Chapter-1/Assets/POINT/InputAssets/HandController.cs
+++ b/POINT-VR-Chapter-1/Assets/POINT/InputAssets/HandController.cs
@@ -215,6 +215,19 @@ private void Update()
CheckScrollbar(hit);
}
}
+ else if (Physics.Raycast(transform.position, transform.forward, out hit, 10f, LayerMask.GetMask("Select"))) // Selectable found: turn this green (FOR NOW)
+ {
+ if (hit.collider != lastColliderHit) //did not hit the same collider as in the previous frame: haptic feedback
+ {
+ hardwareController.VibrateHand();
+ }
+ SelectObject selectable = hit.collider.gameObject.GetComponent();
+ if (selectable != null)
+ {
+ laser.material.color = Color.green;
+ }
+ lastColliderHit = hit.collider;
+ }
else if (grabbingTransform != null || Physics.Raycast(transform.position, transform.forward, out hit, grabDistance, grabMask)) //grabbable found or is holding something: turn this cyan
{
if (hit.transform != lastGrabHit && grabbingTransform == null) //did not hit the same collider as in the previous frame: haptic feedback
@@ -222,6 +235,12 @@ private void Update()
hardwareController.VibrateHand();
}
laser.material.color = Color.magenta;
+ // If the object has a Grab Mask but is a Selectable Object (ex. Density Shells)
+ // SelectObject selectable = hit.collider.gameObject.GetComponent();
+ // if (selectable != null && selectable.GetSelected() == true)
+ // {
+ // laser.material.color = Color.green;
+ // }
if (grabbingTransform != null)
{
lastGrabHit = grabbingTransform;
@@ -352,6 +371,15 @@ private void Select(InputAction.CallbackContext ctx)
CheckSlider(hit);
CheckScrollbar(hit);
}
+ else if (Physics.Raycast(transform.position, transform.forward, out hit, 10f)) // Checking Selectable
+ {
+ SelectObject selectable = hit.collider.gameObject.GetComponent();
+ if (selectable != null && !hit.collider.gameObject.GetComponentInParent())
+ {
+ // Flipping value of Selectable Checkbox
+ selectable.SetSelected(!selectable.GetSelected());
+ }
+ }
else
{
teleportMode = true;
diff --git a/POINT-VR-Chapter-1/Assets/POINT/Scenes/Chapter1/DensityExploration.unity b/POINT-VR-Chapter-1/Assets/POINT/Scenes/Chapter1/DensityExploration.unity
new file mode 100644
index 00000000..1e7621b8
--- /dev/null
+++ b/POINT-VR-Chapter-1/Assets/POINT/Scenes/Chapter1/DensityExploration.unity
@@ -0,0 +1,1823 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.64705884, g: 0.64705884, b: 0.64705884, a: 1}
+ m_AmbientEquatorColor: {r: 0.64705884, g: 0.64705884, b: 0.64705884, a: 1}
+ m_AmbientGroundColor: {r: 0.64705884, g: 0.64705884, b: 0.64705884, a: 1}
+ m_AmbientIntensity: 8
+ m_AmbientMode: 1
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 2100000, guid: 3094c75e3a3b9c64299e8aa7854ecd0f, type: 2}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0.0069632446, g: 0.0068257754, b: 0.007311784, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 11
+ m_GIWorkflowMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 500
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 500
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 2
+ m_PVRDenoiserTypeDirect: 0
+ m_PVRDenoiserTypeIndirect: 0
+ m_PVRDenoiserTypeAO: 0
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 0
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 0}
+ m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &165311679
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 165311685}
+ - component: {fileID: 165311684}
+ - component: {fileID: 165311683}
+ - component: {fileID: 165311682}
+ - component: {fileID: 165311681}
+ - component: {fileID: 165311680}
+ m_Layer: 9
+ m_Name: UnitMassFour
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &165311680
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 165311679}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: cc9ac6eed61350546b91d45ce5fe988d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ height: 1.6
+ floor: {fileID: 1337579476}
+ squaredMaxDistance: 61
+ intialPos: {x: 5, y: 2, z: 0}
+--- !u!54 &165311681
+Rigidbody:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 165311679}
+ serializedVersion: 2
+ m_Mass: 0.2
+ m_Drag: 0
+ m_AngularDrag: 0
+ m_UseGravity: 1
+ m_IsKinematic: 0
+ m_Interpolate: 0
+ m_Constraints: 0
+ m_CollisionDetection: 0
+--- !u!135 &165311682
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 165311679}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Radius: 0.5
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &165311683
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 165311679}
+ 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: 3d12a53ab8595fc47825a0ac1ae1c035, 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!33 &165311684
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 165311679}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &165311685
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 165311679}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 7, y: 2, z: -2}
+ m_LocalScale: {x: 0.6, y: 0.6, z: 0.6}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 7
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &374303308
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 374303314}
+ - component: {fileID: 374303313}
+ - component: {fileID: 374303312}
+ - component: {fileID: 374303311}
+ - component: {fileID: 374303310}
+ - component: {fileID: 374303309}
+ m_Layer: 9
+ m_Name: UnitMassSix
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &374303309
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 374303308}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: cc9ac6eed61350546b91d45ce5fe988d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ height: 1.6
+ floor: {fileID: 1337579476}
+ squaredMaxDistance: 61
+ intialPos: {x: 5, y: 0, z: 0}
+--- !u!54 &374303310
+Rigidbody:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 374303308}
+ serializedVersion: 2
+ m_Mass: 0.2
+ m_Drag: 0
+ m_AngularDrag: 0
+ m_UseGravity: 1
+ m_IsKinematic: 0
+ m_Interpolate: 0
+ m_Constraints: 0
+ m_CollisionDetection: 0
+--- !u!135 &374303311
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 374303308}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Radius: 0.5
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &374303312
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 374303308}
+ 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: 3d12a53ab8595fc47825a0ac1ae1c035, 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!33 &374303313
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 374303308}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &374303314
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 374303308}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 7, y: 0, z: -2}
+ m_LocalScale: {x: 0.6, y: 0.6, z: 0.6}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 9
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &444755461
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 444755463}
+ - component: {fileID: 444755462}
+ m_Layer: 0
+ m_Name: GameManager
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &444755462
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 444755461}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: eabb63dbfaee8744b8bee074ed1f7757, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!4 &444755463
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 444755461}
+ 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: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &550622635
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 550622636}
+ - component: {fileID: 550622637}
+ - component: {fileID: 550622638}
+ m_Layer: 0
+ m_Name: PlayerBase
+ m_TagString: Player
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &550622636
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 550622635}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: -7}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1226068542}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &550622637
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 550622635}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 64724edb191810d44a1de6cb3cc96acf, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ player: {fileID: 685732246913176612, guid: 3e621e1784105af44b29dabc4b72168d, type: 3}
+--- !u!114 &550622638
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 550622635}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ca65bb24a581f6749bea66f62ea76278, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ floor: {fileID: 1337579472}
+ openMenuReference: {fileID: 1753721387454739837, guid: a54d6349e0e4d404fa09e1c0531de6d0,
+ type: 3}
+--- !u!1 &1123026289
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1123026293}
+ - component: {fileID: 1123026292}
+ - component: {fileID: 1123026291}
+ - component: {fileID: 1123026290}
+ - component: {fileID: 1123026294}
+ - component: {fileID: 1123026295}
+ m_Layer: 9
+ m_Name: UnitMassTwo
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!135 &1123026290
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1123026289}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Radius: 0.5
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &1123026291
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1123026289}
+ 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: 3d12a53ab8595fc47825a0ac1ae1c035, 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!33 &1123026292
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1123026289}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1123026293
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1123026289}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 5, y: 4, z: -2}
+ m_LocalScale: {x: 0.6, y: 0.6, z: 0.6}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 5
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!54 &1123026294
+Rigidbody:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1123026289}
+ serializedVersion: 2
+ m_Mass: 0.2
+ m_Drag: 0
+ m_AngularDrag: 0
+ m_UseGravity: 1
+ m_IsKinematic: 0
+ m_Interpolate: 0
+ m_Constraints: 0
+ m_CollisionDetection: 0
+--- !u!114 &1123026295
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1123026289}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: cc9ac6eed61350546b91d45ce5fe988d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ height: 1.6
+ floor: {fileID: 1337579476}
+ squaredMaxDistance: 61
+ intialPos: {x: 5, y: 4, z: 0}
+--- !u!1 &1139089189
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1139089195}
+ - component: {fileID: 1139089194}
+ - component: {fileID: 1139089193}
+ - component: {fileID: 1139089192}
+ - component: {fileID: 1139089191}
+ - component: {fileID: 1139089190}
+ m_Layer: 9
+ m_Name: UnitMassEight
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1139089190
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1139089189}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: cc9ac6eed61350546b91d45ce5fe988d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ height: 1.6
+ floor: {fileID: 1337579476}
+ squaredMaxDistance: 61
+ intialPos: {x: 5, y: 4, z: 0}
+--- !u!54 &1139089191
+Rigidbody:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1139089189}
+ serializedVersion: 2
+ m_Mass: 0.2
+ m_Drag: 0
+ m_AngularDrag: 0
+ m_UseGravity: 1
+ m_IsKinematic: 0
+ m_Interpolate: 0
+ m_Constraints: 0
+ m_CollisionDetection: 0
+--- !u!135 &1139089192
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1139089189}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Radius: 0.5
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &1139089193
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1139089189}
+ 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: 3d12a53ab8595fc47825a0ac1ae1c035, 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!33 &1139089194
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1139089189}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1139089195
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1139089189}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 9, y: 4, z: -2}
+ m_LocalScale: {x: 0.6, y: 0.6, z: 0.6}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 11
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1147556413
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1147556417}
+ - component: {fileID: 1147556416}
+ - component: {fileID: 1147556415}
+ - component: {fileID: 1147556414}
+ - component: {fileID: 1147556418}
+ - component: {fileID: 1147556419}
+ - component: {fileID: 1147556420}
+ - component: {fileID: 1147556421}
+ m_Layer: 12
+ m_Name: Sphere
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!135 &1147556414
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1147556413}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 1
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Radius: 0.5
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &1147556415
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1147556413}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 0
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: ac41a258404fcf245b6f7f0ba2d7e93f, 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!33 &1147556416
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1147556413}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1147556417
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1147556413}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: -2}
+ m_LocalScale: {x: 4, y: 4, z: 4}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!54 &1147556418
+Rigidbody:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1147556413}
+ serializedVersion: 2
+ m_Mass: 0.0000001
+ m_Drag: 0
+ m_AngularDrag: 0
+ m_UseGravity: 1
+ m_IsKinematic: 1
+ m_Interpolate: 0
+ m_Constraints: 0
+ m_CollisionDetection: 0
+--- !u!114 &1147556419
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1147556413}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 118547b5f7c6b384da806c35f395b26e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ Selected: 0
+--- !u!114 &1147556420
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1147556413}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 6a5bc56c16cfc2c42a3edf968d96aa32, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ material_unselected: {fileID: 2100000, guid: ac41a258404fcf245b6f7f0ba2d7e93f, type: 2}
+ material_selected: {fileID: 2100000, guid: 2d25be878c540cc439cbecbdc6ef9167, type: 2}
+--- !u!114 &1147556421
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1147556413}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 85a25f4d6bc346646a1b19cbc9e2cd53, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ detectionRadius: 2
+--- !u!1 &1226068541
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1226068542}
+ - component: {fileID: 1226068543}
+ m_Layer: 0
+ m_Name: Compass
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1226068542
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1226068541}
+ m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 550622636}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!212 &1226068543
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1226068541}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10754, 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: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_Sprite: {fileID: 21300000, guid: 9d03e504738a0ce4b955872e60315fdb, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 0.64, y: 0.64}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!1 &1251427494
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1251427498}
+ - component: {fileID: 1251427497}
+ - component: {fileID: 1251427496}
+ - component: {fileID: 1251427495}
+ - component: {fileID: 1251427499}
+ - component: {fileID: 1251427500}
+ m_Layer: 9
+ m_Name: UnitMassThree
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!135 &1251427495
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251427494}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Radius: 0.5
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &1251427496
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251427494}
+ 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: 3d12a53ab8595fc47825a0ac1ae1c035, 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!33 &1251427497
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251427494}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1251427498
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251427494}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 5, y: 0, z: -2}
+ m_LocalScale: {x: 0.6, y: 0.6, z: 0.6}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 6
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!54 &1251427499
+Rigidbody:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251427494}
+ serializedVersion: 2
+ m_Mass: 0.2
+ m_Drag: 0
+ m_AngularDrag: 0
+ m_UseGravity: 1
+ m_IsKinematic: 0
+ m_Interpolate: 0
+ m_Constraints: 0
+ m_CollisionDetection: 0
+--- !u!114 &1251427500
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251427494}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: cc9ac6eed61350546b91d45ce5fe988d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ height: 1.6
+ floor: {fileID: 1337579476}
+ squaredMaxDistance: 61
+ intialPos: {x: 5, y: 0, z: 0}
+--- !u!1 &1337579472
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1337579476}
+ - component: {fileID: 1337579475}
+ - component: {fileID: 1337579473}
+ - component: {fileID: 1337579474}
+ m_Layer: 8
+ m_Name: Floor
+ m_TagString: Floor
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!64 &1337579473
+MeshCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1337579472}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 4
+ m_Convex: 0
+ m_CookingOptions: 30
+ m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &1337579474
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1337579472}
+ m_Enabled: 0
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 0
+ m_MotionVectors: 2
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 0
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: b6f32fa3b69f8ba4eb71c1dd13c9f472, 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!33 &1337579475
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1337579472}
+ m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1337579476
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1337579472}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 4, y: 1, z: 4}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1529861972
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1529861976}
+ - component: {fileID: 1529861975}
+ - component: {fileID: 1529861974}
+ - component: {fileID: 1529861973}
+ m_Layer: 0
+ m_Name: GridCube
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1529861973
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1529861972}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0a5c644b9267f2241a4a621654833d40, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ rigidbodiesToDeformAround:
+ - {fileID: 1147556418}
+ - {fileID: 1671712546}
+ size_z: 8
+ size_x: 8
+ size_y: 5
+ divisions: 5
+--- !u!23 &1529861974
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1529861972}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 0
+ m_MotionVectors: 2
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 0
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: -3033667219593020291, guid: 0e5711b767fbad941a749a13c91a6ce2, type: 3}
+ 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!33 &1529861975
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1529861972}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1529861976
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1529861972}
+ 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: 0}
+ m_RootOrder: 12
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1532673400
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1532673406}
+ - component: {fileID: 1532673405}
+ - component: {fileID: 1532673404}
+ - component: {fileID: 1532673403}
+ - component: {fileID: 1532673402}
+ - component: {fileID: 1532673401}
+ m_Layer: 9
+ m_Name: UnitMassFive
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1532673401
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1532673400}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: cc9ac6eed61350546b91d45ce5fe988d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ height: 1.6
+ floor: {fileID: 1337579476}
+ squaredMaxDistance: 61
+ intialPos: {x: 5, y: 4, z: 0}
+--- !u!54 &1532673402
+Rigidbody:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1532673400}
+ serializedVersion: 2
+ m_Mass: 0.2
+ m_Drag: 0
+ m_AngularDrag: 0
+ m_UseGravity: 1
+ m_IsKinematic: 0
+ m_Interpolate: 0
+ m_Constraints: 0
+ m_CollisionDetection: 0
+--- !u!135 &1532673403
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1532673400}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Radius: 0.5
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &1532673404
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1532673400}
+ 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: 3d12a53ab8595fc47825a0ac1ae1c035, 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!33 &1532673405
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1532673400}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1532673406
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1532673400}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 7, y: 4, z: -2}
+ m_LocalScale: {x: 0.6, y: 0.6, z: 0.6}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 8
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1597089947
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1597089951}
+ - component: {fileID: 1597089950}
+ - component: {fileID: 1597089949}
+ - component: {fileID: 1597089948}
+ - component: {fileID: 1597089952}
+ - component: {fileID: 1597089953}
+ m_Layer: 9
+ m_Name: UnitMassOne
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!135 &1597089948
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1597089947}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Radius: 0.5
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &1597089949
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1597089947}
+ 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: 3d12a53ab8595fc47825a0ac1ae1c035, 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!33 &1597089950
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1597089947}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1597089951
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1597089947}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 5, y: 2, z: -2}
+ m_LocalScale: {x: 0.6, y: 0.6, z: 0.6}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!54 &1597089952
+Rigidbody:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1597089947}
+ serializedVersion: 2
+ m_Mass: 0.2
+ m_Drag: 0
+ m_AngularDrag: 0
+ m_UseGravity: 1
+ m_IsKinematic: 0
+ m_Interpolate: 0
+ m_Constraints: 0
+ m_CollisionDetection: 0
+--- !u!114 &1597089953
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1597089947}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: cc9ac6eed61350546b91d45ce5fe988d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ height: 1.6
+ floor: {fileID: 1337579476}
+ squaredMaxDistance: 61
+ intialPos: {x: 5, y: 2, z: 0}
+--- !u!1 &1671712543
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1671712550}
+ - component: {fileID: 1671712549}
+ - component: {fileID: 1671712548}
+ - component: {fileID: 1671712547}
+ - component: {fileID: 1671712546}
+ - component: {fileID: 1671712545}
+ - component: {fileID: 1671712544}
+ - component: {fileID: 1671712551}
+ m_Layer: 12
+ m_Name: Sphere2
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1671712544
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1671712543}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 6a5bc56c16cfc2c42a3edf968d96aa32, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ material_unselected: {fileID: 2100000, guid: ac41a258404fcf245b6f7f0ba2d7e93f, type: 2}
+ material_selected: {fileID: 2100000, guid: 2d25be878c540cc439cbecbdc6ef9167, type: 2}
+--- !u!114 &1671712545
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1671712543}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 118547b5f7c6b384da806c35f395b26e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ Selected: 0
+--- !u!54 &1671712546
+Rigidbody:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1671712543}
+ serializedVersion: 2
+ m_Mass: 0.0000001
+ m_Drag: 0
+ m_AngularDrag: 0
+ m_UseGravity: 1
+ m_IsKinematic: 1
+ m_Interpolate: 0
+ m_Constraints: 0
+ m_CollisionDetection: 0
+--- !u!135 &1671712547
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1671712543}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 1
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Radius: 0.5
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &1671712548
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1671712543}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 0
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: ac41a258404fcf245b6f7f0ba2d7e93f, 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!33 &1671712549
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1671712543}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1671712550
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1671712543}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -3.75, y: -0.28, z: -3.3}
+ m_LocalScale: {x: 2, y: 2, z: 2}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 13
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1671712551
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1671712543}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 85a25f4d6bc346646a1b19cbc9e2cd53, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ detectionRadius: 0.5
+--- !u!1 &2034846693
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2034846699}
+ - component: {fileID: 2034846698}
+ - component: {fileID: 2034846697}
+ - component: {fileID: 2034846696}
+ - component: {fileID: 2034846695}
+ - component: {fileID: 2034846694}
+ m_Layer: 9
+ m_Name: UnitMassSeven
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &2034846694
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2034846693}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: cc9ac6eed61350546b91d45ce5fe988d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ height: 1.6
+ floor: {fileID: 1337579476}
+ squaredMaxDistance: 61
+ intialPos: {x: 5, y: 2, z: 0}
+--- !u!54 &2034846695
+Rigidbody:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2034846693}
+ serializedVersion: 2
+ m_Mass: 0.2
+ m_Drag: 0
+ m_AngularDrag: 0
+ m_UseGravity: 1
+ m_IsKinematic: 0
+ m_Interpolate: 0
+ m_Constraints: 0
+ m_CollisionDetection: 0
+--- !u!135 &2034846696
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2034846693}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Radius: 0.5
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &2034846697
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2034846693}
+ 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: 3d12a53ab8595fc47825a0ac1ae1c035, 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!33 &2034846698
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2034846693}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &2034846699
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2034846693}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 9, y: 2, z: -2}
+ m_LocalScale: {x: 0.6, y: 0.6, z: 0.6}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 10
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/POINT-VR-Chapter-1/Assets/POINT/Scenes/Chapter1/DensityExploration.unity.meta b/POINT-VR-Chapter-1/Assets/POINT/Scenes/Chapter1/DensityExploration.unity.meta
new file mode 100644
index 00000000..a4330204
--- /dev/null
+++ b/POINT-VR-Chapter-1/Assets/POINT/Scenes/Chapter1/DensityExploration.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 151895d7487e17b49879fcefe7b0c153
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/POINT-VR-Chapter-1/Builds/DensityExploration.apk b/POINT-VR-Chapter-1/Builds/DensityExploration.apk
new file mode 100644
index 00000000..f7d2ac43
Binary files /dev/null and b/POINT-VR-Chapter-1/Builds/DensityExploration.apk differ
diff --git a/POINT-VR-Chapter-1/ProjectSettings/TagManager.asset b/POINT-VR-Chapter-1/ProjectSettings/TagManager.asset
index a5dd12e6..e2d0ff3e 100644
--- a/POINT-VR-Chapter-1/ProjectSettings/TagManager.asset
+++ b/POINT-VR-Chapter-1/ProjectSettings/TagManager.asset
@@ -18,7 +18,7 @@ TagManager:
- Grip
- Grid
- Snap
- -
+ - Select
-
-
-