mirror of
https://github.com/Mukheem/TwinTurbine.git
synced 2025-05-12 22:30:34 +02:00
Merge branch 'Mukheem:main' into main
This commit is contained in:
commit
b5df207bf7
Assets
Oculus
Palmov Island/Low Poly Houses Free Pack/Prefabs/Trees
SharedSpatialAnchors
Prefabs/Resources
Scenes
Scripts
@ -14,7 +14,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
targetDeviceTypes: 030000000200000004000000
|
||||
allowOptional3DofHeadTracking: 0
|
||||
handTrackingSupport: 1
|
||||
handTrackingSupport: 0
|
||||
handTrackingFrequency: 0
|
||||
handTrackingVersion: 2
|
||||
anchorSupport: 1
|
||||
|
@ -26,9 +26,9 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 87966117356681799}
|
||||
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
|
||||
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_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
|
@ -1040,6 +1040,15 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8322344887590106764}
|
||||
- component: {fileID: 5361334261533984054}
|
||||
- component: {fileID: -6369266532475339321}
|
||||
- component: {fileID: 5341318377746430832}
|
||||
- component: {fileID: -1201471494275974383}
|
||||
- component: {fileID: -8231463906739603765}
|
||||
- component: {fileID: -9180565859901777493}
|
||||
- component: {fileID: 1693667315275080053}
|
||||
- component: {fileID: -6453332735135581912}
|
||||
- component: {fileID: 2070753283667298535}
|
||||
m_Layer: 0
|
||||
m_Name: map_logo
|
||||
m_TagString: Untagged
|
||||
@ -1056,7 +1065,7 @@ Transform:
|
||||
m_GameObject: {fileID: 8661891273527454774}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.1894, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_LocalScale: {x: 9, y: 9, z: 9}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 5323377776038644989}
|
||||
@ -1071,3 +1080,180 @@ Transform:
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &5361334261533984054
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8661891273527454774}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4357a20539a2184997fc22358044a5f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 8661891273527454774}
|
||||
previewPrefab: {fileID: 8661891273527454774}
|
||||
--- !u!114 &-6369266532475339321
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8661891273527454774}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 43f86b14a27b52f4f9298c33015b5c26, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_transferOnSecondSelection: 0
|
||||
_addNewPointsToFront: 0
|
||||
_forwardElement: {fileID: 0}
|
||||
_oneGrabTransformer: {fileID: 5341318377746430832}
|
||||
_twoGrabTransformer: {fileID: 0}
|
||||
_targetTransform: {fileID: 0}
|
||||
_maxGrabPoints: -1
|
||||
--- !u!114 &5341318377746430832
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8661891273527454774}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3236b8f205019504589358e7e0412a38, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_positionConstraints:
|
||||
ConstraintsAreRelative: 0
|
||||
XAxis:
|
||||
ConstrainAxis: 0
|
||||
AxisRange:
|
||||
Min: 0
|
||||
Max: 0
|
||||
YAxis:
|
||||
ConstrainAxis: 0
|
||||
AxisRange:
|
||||
Min: 0
|
||||
Max: 0
|
||||
ZAxis:
|
||||
ConstrainAxis: 0
|
||||
AxisRange:
|
||||
Min: 0
|
||||
Max: 0
|
||||
_rotationConstraints:
|
||||
XAxis:
|
||||
ConstrainAxis: 0
|
||||
AxisRange:
|
||||
Min: 0
|
||||
Max: 0
|
||||
YAxis:
|
||||
ConstrainAxis: 0
|
||||
AxisRange:
|
||||
Min: 0
|
||||
Max: 0
|
||||
ZAxis:
|
||||
ConstrainAxis: 0
|
||||
AxisRange:
|
||||
Min: 0
|
||||
Max: 0
|
||||
--- !u!114 &-1201471494275974383
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8661891273527454774}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1bedaac29a943f844a7074b53c8bdf9f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_pointable: {fileID: -6369266532475339321}
|
||||
_rigidbody: {fileID: -8231463906739603765}
|
||||
_scaleMassWithSize: 1
|
||||
--- !u!54 &-8231463906739603765
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8661891273527454774}
|
||||
serializedVersion: 2
|
||||
m_Mass: 1
|
||||
m_Drag: 0
|
||||
m_AngularDrag: 0.05
|
||||
m_UseGravity: 0
|
||||
m_IsKinematic: 0
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 0
|
||||
m_CollisionDetection: 3
|
||||
--- !u!114 &-9180565859901777493
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8661891273527454774}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: aa584fbee541324448dd18d8409c7a41, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ObservedComponentsFoldoutOpen: 1
|
||||
Group: 0
|
||||
prefixField: -1
|
||||
Synchronization: 3
|
||||
OwnershipTransfer: 0
|
||||
observableSearch: 2
|
||||
ObservedComponents:
|
||||
- {fileID: 1693667315275080053}
|
||||
- {fileID: -6453332735135581912}
|
||||
sceneViewId: 0
|
||||
InstantiationId: 0
|
||||
isRuntimeInstantiated: 0
|
||||
--- !u!114 &1693667315275080053
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8661891273527454774}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 627855c7f81362d41938ffe0b1475957, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_SynchronizePosition: 1
|
||||
m_SynchronizeRotation: 1
|
||||
m_SynchronizeScale: 1
|
||||
m_UseLocal: 1
|
||||
--- !u!114 &-6453332735135581912
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8661891273527454774}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 64179f3720bbfe947b7724caa67b7c1d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_SynchronizeVelocity: 1
|
||||
m_SynchronizeAngularVelocity: 1
|
||||
m_TeleportEnabled: 1
|
||||
m_TeleportIfDistanceGreaterThan: 3
|
||||
--- !u!114 &2070753283667298535
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8661891273527454774}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 118420a922675d145ade2a28e327d7a5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
|
@ -4701,12 +4701,12 @@ GameObject:
|
||||
- component: {fileID: 1232630264}
|
||||
- component: {fileID: 1232630263}
|
||||
m_Layer: 0
|
||||
m_Name: Spannner
|
||||
m_Name: Spawnner
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!114 &1232630263
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -4719,8 +4719,8 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: f4357a20539a2184997fc22358044a5f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 5361334261533984053}
|
||||
previewPrefab: {fileID: 5361334261533984053}
|
||||
prefab: {fileID: 8661891273527454774, guid: 8754aa5f3d45cec4980f02029a881f7d, type: 3}
|
||||
previewPrefab: {fileID: 87966117356681799, guid: c0118078f34d6b34ea8d5afec2be7cff, type: 3}
|
||||
--- !u!4 &1232630264
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -4734,7 +4734,7 @@ Transform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 10
|
||||
m_RootOrder: 8
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1282461827
|
||||
GameObject:
|
||||
@ -5886,64 +5886,6 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1496496565}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &1501354727
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1501354729}
|
||||
- component: {fileID: 1501354728}
|
||||
m_Layer: 0
|
||||
m_Name: Proxima
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1501354728
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1501354727}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e277581af68d4604da056e460b819656, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_displayName: TwinTurbine
|
||||
_port: 7759
|
||||
_password: 123456
|
||||
_useHttps: 1
|
||||
_certificate: {fileID: 0}
|
||||
_certificatePassword:
|
||||
_runOnEnable: 1
|
||||
_logBufferSize: 1000
|
||||
_instantiateStatusUI: 1
|
||||
_instantiateConnectUI: 0
|
||||
_dontDestroyOnLoad: 1
|
||||
_setRunInBackground: 1
|
||||
_serverType: 1
|
||||
_serverUrl:
|
||||
--- !u!4 &1501354729
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1501354727}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.69282347, y: -1.4099673, z: -0.2268675}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 9
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1515478303
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -9342,82 +9284,6 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: cd8280e8c381fbd4bbcad4b7ee581c31, type: 3}
|
||||
--- !u!1001 &5361334261533984052
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 8322344887590106764, guid: 8754aa5f3d45cec4980f02029a881f7d, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 8
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8322344887590106764, guid: 8754aa5f3d45cec4980f02029a881f7d, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0.2285
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8322344887590106764, guid: 8754aa5f3d45cec4980f02029a881f7d, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8322344887590106764, guid: 8754aa5f3d45cec4980f02029a881f7d, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8322344887590106764, guid: 8754aa5f3d45cec4980f02029a881f7d, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8322344887590106764, guid: 8754aa5f3d45cec4980f02029a881f7d, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8322344887590106764, guid: 8754aa5f3d45cec4980f02029a881f7d, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8322344887590106764, guid: 8754aa5f3d45cec4980f02029a881f7d, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8322344887590106764, guid: 8754aa5f3d45cec4980f02029a881f7d, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8322344887590106764, guid: 8754aa5f3d45cec4980f02029a881f7d, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8322344887590106764, guid: 8754aa5f3d45cec4980f02029a881f7d, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8661891273527454774, guid: 8754aa5f3d45cec4980f02029a881f7d, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: map_logo
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 8754aa5f3d45cec4980f02029a881f7d, type: 3}
|
||||
--- !u!1 &5361334261533984053 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 8661891273527454774, guid: 8754aa5f3d45cec4980f02029a881f7d, type: 3}
|
||||
m_PrefabInstance: {fileID: 5361334261533984052}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &5361334261533984054
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5361334261533984053}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4357a20539a2184997fc22358044a5f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 5361334261533984053}
|
||||
previewPrefab: {fileID: 5361334261533984053}
|
||||
--- !u!4 &7079690333416248134 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 5414912244175512723, guid: 60fa00281e83b294583adc31df520fbe, type: 3}
|
||||
|
@ -25,6 +25,7 @@ public class PrefabSpawnner : MonoBehaviour
|
||||
if (OVRInput.GetDown(OVRInput.Button.One))
|
||||
{
|
||||
Instantiate(prefab, hit.point, Quaternion.FromToRotation(Vector3.up, hit.normal));
|
||||
this.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -25,6 +25,9 @@ using UnityEngine.UI;
|
||||
using TMPro;
|
||||
using PhotonPun = Photon.Pun;
|
||||
using PhotonRealtime = Photon.Realtime;
|
||||
using System.Linq;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
public class SharedAnchorControlPanel : MonoBehaviour
|
||||
{
|
||||
@ -103,6 +106,72 @@ public class SharedAnchorControlPanel : MonoBehaviour
|
||||
renderStyleText.text = "Render: " + CoLocatedPassthroughManager.Instance.visualization.ToString();
|
||||
}
|
||||
ToggleRoomButtons(false);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public async Task roomDetails()
|
||||
{
|
||||
var anchors = new List<OVRAnchor>();
|
||||
await OVRAnchor.FetchAnchorsAsync<OVRRoomLayout>(anchors);
|
||||
|
||||
// no rooms - call Space Setup or check Scene permission
|
||||
if (anchors.Count == 0)
|
||||
return;
|
||||
|
||||
SampleController.Instance.Log("Anchors Fetched.");
|
||||
SampleController.Instance.Log(anchors.Count.ToString());
|
||||
SampleController.Instance.Log(anchors[0].ToString());
|
||||
// access anchor data by retrieving the components
|
||||
var room = anchors.First();
|
||||
|
||||
// access the ceiling, floor and walls with the OVRRoomLayout component
|
||||
var roomLayout = room.GetComponent<OVRRoomLayout>();
|
||||
if (roomLayout.TryGetRoomLayout(out Guid ceiling, out Guid floor, out Guid[] walls))
|
||||
{
|
||||
// use these guids to fetch the OVRAnchor object directly
|
||||
await OVRAnchor.FetchAnchorsAsync(walls, anchors);
|
||||
}
|
||||
|
||||
// access the list of children with the OVRAnchorContainer component
|
||||
if (!room.TryGetComponent(out OVRAnchorContainer container))
|
||||
return;
|
||||
|
||||
// use the component helper function to access all child anchors
|
||||
await container.FetchChildrenAsync(anchors);
|
||||
|
||||
// Log the children anchors and their positions
|
||||
foreach (var anchor in anchors)
|
||||
{
|
||||
// check that this anchor is the floor
|
||||
if (!anchor.TryGetComponent(out OVRSemanticLabels labels) ||
|
||||
!labels.Labels.Contains(OVRSceneManager.Classification.Table))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// enable locatable/tracking
|
||||
if (!anchor.TryGetComponent(out OVRLocatable locatable))
|
||||
continue;
|
||||
await locatable.SetEnabledAsync(true);
|
||||
|
||||
|
||||
// get the floor dimensions
|
||||
anchor.TryGetComponent(out OVRBounded3D bounded3D);
|
||||
var size = bounded3D.BoundingBox.size;
|
||||
|
||||
SampleController.Instance.Log("Child Anchors Fetched."+ size);
|
||||
SampleController.Instance.Log(anchors.Count.ToString());
|
||||
SampleController.Instance.Log(anchors[0].ToString());
|
||||
// If you want the position in local space relative to the room, use anchor.transform.localPosition
|
||||
|
||||
// only interested in the first floor anchor
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void OnCreateModeButtonPressed()
|
||||
@ -144,7 +213,7 @@ public class SharedAnchorControlPanel : MonoBehaviour
|
||||
{
|
||||
SampleController.Instance.Log("OnSpawnCubeButtonPressed");
|
||||
|
||||
SpawnCube();
|
||||
SpawnCubeAsync();
|
||||
}
|
||||
|
||||
public void LogNext()
|
||||
@ -171,11 +240,13 @@ public class SharedAnchorControlPanel : MonoBehaviour
|
||||
pageText.text = SampleController.Instance.logText.pageToDisplay + "/" + SampleController.Instance.logText.textInfo.pageCount;
|
||||
}
|
||||
|
||||
private void SpawnCube()
|
||||
private async Task SpawnCubeAsync()
|
||||
{
|
||||
var networkedCube = PhotonPun.PhotonNetwork.Instantiate(cubePrefab.name, spawnPoint.position, spawnPoint.rotation);
|
||||
var photonGrabbable = networkedCube.GetComponent<PhotonGrabbableObject>();
|
||||
photonGrabbable.TransferOwnershipToLocalPlayer();
|
||||
|
||||
await roomDetails();
|
||||
}
|
||||
|
||||
public void ChangeUserPassthroughVisualization()
|
||||
@ -260,7 +331,7 @@ public class SharedAnchorControlPanel : MonoBehaviour
|
||||
SampleController.Instance.Log("Trying to Spawn WT Object");
|
||||
SampleController.Instance.Log(spawnPoint.position.ToString());
|
||||
Debug.Log(spawnPoint.position);
|
||||
var networkedWindTurbine = PhotonPun.PhotonNetwork.Instantiate(TwinTurbine_windTurbine.name, new Vector3(Camera.main.transform.position.x,0, Camera.main.transform.position.z-3), Quaternion.identity);
|
||||
var networkedWindTurbine = PhotonPun.PhotonNetwork.Instantiate(TwinTurbine_windTurbine.name, new Vector3(Camera.main.transform.position.x,0, Camera.main.transform.position.z), Quaternion.identity);
|
||||
var photonGrabbable = networkedWindTurbine.GetComponent<PhotonGrabbableObject>();
|
||||
photonGrabbable.TransferOwnershipToLocalPlayer();
|
||||
}
|
||||
|
41
README.md
41
README.md
@ -22,9 +22,10 @@ After some brainstorming, we came up with some ideas for different stages:
|
||||
|
||||
<figure style="text-align:center">
|
||||
<img src="https://github.com/Mukheem/TwinTurbine/assets/145973209/03e1ef34-4b37-421a-b54a-28db34e8059b" alt="DTComponents" style="max-width:100%;" height="auto">
|
||||
<figcaption><i>Digital Twin Components</i></figcaption>
|
||||
<figcaption style="padding-top: 10px;"><i>Digital Twin Components</i></figcaption>
|
||||
</figure>
|
||||
|
||||
|
||||
<figure style="text-align:center">
|
||||
<img src="https://github.com/Mukheem/TwinTurbine/assets/145973209/7ca62bda-072b-40ea-a0ed-361c86724b81" alt="Primary Prototype" style="max-width:100%;" height="auto">
|
||||
<figcaption><i>Primary Prototype for physical turbine & virtual model</i></figcaption>
|
||||
@ -32,27 +33,44 @@ After some brainstorming, we came up with some ideas for different stages:
|
||||
|
||||
- Then, we shared our ideas on how to rotate the servo motor from Arduino and which physical turbine is better to provide.
|
||||
<figure style="text-align:center">
|
||||
<img src="https://github.com/Mukheem/TwinTurbine/assets/145973209/b777cb85-2e86-4cd3-8317-d48586b27ba8" alt="Sketch" style="max-width:100%;" height="auto">
|
||||
<figcaption><i>Arduino sketch to rotate the Servo Motor</i></figcaption>
|
||||
<img src="https://github.com/Mukheem/TwinTurbine/assets/145973209/7ca62bda-072b-40ea-a0ed-361c86724b81" alt="Primary Prototype" style="max-width:100%;" height="auto">
|
||||
<figcaption style="margin-top: 10px;"><i>Primary Prototype for physical turbine & virtual model</i></figcaption>
|
||||
</figure>
|
||||
|
||||
<figure style="text-align:center">
|
||||
<img src="https://github.com/Mukheem/TwinTurbine/assets/145973209/c1b97fd4-f495-4e54-8c17-a1d949cca986" alt="Wind Turbine" style="max-width:100%;" height="auto">
|
||||
<figcaption><i>Servo motor and wind turbine</i></figcaption>
|
||||
<figcaption style="padding-top: 10px; margin-top: 10px;"><i>Servo motor and wind turbine</i></figcaption>
|
||||
</figure>
|
||||
|
||||
|
||||
- Finally, we focused on the way we want to make the connection between ESP32 and Unity
|
||||
<figure style="text-align:center">
|
||||
<img src="https://github.com/Mukheem/TwinTurbine/assets/145973209/d910c49e-2518-4181-8831-0987415b2977" alt="Communication" style="max-width:100%;" height="auto"></i>
|
||||
<img src="https://github.com/Mukheem/TwinTurbine/assets/145973209/d910c49e-2518-4181-8831-0987415b2977" alt="Communication" style="max-width:100%;" height="auto">
|
||||
<figcaption><i>Connecting Unity to Arduino</i></figcaption>
|
||||
</figure>
|
||||
|
||||
|
||||
### 2.2. User Persona:
|
||||
- The Project's target users are engineers and technicians who work with wind energy systems and Educational Institutions where the simulator can be used for training purposes. Moreover, the main target group is enterprises interested in immersive technology.
|
||||
- User Persona: A description of your target user, their needs, motivations, and pain points, and how your project addresses them.
|
||||
- User Journey: A visualization of how your user interacts with your project, from the initial trigger to the final outcome, and what emotions they experience along the way.
|
||||
- Wireframes and Prototypes: A collection of sketches, mockups, or prototypes that show the layout, structure, and functionality of your project, and how you tested and iterated on them.
|
||||
The Project's target users are engineers and technicians working with wind energy systems and Educational Institutions where the simulator can be used for training. Moreover, the main target group is enterprises interested in immersive technology.
|
||||
|
||||
### 2.3. User Journey:
|
||||
<!--A visualization of how your user interacts with your project, from the initial trigger to the final outcome, and what emotions they experience along the way.-->
|
||||
In the experience, a Physical Wind turbine would be emulated using a servo motor. Real-time data , including RPM of the wind turbine (represented by the servo motor) and the current generated by the turbine, are collected from the physical entity and transferred to the virtual environment for monitoring and visualization.
|
||||
|
||||
### 2.4. Wireframes and Prototypes:
|
||||
<!-- A collection of sketches, mockups, or prototypes that show the layout, structure, and functionality of your project, and how you tested and iterated on them.-->
|
||||
To understand how to rotate the physical wind turbine, the team members tried various strategies and tools to see which was more appropriate for our project.
|
||||
|
||||
<figure style="text-align:center">
|
||||
<img src="https://github.com/Mukheem/TwinTurbine/assets/145973209/c1b97fd4-f495-4e54-8c17-a1d949cca986" alt="Physical Entity" style="max-width:100%;" height="auto">
|
||||
<figcaption><i>Servo motor and Arduino</i></figcaption>
|
||||
</figure>
|
||||
|
||||
|
||||
<figure style="text-align:center">
|
||||
<img src="https://github.com/Mukheem/TwinTurbine/assets/145973209/c1b97fd4-f495-4e54-8c17-a1d949cca986" alt="Physical Turbine" style="max-width:100%;" height="auto">
|
||||
<figcaption><i>Servo motor and Arduino</i></figcaption>
|
||||
</figure>
|
||||
|
||||
|
||||
## System description
|
||||
@ -107,6 +125,11 @@ Some tips, tricks, and best practices for using [Your App XR} effectively:
|
||||
- Tip 1
|
||||
- Tip 2
|
||||
|
||||
## Draft Poster
|
||||
<figure style="text-align:center">
|
||||
<img src="https://github.com/Mukheem/TwinTurbine/blob/main/Portfolio%26Poster/Draft%20poster.jpeg" alt="Communication" style="max-width:100%;" height="auto">
|
||||
<figcaption><i>Draft Poster</i></figcaption>
|
||||
</figure>
|
||||
|
||||
## References
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user