ARAbilities.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using EZXR.Glass.Plane;
  2. using EZXR.Glass.SixDof;
  3. using UnityEditor;
  4. using UnityEngine;
  5. namespace EZXR.Glass.Core
  6. {
  7. public partial class ARAbilities : MonoBehaviour
  8. {
  9. #region SpatialTracking
  10. [MenuItem("GameObject/XR Abilities/SpatialTracking", false, 20)]
  11. public static void EnableSpatialTracking()
  12. {
  13. if (FindObjectOfType<HMDPoseTracker>() == null)
  14. {
  15. string filePath = "Assets/EZXRGlassSDK/Core/SixDof/Prefabs/CameraRig.prefab";
  16. if (AssetDatabase.LoadAssetAtPath<GameObject>(filePath) == null)
  17. {
  18. filePath = AssetDatabase.GUIDToAssetPath("06bbeec2a98d8bd47a5d23c6d228eb60");
  19. }
  20. Core.PrefabUtility.InstantiatePrefabWithUndoAndSelection(AssetDatabase.LoadAssetAtPath<GameObject>(filePath));
  21. }
  22. }
  23. #endregion
  24. #region PlaneDetection
  25. [MenuItem("GameObject/XR Abilities/PlaneDetection", false, 20)]
  26. public static void EnablePlaneDetection()
  27. {
  28. if (FindObjectOfType<PlaneDetectionManager>() == null)
  29. {
  30. string filePath = "Assets/EZXRGlassSDK/Core/SixDof/Prefabs/PlaneDetectionManager.prefab";
  31. if (AssetDatabase.LoadAssetAtPath<GameObject>(filePath) == null)
  32. {
  33. filePath = AssetDatabase.GUIDToAssetPath("1a44cb9e3dd5f5046a7333d3057af165");
  34. }
  35. Core.PrefabUtility.InstantiatePrefabWithUndoAndSelection(AssetDatabase.LoadAssetAtPath<GameObject>(filePath));
  36. }
  37. }
  38. #endregion
  39. }
  40. }