mirror of
https://github.com/nick7ass/NNMDETGroupProject.git
synced 2025-04-14 01:40:34 +02:00
A lot of small changes, everything working now.
Cleaned up files, small adjustments to project.
This commit is contained in:
parent
9a720eb7b3
commit
11c133f356
.DS_Store
Assets
.DS_Store
1OurAudioNarrationFiles
1OurESP32Scripts
.DS_Store01_SimpleServo_copy_20240313092442.meta
01_SimpleServo_copy_20240313092442
DistanceSensorESPOriginalCode_copy_20240308133237.metaDistanceSensorESPOriginalCode_copy_20240308133237
DistanceSensorESPOriginalCode_copy_20240308133237.inoDistanceSensorESPOriginalCode_copy_20240308133237.ino.meta
ESP32
ForceSensorArduinoScript.metaForceSensorArduinoScript
1OurScripts
ConnectUnityWithSensors.csEarthColliderScript.csEarthColliderScript.cs.metaWaterConnectUnityWithSensors.cs
Jungle-3PupperStudios.metaLowpoly Flowers
OurESP32Scripts
Samples
.DS_Store
Meta XR Interaction SDK OVR Samples/62.0.0
Example Scenes.meta
Example Scenes
BodyPoseDetectionExamples.unityBodyPoseDetectionExamples.unity.metaComprehensiveRigExample.unityComprehensiveRigExample.unity.metaConcurrentHandsControllersExamples.unityConcurrentHandsControllersExamples.unity.metaDistanceGrabExamples.unityDistanceGrabExamples.unity.metaGestureExamples.unityGestureExamples.unity.metaHandGrabExamples.unityHandGrabExamples.unity.metaHandGrabUseExamples.unityHandGrabUseExamples.unity.metaLocomotionExamples.unityLocomotionExamples.unity.metaPanelWithManipulators.unityPanelWithManipulators.unity.metaPokeExamples.unityPokeExamples.unity.metaPoseExamples.unityPoseExamples.unity.metaRayExamples.unityRayExamples.unity.metaSnapExamples.unitySnapExamples.unity.metaTouchGrabExamples.unityTouchGrabExamples.unity.metaTransformerExamples.unityTransformerExamples.unity.meta
Feature Scenes.metaFeature Scenes
DebugBodyJoints.unityDebugBodyJoints.unity.metaDebugBodyPoseComparer.unityDebugBodyPoseComparer.unity.metaDebugGesture.unityDebugGesture.unity.metaDebugHandGrab.unityDebugHandGrab.unity.metaDebugPoke.unityDebugPoke.unity.metaDebugPose.unityDebugPose.unity.metaDebugRay.unityDebugRay.unity.metaHandGrab.unityHandGrab.unity.metaPokeButton.unityPokeButton.unity.metaPokeCanvas.unityPokeCanvas.unity.metaRayCanvasCurved.unityRayCanvasCurved.unity.metaRayCanvasFlat.unityRayCanvasFlat.unity.metaTouchHandGrab.unityTouchHandGrab.unity.metaUseGrabPressure.unityUseGrabPressure.unity.meta
Scenes
Stylize Water Texture
TextMesh Pro
ProjectSettings
BIN
.DS_Store
vendored
BIN
.DS_Store
vendored
Binary file not shown.
BIN
Assets/.DS_Store
vendored
BIN
Assets/.DS_Store
vendored
Binary file not shown.
BIN
Assets/1OurAudioNarrationFiles/.DS_Store
vendored
BIN
Assets/1OurAudioNarrationFiles/.DS_Store
vendored
Binary file not shown.
BIN
Assets/1OurAudioNarrationFiles/Water/WaterTwo.wav
Normal file
BIN
Assets/1OurAudioNarrationFiles/Water/WaterTwo.wav
Normal file
Binary file not shown.
23
Assets/1OurAudioNarrationFiles/Water/WaterTwo.wav.meta
Normal file
23
Assets/1OurAudioNarrationFiles/Water/WaterTwo.wav.meta
Normal file
@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 323fb72f2a17b47deb655682a5f8e963
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 7
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
Assets/1OurESP32Scripts/.DS_Store
vendored
BIN
Assets/1OurESP32Scripts/.DS_Store
vendored
Binary file not shown.
@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3893d5b760e304f0e828a4ba1f29356a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
25
Assets/1OurESP32Scripts/01_SimpleServo_copy_20240313092442/01_SimpleServo_copy_20240313092442.ino
25
Assets/1OurESP32Scripts/01_SimpleServo_copy_20240313092442/01_SimpleServo_copy_20240313092442.ino
@ -1,25 +0,0 @@
|
||||
#include <ESP32Servo.h>
|
||||
|
||||
|
||||
static const int servoPin = 8;
|
||||
|
||||
Servo servo1;
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
servo1.attach(servoPin);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
for(int posDegrees = 0; posDegrees <= 180; posDegrees++) {
|
||||
servo1.write(posDegrees);
|
||||
Serial.println(posDegrees);
|
||||
delay(20);
|
||||
}
|
||||
|
||||
for(int posDegrees = 180; posDegrees >= 0; posDegrees--) {
|
||||
servo1.write(posDegrees);
|
||||
Serial.println(posDegrees);
|
||||
delay(20);
|
||||
}
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 256d5b3a232a4400f9b5acd942ec6f5a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2edd86e3fcdb2413a8fab53f7dbc7c4d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -1,85 +0,0 @@
|
||||
#include <ArduinoWebsockets.h>
|
||||
#include <WiFi.h>
|
||||
|
||||
const char* ssid = "dsv-extrality-lab"; // Change to your WiFi network name
|
||||
const char* password = "expiring-unstuck-slider"; // Change to your WiFi password
|
||||
|
||||
using namespace websockets;
|
||||
|
||||
WebsocketsServer server;
|
||||
WebsocketsClient client;
|
||||
|
||||
const int trigPin = A5; // Change to the GPIO pin connected to the Trig pin of the HC-SR04
|
||||
const int echoPin = A1; // Change to the GPIO pin connected to the Echo pin of the HC-SR04
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
|
||||
pinMode(trigPin, OUTPUT);
|
||||
pinMode(echoPin, INPUT);
|
||||
|
||||
WiFi.begin(ssid, password);
|
||||
while (WiFi.status() != WL_CONNECTED) {
|
||||
delay(1000);
|
||||
Serial.println("Connecting to WiFi...");
|
||||
}
|
||||
|
||||
Serial.print("Connected to WiFi. IP Address: ");
|
||||
Serial.println(WiFi.localIP());
|
||||
|
||||
server.listen(81);
|
||||
Serial.println("WebSocket server started.");
|
||||
}
|
||||
|
||||
void loop() {
|
||||
|
||||
|
||||
if (server.poll()) {
|
||||
client = server.accept();
|
||||
Serial.println("Client connected...");
|
||||
|
||||
while (client.available()) {
|
||||
WebsocketsMessage msg = client.readBlocking();
|
||||
Serial.print("Got Message: ");
|
||||
Serial.println(msg.data());
|
||||
|
||||
if (msg.data().equalsIgnoreCase("Need Distance")) {
|
||||
Serial.println("Measuring distance...");
|
||||
// Trigger the sensor
|
||||
digitalWrite(trigPin, LOW);
|
||||
delayMicroseconds(2);
|
||||
digitalWrite(trigPin, HIGH);
|
||||
delayMicroseconds(20); // Adjust this value
|
||||
digitalWrite(trigPin, LOW);
|
||||
|
||||
// Read the echo pulse duration
|
||||
unsigned long duration = pulseIn(echoPin, HIGH);
|
||||
|
||||
// Calculate distance in centimeters
|
||||
int distance = duration * 0.0343 / 2.0;
|
||||
|
||||
// Print the distance to the Serial Monitor
|
||||
Serial.print("Duration: ");
|
||||
Serial.print(duration);
|
||||
Serial.print(" microseconds, Distance: ");
|
||||
Serial.print(distance);
|
||||
Serial.println(" cm");
|
||||
|
||||
delay(1000);
|
||||
|
||||
|
||||
// Define a close distance threshold, for example, 10 cm
|
||||
if (distance > 0 && distance < 10) {
|
||||
// If the object is within the threshold, send a signal to Unity
|
||||
Serial.println("Object is close. Sending signal to Unity...");
|
||||
//client.send("ObjectClose");
|
||||
client.send(String(distance));
|
||||
} else {
|
||||
// Optional: Send a different signal if the object is not within the threshold
|
||||
//client.send("ObjectFar");
|
||||
}
|
||||
}
|
||||
}
|
||||
client.close();
|
||||
}
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 71b24fa1e93664a279549aee19af9202
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -1,91 +0,0 @@
|
||||
#include <ArduinoWebsockets.h>
|
||||
#include <WiFi.h>
|
||||
|
||||
const char* ssid = "dsv-extrality-lab"; // Change to your WiFi network name
|
||||
const char* password = "expiring-unstuck-slider"; // Change to your WiFi password
|
||||
|
||||
using namespace websockets;
|
||||
|
||||
WebsocketsServer server;
|
||||
WebsocketsClient client;
|
||||
int forceSensorValue = 0;
|
||||
// const int forceSensorPin = 34; // Change to your actual force sensor pin
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
|
||||
// Initialize force sensor pin as input
|
||||
// pinMode(forceSensorPin, INPUT);
|
||||
|
||||
// Connect to WiFi
|
||||
WiFi.begin(ssid, password);
|
||||
|
||||
// Wait to connect to WiFi
|
||||
while (WiFi.status() != WL_CONNECTED) {
|
||||
delay(1000);
|
||||
Serial.println("Connecting to WiFi...");
|
||||
}
|
||||
|
||||
Serial.println("Connected to WiFi");
|
||||
Serial.print("IP Address: ");
|
||||
Serial.println(WiFi.localIP());
|
||||
|
||||
// Start WebSocket server
|
||||
server.listen(81);
|
||||
Serial.println("WebSocket server started.");
|
||||
}
|
||||
|
||||
void loop() {
|
||||
//Serial.println(WiFi.localIP());
|
||||
if (server.poll()) { //server.poll() checks if any client is waiting to connect
|
||||
Serial.println("Client is available to connect...");
|
||||
client = server.accept(); // Accept() --> what server.accept does, is: "server, please wait until there is a client knocking on the door. when there is a client knocking, let him in and give me it's object".
|
||||
Serial.println("Client connected...");
|
||||
|
||||
while (client.available()) {
|
||||
|
||||
Serial.println("Waiting for client to send a message...");
|
||||
WebsocketsMessage msg = client.readBlocking();//readBlocking(removes the need for calling poll()) will return the first message or event received. readBlocking can also return Ping, Pong and Close messages.
|
||||
|
||||
// log
|
||||
Serial.print("Got Message: ");
|
||||
Serial.println(msg.data());
|
||||
// Condition to blink the light at the start of program as a hello indication
|
||||
if(msg.data().startsWith("Hello")){
|
||||
for(int i=0;i<4;i++){
|
||||
digitalWrite(11, HIGH); //Blink on
|
||||
delay(170);
|
||||
digitalWrite(11, LOW); //Blink off
|
||||
}
|
||||
client.send(String(10));
|
||||
}
|
||||
if (msg.data().equalsIgnoreCase("Need Force")) {
|
||||
digitalWrite(11, HIGH); //Notify user to use force sensor
|
||||
Serial.println("Reading value from Force Sensor...");
|
||||
while (forceSensorValue <= 40) {
|
||||
|
||||
analogReadResolution(10); // This statement tells in how many bits the AnalogRead should happen.
|
||||
// analogRead function returns the integer 10 bit integer (0 to 1023)
|
||||
forceSensorValue = analogRead(A0);
|
||||
|
||||
if (forceSensorValue > 40) {
|
||||
digitalWrite(13, HIGH);
|
||||
Serial.print(forceSensorValue, DEC);
|
||||
Serial.print("\n"); // Sending New Line character is important to read data in unity
|
||||
Serial.flush();
|
||||
|
||||
// return echo
|
||||
client.send(String(forceSensorValue));
|
||||
digitalWrite(11, LOW); //Notify user NOT to use force sensor
|
||||
digitalWrite(13, LOW); // Turn off built-in LED to notify user that value reading is done.
|
||||
forceSensorValue = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
// close the connection
|
||||
client.close();
|
||||
}
|
||||
}
|
@ -0,0 +1,91 @@
|
||||
#include <ArduinoWebsockets.h>
|
||||
#include <WiFi.h>
|
||||
#include <ESP32Servo.h>
|
||||
|
||||
const char* ssid = "dsv-extrality-lab"; // Change to your WiFi network name
|
||||
const char* password = "expiring-unstuck-slider"; // Change to your WiFi password
|
||||
|
||||
using namespace websockets;
|
||||
|
||||
WebsocketsServer server;
|
||||
WebsocketsClient client;
|
||||
int forceSensorValue = 0;
|
||||
|
||||
const int serverLED = 11;
|
||||
const int forceLED = 12;
|
||||
const int buttonPin = 10;
|
||||
|
||||
bool forceDetected = false; // Flag to track force detection
|
||||
bool ledBlinked = false; // Flag to ensure LED blinks only once
|
||||
|
||||
|
||||
static const int servoPin = 8;
|
||||
Servo servo1;
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
|
||||
servo1.attach(servoPin);
|
||||
|
||||
pinMode(serverLED, OUTPUT);
|
||||
pinMode(forceLED, OUTPUT);
|
||||
pinMode(buttonPin, INPUT_PULLUP); // Initialize button pin as input with internal pull-up resistor
|
||||
|
||||
WiFi.begin(ssid, password);
|
||||
while (WiFi.status() != WL_CONNECTED) {
|
||||
delay(1000);
|
||||
Serial.println("Connecting to WiFi...");
|
||||
}
|
||||
|
||||
Serial.print("Connected to WiFi. IP Address: ");
|
||||
Serial.println(WiFi.localIP());
|
||||
|
||||
server.listen(81);
|
||||
Serial.println("WebSocket server started.");
|
||||
digitalWrite(serverLED, HIGH); // Turn on server LED
|
||||
}
|
||||
|
||||
void loop() {
|
||||
|
||||
if (server.poll()) {
|
||||
client = server.accept(); // Accept client connection
|
||||
Serial.println("Client connected...");
|
||||
|
||||
while (client.available()) {
|
||||
WebsocketsMessage msg = client.readBlocking(); // Read message from client
|
||||
|
||||
// log
|
||||
Serial.print("Got Message: ");
|
||||
Serial.println(msg.data());
|
||||
forceSensorValue = analogRead(A0);
|
||||
Serial.println(forceSensorValue);
|
||||
delay(1000);
|
||||
|
||||
if (msg.data().equalsIgnoreCase("Need Force") && !ledBlinked) {
|
||||
Serial.println("Reading value from Force Sensor...");
|
||||
|
||||
|
||||
while (true) {
|
||||
Serial.println(forceSensorValue);
|
||||
delay(1000);
|
||||
|
||||
|
||||
if (forceSensorValue > 7000) {
|
||||
// Send force value to Unity and blink LED
|
||||
Serial.println(forceSensorValue, DEC);
|
||||
Serial.println(forceSensorValue);
|
||||
Serial.println("\n");
|
||||
client.send(String(forceSensorValue));
|
||||
forceSensorValue = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Close client connection
|
||||
client.close();
|
||||
digitalWrite(serverLED, LOW); // Turn off server LED
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -12,9 +12,8 @@ public class ConnectUnityWithSensors : MonoBehaviour
|
||||
|
||||
private bool forceDataReceived = false;
|
||||
private int receivedForceValue = 0;
|
||||
public static bool isForceDetected = false;
|
||||
|
||||
private Coroutine forceCheckCoroutine = null; // Reference to the coroutine for managing its lifecycle
|
||||
private bool isForceDetected = false;
|
||||
private bool waitForForceCoroutineStarted = false; // New flag to control coroutine start
|
||||
|
||||
public BoundEarthScript earthScript = new BoundEarthScript();
|
||||
|
||||
@ -27,33 +26,18 @@ public class ConnectUnityWithSensors : MonoBehaviour
|
||||
{
|
||||
Debug.Log("Connecting Unity with ESP32 via Websockets...");
|
||||
ws = new WebSocket($"ws://{esp32IPAddress}:{esp32WebsocketPort}");
|
||||
ws.OnOpen += (sender, e) =>
|
||||
{
|
||||
ws.OnOpen += (sender, e) => {
|
||||
Debug.Log("WebSocket connected");
|
||||
ws.Send("Hello from Unity!");
|
||||
};
|
||||
ws.OnMessage += (sender, e) =>
|
||||
{
|
||||
ws.OnMessage += (sender, e) => {
|
||||
Debug.Log("Received message: " + e.Data);
|
||||
int parsedValue;
|
||||
if (int.TryParse(e.Data, out parsedValue))
|
||||
bool isNumeric = int.TryParse(e.Data, out parsedValue);
|
||||
if (isNumeric)
|
||||
{
|
||||
receivedForceValue = parsedValue;
|
||||
forceDataReceived = true;
|
||||
|
||||
if (receivedForceValue > 100 && !isForceDetected)
|
||||
{
|
||||
Debug.Log("Force detected immediately, cancelling timeout.");
|
||||
isForceDetected = true;
|
||||
earthScript.collectForce();
|
||||
|
||||
// Cancel the timeout coroutine if it's running
|
||||
if (forceCheckCoroutine != null)
|
||||
{
|
||||
StopCoroutine(forceCheckCoroutine);
|
||||
forceCheckCoroutine = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
ws.Connect();
|
||||
@ -62,26 +46,32 @@ public class ConnectUnityWithSensors : MonoBehaviour
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (earthScript.narrationHasFinished && !earthScript.seedHasAppeared && !isForceDetected)
|
||||
if (earthScript.narrationHasFinished && !earthScript.seedHasAppeared && !waitForForceCoroutineStarted)
|
||||
{
|
||||
Debug.Log("Checking for force...");
|
||||
Debug.Log("Asking for force.");
|
||||
ws.Send("Need Force");
|
||||
StartCoroutine(IfForceUnavailable());
|
||||
waitForForceCoroutineStarted = true; // Ensure coroutine is started only once
|
||||
}
|
||||
|
||||
// Start the timeout coroutine only if it hasn't been started yet
|
||||
if (forceCheckCoroutine == null)
|
||||
if (forceDataReceived)
|
||||
{
|
||||
if (receivedForceValue > 100 && !isForceDetected)
|
||||
{
|
||||
forceCheckCoroutine = StartCoroutine(IfForceUnavailable());
|
||||
Debug.Log("Force threshold exceeded, action triggered.");
|
||||
isForceDetected = true;
|
||||
earthScript.collectForce();
|
||||
}
|
||||
forceDataReceived = false; // Reset for the next message
|
||||
}
|
||||
}
|
||||
|
||||
IEnumerator IfForceUnavailable()
|
||||
{
|
||||
yield return new WaitForSeconds(30); // Wait for 30 seconds
|
||||
|
||||
// Trigger the action if no force has been detected by this time
|
||||
yield return new WaitForSeconds(10); // Ensure this is 30 seconds, not 30000
|
||||
if (!isForceDetected)
|
||||
{
|
||||
Debug.Log("No force detected within 30 seconds, action triggered.");
|
||||
Debug.Log("No force detected in 30 seconds, triggering action.");
|
||||
isForceDetected = true;
|
||||
earthScript.collectForce();
|
||||
}
|
||||
|
39
Assets/1OurScripts/EarthColliderScript.cs
Normal file
39
Assets/1OurScripts/EarthColliderScript.cs
Normal file
@ -0,0 +1,39 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class EarthColliderScript : MonoBehaviour
|
||||
{
|
||||
|
||||
public BoundEarthScript earthScript;
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void OnTriggerEnter(Collider other)
|
||||
{
|
||||
|
||||
if (other.CompareTag("Hand") && earthScript.narrationHasFinished) //
|
||||
{
|
||||
//Removing other bounds temporarily
|
||||
|
||||
|
||||
//Play narration
|
||||
StartCoroutine(NarrationAndSignalCoroutine());
|
||||
}
|
||||
}
|
||||
|
||||
IEnumerator NarrationAndSignalCoroutine()
|
||||
{
|
||||
yield return new WaitForSeconds(3);
|
||||
earthScript.collectForce();
|
||||
}
|
||||
}
|
11
Assets/1OurScripts/EarthColliderScript.cs.meta
Normal file
11
Assets/1OurScripts/EarthColliderScript.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 735aa6b7053b445519ead176e0d9b9a1
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -6,23 +6,29 @@ using WebSocketSharp; // Ensure this matches the WebSocket library you're using
|
||||
|
||||
public class WaterConnectUnityWithSensors : MonoBehaviour
|
||||
{
|
||||
// Websocket Service
|
||||
WebSocket ws;
|
||||
public string esp32IPAddress = "10.204.0.249";
|
||||
public string esp32WebsocketPort = "81";
|
||||
//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 threshold = 14000;
|
||||
int threshhold = 14000;
|
||||
|
||||
private Coroutine touchCheckCoroutine = null; // Reference to the coroutine
|
||||
|
||||
public BoundWaterScript waterScript = new BoundWaterScript();
|
||||
public BoundWaterScript waterScript;
|
||||
|
||||
void Start()
|
||||
{
|
||||
|
||||
ConnectWithESP32();
|
||||
|
||||
}
|
||||
|
||||
public void ConnectWithESP32()
|
||||
@ -38,55 +44,40 @@ public class WaterConnectUnityWithSensors : MonoBehaviour
|
||||
{
|
||||
Debug.Log("Received message: " + e.Data);
|
||||
int parsedValue;
|
||||
if (int.TryParse(e.Data, out parsedValue))
|
||||
bool isNumeric = int.TryParse(e.Data, out parsedValue);
|
||||
if (isNumeric)
|
||||
{
|
||||
receivedTouchValue = parsedValue;
|
||||
touchDataReceived = true;
|
||||
|
||||
if (receivedTouchValue >= threshold && !isTouchDetected)
|
||||
{
|
||||
Debug.Log("Touch detected, cancelling timeout.");
|
||||
isTouchDetected = true;
|
||||
waterScript.collectTouch();
|
||||
|
||||
// Cancel the timeout coroutine if it's running
|
||||
if (touchCheckCoroutine != null)
|
||||
{
|
||||
StopCoroutine(touchCheckCoroutine);
|
||||
touchCheckCoroutine = null;
|
||||
}
|
||||
}
|
||||
touchDataReceived = true; // Indicate that new data has been received
|
||||
}
|
||||
};
|
||||
ws.Connect();
|
||||
Debug.Log("Websocket state - " + ws.ReadyState);
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (waterScript.narrationHasFinished && !waterScript.dropHasAppeared && !isTouchDetected)
|
||||
{
|
||||
Debug.Log("Checking for touch...");
|
||||
|
||||
// Start the timeout coroutine only if it hasn't been started yet
|
||||
if (touchCheckCoroutine == null)
|
||||
|
||||
void Update()
|
||||
{//Change to Water script
|
||||
if (waterScript.narrationHasFinished && !waterScript.dropHasAppeared)
|
||||
{
|
||||
Debug.Log("Asking for touch.");
|
||||
|
||||
ws.Send("Need Touch");
|
||||
|
||||
if (touchDataReceived)
|
||||
{
|
||||
touchCheckCoroutine = StartCoroutine(IfTouchUnavailable());
|
||||
if (receivedTouchValue >= threshhold)
|
||||
{
|
||||
Debug.Log("Touch threshold exceeded, action triggered.");
|
||||
isTouchDetected = true;
|
||||
waterScript.collectTouch();
|
||||
|
||||
}
|
||||
touchDataReceived = false; // Reset for the next message
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
IEnumerator IfTouchUnavailable()
|
||||
{
|
||||
yield return new WaitForSeconds(30); // Wait for 30 seconds
|
||||
|
||||
// Trigger the action if no touch has been detected by this time
|
||||
if (!isTouchDetected)
|
||||
{
|
||||
Debug.Log("No touch detected within 30 seconds, action triggered.");
|
||||
isTouchDetected = true;
|
||||
waterScript.collectTouch();
|
||||
}
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
@ -96,4 +87,5 @@ public class WaterConnectUnityWithSensors : MonoBehaviour
|
||||
ws.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf2548b45d8b944eb8a03c5024f6e25f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
Assets/Lowpoly Flowers/.DS_Store
vendored
BIN
Assets/Lowpoly Flowers/.DS_Store
vendored
Binary file not shown.
BIN
Assets/OurESP32Scripts/.DS_Store
vendored
BIN
Assets/OurESP32Scripts/.DS_Store
vendored
Binary file not shown.
Binary file not shown.
@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 882866ccb65104155944fe149778fe82
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 06a339ff5513d7f49a91ab90cbe194d4
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because one or more lines are too long
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2efe93cb8972cae439bfba2dcd4165f0
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 10824ac1a08b9a0459de4c071e1db2aa
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
10350
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/DistanceGrabExamples.unity
10350
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/DistanceGrabExamples.unity
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e1c1f1d4144ac8849ac1833b99bdfd23
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
7
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/GestureExamples.unity.meta
7
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/GestureExamples.unity.meta
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4ee2a082a0e621b49ab01667c66f1599
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
3714
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/HandGrabExamples.unity
3714
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/HandGrabExamples.unity
File diff suppressed because it is too large
Load Diff
7
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/HandGrabExamples.unity.meta
7
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/HandGrabExamples.unity.meta
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 39ae0e546b9edc0408d3b11c6a7c2814
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
17285
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/HandGrabUseExamples.unity
17285
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/HandGrabUseExamples.unity
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 509f8fa80c708b343a603a4771d35c85
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
19291
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/LocomotionExamples.unity
19291
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/LocomotionExamples.unity
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d37ed7e92220d1045a36bc73c7c4cf16
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
7454
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/PanelWithManipulators.unity
7454
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/PanelWithManipulators.unity
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bafd0df297556dd44832193b22fca1ae
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ada3086bde0ab18459589e22d8d9e182
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4fe358b21fe17764db89a9ab9f202327
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1b2d3f90c0f50b94cb910c66c773d00d
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 01ca63189b69e00488487d660224a315
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
5397
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/TouchGrabExamples.unity
5397
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/TouchGrabExamples.unity
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ade7d3882b4495145a8fe79f5624beab
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
4016
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/TransformerExamples.unity
4016
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Example Scenes/TransformerExamples.unity
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7475942f60c376744ba1ec487d140105
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 22907d9ebdb17480fa19c4f6d3d4c73e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
7
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Feature Scenes/DebugBodyJoints.unity.meta
7
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Feature Scenes/DebugBodyJoints.unity.meta
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: abd747a5d8c82d5439ad2453550edbaf
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
3502
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Feature Scenes/DebugBodyPoseComparer.unity
3502
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Feature Scenes/DebugBodyPoseComparer.unity
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 17aa390da2a0b204ea6ba4126132fa3f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 577706ac129bf594196dbdc4d948c6e6
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4a33784a144ef2442a81151052a5bb3b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: acb3321847c599949acfd36b778e1f7a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0c21dff7998be3b48bdbf4d868aa7710
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 98733b7ba27575749b1cb1365c853e1f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1ca1035b12c67f24d81e7bc5ad627d76
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 32b32b71d73d2d649bf917f969f663a1
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 13029ef4913eb58419d202e411552872
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
7
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Feature Scenes/RayCanvasCurved.unity.meta
7
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Feature Scenes/RayCanvasCurved.unity.meta
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a59598fb46d366b45ad435a0f942ce62
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7f5c84932632e2a4eb3d90db823935f1
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: be6ac2db53044a540a337805c97f39df
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
7
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Feature Scenes/UseGrabPressure.unity.meta
7
Assets/Samples/Meta XR Interaction SDK OVR Samples/62.0.0/Feature Scenes/UseGrabPressure.unity.meta
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7e42218241842f94cb568988a6037516
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -2365,6 +2365,10 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: earthVase
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 100006, guid: f74defbe1b9a23449aef9a881263fe0c, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: vaseWithCollider
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 100006, guid: f74defbe1b9a23449aef9a881263fe0c, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
@ -2455,7 +2459,19 @@ PrefabInstance:
|
||||
- {fileID: 100012, guid: f74defbe1b9a23449aef9a881263fe0c, type: 3}
|
||||
- {fileID: 100014, guid: f74defbe1b9a23449aef9a881263fe0c, type: 3}
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_AddedComponents:
|
||||
- targetCorrespondingSourceObject: {fileID: 100006, guid: f74defbe1b9a23449aef9a881263fe0c,
|
||||
type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 639053496}
|
||||
- targetCorrespondingSourceObject: {fileID: 100006, guid: f74defbe1b9a23449aef9a881263fe0c,
|
||||
type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 639053495}
|
||||
- targetCorrespondingSourceObject: {fileID: 100006, guid: f74defbe1b9a23449aef9a881263fe0c,
|
||||
type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 639053497}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: f74defbe1b9a23449aef9a881263fe0c, type: 3}
|
||||
--- !u!4 &133244152 stripped
|
||||
Transform:
|
||||
@ -2657,7 +2673,7 @@ Transform:
|
||||
m_GameObject: {fileID: 140392492}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 6.966, y: -2.247, z: -7.06}
|
||||
m_LocalPosition: {x: 6.705, y: -2.247, z: -6.994}
|
||||
m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children:
|
||||
@ -8955,8 +8971,8 @@ BoxCollider:
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 0.9521153, y: 2.6310592, z: 4.5547028}
|
||||
m_Center: {x: -0.39272606, y: 0.8155296, z: -0.21766186}
|
||||
m_Size: {x: 0.95211536, y: 1.4736786, z: 4.5547028}
|
||||
m_Center: {x: -0.3927261, y: 0.23683935, z: -0.21766186}
|
||||
--- !u!54 &515544900
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -8993,7 +9009,7 @@ Transform:
|
||||
m_GameObject: {fileID: 515544897}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -2.39, y: 0.05, z: 3.77}
|
||||
m_LocalPosition: {x: -2.129, y: 0.05, z: 3.77}
|
||||
m_LocalScale: {x: 0.3, y: 1, z: 0.1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@ -11764,6 +11780,73 @@ Transform:
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 636743900}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &639053491 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 100006, guid: f74defbe1b9a23449aef9a881263fe0c,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 133244151}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &639053495
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 639053491}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 735aa6b7053b445519ead176e0d9b9a1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
earthScript: {fileID: 1596973211}
|
||||
--- !u!65 &639053496
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 639053491}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 0.03636353, y: 0.020919746, z: 0.036363564}
|
||||
m_Center: {x: 0.00000008940697, y: -0.00029819366, z: -0.000000033527613}
|
||||
--- !u!54 &639053497
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 639053491}
|
||||
serializedVersion: 4
|
||||
m_Mass: 1
|
||||
m_Drag: 0
|
||||
m_AngularDrag: 0.05
|
||||
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ImplicitCom: 1
|
||||
m_ImplicitTensor: 1
|
||||
m_UseGravity: 0
|
||||
m_IsKinematic: 1
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 0
|
||||
m_CollisionDetection: 0
|
||||
--- !u!1001 &642366918
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -13412,9 +13495,11 @@ GameObject:
|
||||
- component: {fileID: 816588588}
|
||||
- component: {fileID: 816588590}
|
||||
- component: {fileID: 816588589}
|
||||
- component: {fileID: 816588592}
|
||||
- component: {fileID: 816588591}
|
||||
m_Layer: 0
|
||||
m_Name: RightOVRHand
|
||||
m_TagString: Untagged
|
||||
m_TagString: Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@ -13467,6 +13552,54 @@ MonoBehaviour:
|
||||
_pointerPoseRoot: {fileID: 0}
|
||||
m_showState: 0
|
||||
RayHelper: {fileID: 0}
|
||||
--- !u!65 &816588591
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 816588587}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!54 &816588592
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 816588587}
|
||||
serializedVersion: 4
|
||||
m_Mass: 1
|
||||
m_Drag: 0
|
||||
m_AngularDrag: 0.05
|
||||
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ImplicitCom: 1
|
||||
m_ImplicitTensor: 1
|
||||
m_UseGravity: 0
|
||||
m_IsKinematic: 1
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 0
|
||||
m_CollisionDetection: 0
|
||||
--- !u!1001 &821664044
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -20421,7 +20554,7 @@ PrefabInstance:
|
||||
- target: {fileID: 7809210389736380859, guid: 3a9b7854188d4405280e2aee6b228fc7,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
@ -26810,9 +26943,11 @@ GameObject:
|
||||
- component: {fileID: 1234813892}
|
||||
- component: {fileID: 1234813894}
|
||||
- component: {fileID: 1234813893}
|
||||
- component: {fileID: 1234813896}
|
||||
- component: {fileID: 1234813895}
|
||||
m_Layer: 0
|
||||
m_Name: LeftOVRHand
|
||||
m_TagString: Untagged
|
||||
m_TagString: Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@ -26865,6 +27000,54 @@ MonoBehaviour:
|
||||
_pointerPoseRoot: {fileID: 0}
|
||||
m_showState: 0
|
||||
RayHelper: {fileID: 0}
|
||||
--- !u!54 &1234813895
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1234813891}
|
||||
serializedVersion: 4
|
||||
m_Mass: 1
|
||||
m_Drag: 0
|
||||
m_AngularDrag: 0.05
|
||||
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ImplicitCom: 1
|
||||
m_ImplicitTensor: 1
|
||||
m_UseGravity: 0
|
||||
m_IsKinematic: 1
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 0
|
||||
m_CollisionDetection: 0
|
||||
--- !u!65 &1234813896
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1234813891}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &1282274188
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -38160,7 +38343,7 @@ MonoBehaviour:
|
||||
narrationHasStarted: 0
|
||||
audioSource: {fileID: 171465764}
|
||||
narrationClip: {fileID: 8300000, guid: 08211c0f27d2740228ddd729a21f516f, type: 3}
|
||||
narrationClipTwo: {fileID: 8300000, guid: 86108e3698a924d59860ac92e3cc414a, type: 3}
|
||||
narrationClipTwo: {fileID: 8300000, guid: 323fb72f2a17b47deb655682a5f8e963, type: 3}
|
||||
waterObjectToCollect: {fileID: 297646202}
|
||||
boundControl: {fileID: 979159588}
|
||||
--- !u!1 &1726452294
|
||||
|
BIN
Assets/Stylize Water Texture/.DS_Store
vendored
Normal file
BIN
Assets/Stylize Water Texture/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
Assets/TextMesh Pro/.DS_Store
vendored
Normal file
BIN
Assets/TextMesh Pro/.DS_Store
vendored
Normal file
Binary file not shown.
@ -14,6 +14,7 @@ TagManager:
|
||||
- BoundHMD
|
||||
- SamplesInfoPanel
|
||||
- VideoPlayerTag
|
||||
- Hand
|
||||
layers:
|
||||
- Default
|
||||
- TransparentFX
|
||||
|
Loading…
x
Reference in New Issue
Block a user