SW 중심대학 OSS GIT 서버
박건태, 이승준, 고기완, 이준호
새로운 배포
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
using System.Collections.Generic;using UnityEngine.XR.ARSubsystems;using UnityEngine.XR.Management;
namespace UnityEngine.XR.ARKit{ public class ARKitLoader : XRLoaderHelper { private static List<XRSessionSubsystemDescriptor> s_SessionSubsystemDescriptors = new List<XRSessionSubsystemDescriptor>(); private static List<XRCameraSubsystemDescriptor> s_CameraSubsystemDescriptors = new List<XRCameraSubsystemDescriptor>(); private static List<XRDepthSubsystemDescriptor> s_DepthSubsystemDescriptors = new List<XRDepthSubsystemDescriptor>(); private static List<XRPlaneSubsystemDescriptor> s_PlaneSubsystemDescriptors = new List<XRPlaneSubsystemDescriptor>(); private static List<XRAnchorSubsystemDescriptor> s_AnchorSubsystemDescriptors = new List<XRAnchorSubsystemDescriptor>(); private static List<XRRaycastSubsystemDescriptor> s_RaycastSubsystemDescriptors = new List<XRRaycastSubsystemDescriptor>(); private static List<XREnvironmentProbeSubsystemDescriptor> s_EnvironmentProbeSubsystemDescriptors = new List<XREnvironmentProbeSubsystemDescriptor>(); private static List<XRInputSubsystemDescriptor> s_InputSubsystemDescriptors = new List<XRInputSubsystemDescriptor>(); private static List<XRImageTrackingSubsystemDescriptor> s_ImageTrackingSubsystemDescriptors = new List<XRImageTrackingSubsystemDescriptor>(); private static List<XRFaceSubsystemDescriptor> s_FaceSubsystemDescriptors = new List<XRFaceSubsystemDescriptor>();
public XRSessionSubsystem sessionSubsystem { get { return GetLoadedSubsystem<XRSessionSubsystem>(); } }
public XRCameraSubsystem cameraSubsystem { get { return GetLoadedSubsystem<XRCameraSubsystem>(); } }
public XRDepthSubsystem depthSubsystem { get { return GetLoadedSubsystem<XRDepthSubsystem>(); } }
public XRPlaneSubsystem planeSubsystem { get { return GetLoadedSubsystem<XRPlaneSubsystem>(); } }
public XRAnchorSubsystem anchorSubsystem { get { return GetLoadedSubsystem<XRAnchorSubsystem>(); } }
public XRRaycastSubsystem raycastSubsystem { get { return GetLoadedSubsystem<XRRaycastSubsystem>(); } }
public XREnvironmentProbeSubsystem environmentProbeSubsystem { get { return GetLoadedSubsystem<XREnvironmentProbeSubsystem>(); } }
public XRInputSubsystem inputSubsystem { get { return GetLoadedSubsystem<XRInputSubsystem>(); } }
public XRImageTrackingSubsystem imageTrackingSubsystem { get { return GetLoadedSubsystem<XRImageTrackingSubsystem>(); } }
public XRFaceSubsystem faceSubsystem { get { return GetLoadedSubsystem<XRFaceSubsystem>(); } }
public override bool Initialize() {#if UNITY_IOS && !UNITY_EDITOR
CreateSubsystem<XRSessionSubsystemDescriptor, XRSessionSubsystem>(s_SessionSubsystemDescriptors, "ARKit-Session"); CreateSubsystem<XRCameraSubsystemDescriptor, XRCameraSubsystem>(s_CameraSubsystemDescriptors, "ARKit-Camera"); CreateSubsystem<XRDepthSubsystemDescriptor, XRDepthSubsystem>(s_DepthSubsystemDescriptors, "ARKit-Depth"); CreateSubsystem<XRPlaneSubsystemDescriptor, XRPlaneSubsystem>(s_PlaneSubsystemDescriptors, "ARKit-Plane"); CreateSubsystem<XRAnchorSubsystemDescriptor, XRAnchorSubsystem>(s_AnchorSubsystemDescriptors, "ARKit-Anchor"); CreateSubsystem<XRRaycastSubsystemDescriptor, XRRaycastSubsystem>(s_RaycastSubsystemDescriptors, "ARKit-Raycast"); CreateSubsystem<XREnvironmentProbeSubsystemDescriptor, XREnvironmentProbeSubsystem>(s_EnvironmentProbeSubsystemDescriptors, "ARKit-EnvironmentProbe"); CreateSubsystem<XRInputSubsystemDescriptor, XRInputSubsystem>(s_InputSubsystemDescriptors, "ARKit-Input");
// Optional subsystems that might not have been registered, based on the iOS version.
CreateSubsystem<XRImageTrackingSubsystemDescriptor, XRImageTrackingSubsystem>(s_ImageTrackingSubsystemDescriptors, "ARKit-ImageTracking"); CreateSubsystem<XRFaceSubsystemDescriptor, XRFaceSubsystem>(s_FaceSubsystemDescriptors, "ARKit-Face");
if (sessionSubsystem == null) { Debug.LogError("Failed to load session subsystem."); }
return sessionSubsystem != null;#else
return false;#endif
}
public override bool Start() { StartSubsystem<XRSessionSubsystem>(); StartSubsystem<XRCameraSubsystem>(); StartSubsystem<XRInputSubsystem>();
return true; }
public override bool Stop() { StopSubsystem<XRSessionSubsystem>(); StopSubsystem<XRCameraSubsystem>(); StopSubsystem<XRInputSubsystem>();
return true; }
public override bool Deinitialize() {#if UNITY_IOS && !UNITY_EDITOR
DestroySubsystem<XRSessionSubsystem>(); DestroySubsystem<XRCameraSubsystem>(); DestroySubsystem<XRDepthSubsystem>(); DestroySubsystem<XRPlaneSubsystem>(); DestroySubsystem<XRAnchorSubsystem>(); DestroySubsystem<XRRaycastSubsystem>(); DestroySubsystem<XREnvironmentProbeSubsystem>(); DestroySubsystem<XRInputSubsystem>(); DestroySubsystem<XRImageTrackingSubsystem>(); DestroySubsystem<XRFaceSubsystem>();#endif
return true; } }}
|