diff --git a/.DS_Store b/.DS_Store index c6b4533..85677c6 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Assets/1OurAudioNarrationFiles/.DS_Store b/Assets/1OurAudioNarrationFiles/.DS_Store index fc2e0ad..bc271e6 100644 Binary files a/Assets/1OurAudioNarrationFiles/.DS_Store and b/Assets/1OurAudioNarrationFiles/.DS_Store differ diff --git a/Assets/1OurAudioNarrationFiles/Water/.DS_Store b/Assets/1OurAudioNarrationFiles/Water/.DS_Store index 50d803a..05671e0 100644 Binary files a/Assets/1OurAudioNarrationFiles/Water/.DS_Store and b/Assets/1OurAudioNarrationFiles/Water/.DS_Store differ diff --git a/Assets/1OurAudioNarrationFiles/Water/WaterTwo.wav b/Assets/1OurAudioNarrationFiles/Water/WaterNarration.wav similarity index 100% rename from Assets/1OurAudioNarrationFiles/Water/WaterTwo.wav rename to Assets/1OurAudioNarrationFiles/Water/WaterNarration.wav diff --git a/Assets/1OurAudioNarrationFiles/Water/WaterTwo.wav.meta b/Assets/1OurAudioNarrationFiles/Water/WaterNarration.wav.meta similarity index 100% rename from Assets/1OurAudioNarrationFiles/Water/WaterTwo.wav.meta rename to Assets/1OurAudioNarrationFiles/Water/WaterNarration.wav.meta diff --git a/Assets/1OurScripts/BoundAirScript.cs b/Assets/1OurScripts/BoundAirScript.cs index 7edc63d..58e3009 100644 --- a/Assets/1OurScripts/BoundAirScript.cs +++ b/Assets/1OurScripts/BoundAirScript.cs @@ -26,6 +26,8 @@ public class BoundAirScript : MonoBehaviour private bool objectHasBeenCollected = false; + public GameObject airInstructionUI; + //Boundary control public BoundaryControlScript boundControl; @@ -57,6 +59,8 @@ public class BoundAirScript : MonoBehaviour audioSource.PlayOneShot(narrationClip); yield return new WaitForSeconds(narrationClip.length); canActivateAir = true; + //Instructions UI appear + airInstructionUI.SetActive(true); } @@ -130,6 +134,7 @@ public class BoundAirScript : MonoBehaviour public void stationCompleted() { + airInstructionUI.SetActive(false); windObjectToCollect.SetActive(false); //boundControl.ReactivateBoundary(); boundControl.RemoveBoundary("Air"); diff --git a/Assets/1OurScripts/BoundEarthScript.cs b/Assets/1OurScripts/BoundEarthScript.cs index 268a891..ea5b696 100644 --- a/Assets/1OurScripts/BoundEarthScript.cs +++ b/Assets/1OurScripts/BoundEarthScript.cs @@ -15,6 +15,8 @@ public class BoundEarthScript : MonoBehaviour public GameObject earthObjectToCollect; + public GameObject earthInstructionUI; + private bool objectHasBeenCollected = false; @@ -41,9 +43,8 @@ public class BoundEarthScript : MonoBehaviour audioSource.PlayOneShot(narrationClip); yield return new WaitForSeconds(narrationClip.length); - narrationHasFinished = true; - + earthInstructionUI.SetActive(true); } public void collectForce() { @@ -57,6 +58,7 @@ public class BoundEarthScript : MonoBehaviour public void stationCompleted() { + earthInstructionUI.SetActive(false); earthObjectToCollect.SetActive(false); //boundControl.ReactivateBoundary(); boundControl.RemoveBoundary("Earth"); diff --git a/Assets/1OurScripts/BoundFireScript.cs b/Assets/1OurScripts/BoundFireScript.cs index d01a0d9..d4681d9 100644 --- a/Assets/1OurScripts/BoundFireScript.cs +++ b/Assets/1OurScripts/BoundFireScript.cs @@ -15,6 +15,8 @@ public class BoundFireScript : MonoBehaviour public GameObject fireObjectToThrow; public GameObject fireObjectToCollect; + public GameObject fireInstructionUI; + private bool objectHasBeenCollected = false; @@ -44,7 +46,7 @@ public class BoundFireScript : MonoBehaviour yield return new WaitForSeconds(narrationClip.length); fireObjectToThrow.SetActive(true); narrationHasFinished = true; - + fireInstructionUI.SetActive(true); } public void CollectFireObject() @@ -62,6 +64,7 @@ public class BoundFireScript : MonoBehaviour public void stationCompleted() { + fireInstructionUI.SetActive(false); fireObjectToCollect.SetActive(false); //boundControl.ReactivateBoundary(); boundControl.RemoveBoundary("Fire"); diff --git a/Assets/1OurScripts/BoundWaterScript.cs b/Assets/1OurScripts/BoundWaterScript.cs index 30446ad..0a8c3dd 100644 --- a/Assets/1OurScripts/BoundWaterScript.cs +++ b/Assets/1OurScripts/BoundWaterScript.cs @@ -14,6 +14,8 @@ public class BoundWaterScript : MonoBehaviour public GameObject waterObjectToCollect; + public GameObject waterInstructionUI; + private bool objectHasBeenCollected = false; @@ -41,9 +43,8 @@ public class BoundWaterScript : MonoBehaviour { narrationHasStarted = true; audioSource.PlayOneShot(narrationClip); - yield return new WaitForSeconds(narrationClip.length); - + waterInstructionUI.SetActive(true); narrationHasFinished = true; } @@ -62,6 +63,7 @@ public class BoundWaterScript : MonoBehaviour public void stationCompleted() { + waterInstructionUI.SetActive(false); waterObjectToCollect.SetActive(false); //boundControl.ReactivateBoundary(); boundControl.RemoveBoundary("Water"); diff --git a/Assets/1OurScripts/BoundaryControlScript.cs b/Assets/1OurScripts/BoundaryControlScript.cs index 14c1fe9..24618fb 100644 --- a/Assets/1OurScripts/BoundaryControlScript.cs +++ b/Assets/1OurScripts/BoundaryControlScript.cs @@ -10,12 +10,6 @@ public class BoundaryControlScript : MonoBehaviour public GameObject waterBoundary; public GameObject fireBoundary; - //Instruction UI's - public GameObject airInstructionUI; - public GameObject earthInstructionUI; - public GameObject waterInstructionUI; - public GameObject fireInstructionUI; - //Collection images public GameObject airNotCollectedImage; public GameObject airCollectedImage; @@ -47,29 +41,24 @@ public class BoundaryControlScript : MonoBehaviour { if (bound == "Air") { - //Instructions UI appear - airInstructionUI.SetActive(true); earthBoundary.SetActive(false); waterBoundary.SetActive(false); fireBoundary.SetActive(false); } else if (bound == "Earth") { - earthInstructionUI.SetActive(true); airBoundary.SetActive(false); waterBoundary.SetActive(false); fireBoundary.SetActive(false); } else if (bound == "Water") { - waterInstructionUI.SetActive(true); earthBoundary.SetActive(false); airBoundary.SetActive(false); fireBoundary.SetActive(false); } else if (bound == "Fire") { - fireInstructionUI.SetActive(true); earthBoundary.SetActive(false); waterBoundary.SetActive(false); airBoundary.SetActive(false); @@ -107,7 +96,6 @@ public class BoundaryControlScript : MonoBehaviour { airFinished = true; collectionCounter++; - airInstructionUI.SetActive(false); airNotCollectedImage.SetActive(false); airCollectedImage.SetActive(true); StartCoroutine(PlayCollectionNarration()); @@ -118,7 +106,6 @@ public class BoundaryControlScript : MonoBehaviour { earthFinished = true; collectionCounter++; - earthInstructionUI.SetActive(false); earthNotCollectedImage.SetActive(false); earthCollectedImage.SetActive(true); StartCoroutine(PlayCollectionNarration()); @@ -130,7 +117,6 @@ public class BoundaryControlScript : MonoBehaviour { waterFinished = true; collectionCounter++; - waterInstructionUI.SetActive(false); waterNotCollectedImage.SetActive(false); waterCollectedImage.SetActive(true); StartCoroutine(PlayCollectionNarration()); @@ -142,7 +128,6 @@ public class BoundaryControlScript : MonoBehaviour { fireFinished = true; collectionCounter++; - fireInstructionUI.SetActive(false); fireNotCollectedImage.SetActive(false); fireCollectedImage.SetActive(true); StartCoroutine(PlayCollectionNarration()); diff --git a/Assets/1OurScripts/WaterConnectUnityWithSensors.cs b/Assets/1OurScripts/WaterConnectUnityWithSensors.cs index 1bb7562..751b6ea 100644 --- a/Assets/1OurScripts/WaterConnectUnityWithSensors.cs +++ b/Assets/1OurScripts/WaterConnectUnityWithSensors.cs @@ -8,27 +8,23 @@ public class WaterConnectUnityWithSensors : MonoBehaviour { // Websocket Service WebSocket ws; - //public AudioSource audioSource; // Assign in inspector - //public AudioClip narrationClip; // Assign in inspector - // public string esp32IPAddress = "10.204.0.249"; // Assign your ESP32 IP Address public string esp32WebsocketPort = "81"; // Assign your ESP32 WebSocket port, typically "81" private bool touchDataReceived = false; private int receivedTouchValue = 0; - public static bool isTouchDetected = false; - int threshhold = 14000; - - public BoundWaterScript waterScript; + private float narrationEndTime; + private float waitTime = 15f; + private bool objectAppeared = false; // Flag to track whether the object has appeared or not + private bool startedMeasuringTime = false; // Flag to track whether the time measurement has started + void Start() { - ConnectWithESP32(); - } public void ConnectWithESP32() @@ -55,29 +51,43 @@ public class WaterConnectUnityWithSensors : MonoBehaviour Debug.Log("Websocket state - " + ws.ReadyState); } - - void Update() - {//Change to Water script + { if (waterScript.narrationHasFinished && !waterScript.dropHasAppeared) { - Debug.Log("Asking for touch."); - - ws.Send("Need Touch"); - - if (touchDataReceived) + if (!startedMeasuringTime) { - if (receivedTouchValue >= threshhold) - { - Debug.Log("Touch threshold exceeded, action triggered."); - isTouchDetected = true; - waterScript.collectTouch(); + startedMeasuringTime = true; + narrationEndTime = Time.realtimeSinceStartup; + } + float elapsedTime = Time.realtimeSinceStartup - narrationEndTime; + + if (elapsedTime < waitTime) + { + Debug.Log("Asking for touch."); + ws.Send("Need Touch"); + + if (touchDataReceived) + { + if (receivedTouchValue >= threshhold) + { + Debug.Log("Touch threshold exceeded, action triggered."); + isTouchDetected = true; + waterScript.collectTouch(); + return; // Exit the update loop if touch threshold condition is met + } + touchDataReceived = false; // Reset for the next message } - touchDataReceived = false; // Reset for the next message + } + else if (!objectAppeared && elapsedTime >= waitTime) + { + Debug.Log("15 seconds have passed since the end of narration."); + // Perform your desired action here after 15 seconds from the end of the narration + waterScript.collectTouch(); // Call collectTouch() method after 15 seconds + objectAppeared = true; // Set the flag to indicate that the object has appeared } } - } void OnDestroy() @@ -87,5 +97,4 @@ public class WaterConnectUnityWithSensors : MonoBehaviour ws.Close(); } } - } \ No newline at end of file diff --git a/Assets/Oculus/OculusProjectConfig.asset b/Assets/Oculus/OculusProjectConfig.asset index 2d32065..431f67e 100644 --- a/Assets/Oculus/OculusProjectConfig.asset +++ b/Assets/Oculus/OculusProjectConfig.asset @@ -14,7 +14,7 @@ MonoBehaviour: m_EditorClassIdentifier: targetDeviceTypes: 020000000300000004000000 allowOptional3DofHeadTracking: 0 - handTrackingSupport: 1 + handTrackingSupport: 2 handTrackingFrequency: 1 handTrackingVersion: 0 anchorSupport: 0 diff --git a/Assets/Scenes/MainScene.unity b/Assets/Scenes/MainScene.unity index a062009..8c23026 100644 --- a/Assets/Scenes/MainScene.unity +++ b/Assets/Scenes/MainScene.unity @@ -8971,8 +8971,8 @@ BoxCollider: m_ProvidesContacts: 0 m_Enabled: 1 serializedVersion: 3 - m_Size: {x: 0.95211536, y: 1.4736786, z: 4.5547028} - m_Center: {x: -0.3927261, y: 0.23683935, z: -0.21766186} + m_Size: {x: 0.95211536, y: 1.5365968, z: 4.5547028} + m_Center: {x: -0.3927261, y: 0.2682984, z: -0.21766186} --- !u!54 &515544900 Rigidbody: m_ObjectHideFlags: 0 @@ -10768,6 +10768,7 @@ MonoBehaviour: narrationClip: {fileID: 8300000, guid: 687001dfd7eb24ccca4eb0e4db510dca, type: 3} narrationClipTwo: {fileID: 8300000, guid: 8cb9b31b6571647878893398d64e6f19, type: 3} windObjectToCollect: {fileID: 140392492} + airInstructionUI: {fileID: 770984586} boundControl: {fileID: 979159588} --- !u!82 &579970260 AudioSource: @@ -11720,6 +11721,7 @@ MonoBehaviour: narrationClipTwo: {fileID: 8300000, guid: deff384217dfb4266aa229b913f8fd03, type: 3} fireObjectToThrow: {fileID: 1155277585} fireObjectToCollect: {fileID: 282901708} + fireInstructionUI: {fileID: 5235938035743833251} boundControl: {fileID: 979159588} --- !u!1001 &636743900 PrefabInstance: @@ -16389,10 +16391,6 @@ MonoBehaviour: earthBoundary: {fileID: 1596973207} waterBoundary: {fileID: 1726060519} fireBoundary: {fileID: 634926185} - airInstructionUI: {fileID: 770984586} - earthInstructionUI: {fileID: 1752584107} - waterInstructionUI: {fileID: 751470795} - fireInstructionUI: {fileID: 5235938035743833251} airNotCollectedImage: {fileID: 1048445217} airCollectedImage: {fileID: 252265085} earthNotCollectedImage: {fileID: 484134552} @@ -36109,6 +36107,7 @@ MonoBehaviour: narrationClip: {fileID: 8300000, guid: 94cf8154f1b9943aba707d774a2821c7, type: 3} narrationClipTwo: {fileID: 8300000, guid: bf45e15b36fce434c9dbb9ce462fef79, type: 3} earthObjectToCollect: {fileID: 31480962} + earthInstructionUI: {fileID: 1752584107} boundControl: {fileID: 979159588} --- !u!1001 &1601739639 PrefabInstance: @@ -38342,9 +38341,10 @@ MonoBehaviour: dropHasAppeared: 0 narrationHasStarted: 0 audioSource: {fileID: 171465764} - narrationClip: {fileID: 8300000, guid: 08211c0f27d2740228ddd729a21f516f, type: 3} - narrationClipTwo: {fileID: 8300000, guid: 323fb72f2a17b47deb655682a5f8e963, type: 3} + narrationClip: {fileID: 8300000, guid: 323fb72f2a17b47deb655682a5f8e963, type: 3} + narrationClipTwo: {fileID: 8300000, guid: 86108e3698a924d59860ac92e3cc414a, type: 3} waterObjectToCollect: {fileID: 297646202} + waterInstructionUI: {fileID: 751470795} boundControl: {fileID: 979159588} --- !u!1 &1726452294 GameObject: diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 3677d4b..42830d8 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -142,6 +142,8 @@ PlayerSettings: bundleVersion: 0.1.0 preloadedAssets: - {fileID: 11400000, guid: 1224da94f9ef543cfa1a1ba9de68fa6b, type: 2} + - {fileID: 2139348419382495779, guid: a6a4cf5690c084880ae5480fa4d944a3, type: 2} + - {fileID: 11400000, guid: 8cc7f022db65542ebadc5da4081ad2ae, type: 2} metroInputSource: 0 wsaTransparentSwapchain: 0 m_HolographicPauseOnTrackingLoss: 1