Scene Manager 설명
SceneManager에 대한 설명입니다.
SceneManager에서 필수 구성 요소 얻기
ARManager arManagr = FindObjectOfType<ARManager>();
if (arManagr == null)
{
Debug.LogError("Can't find ARManager. You need to add ARManager prefab in scene.");
return;
}
else
{
arCamera = arManagr.gameObject;
}
VPSTrackable[] vPSTrackables = FindObjectsOfType<VPSTrackable>(true);
if (vPSTrackables != null)
{
vPSTrackablesList.AddRange(vPSTrackables);
}
else
{
Debug.LogError("You need to add VPSTrackables.");
}
foreach (GameObject eachObject in disableObjects)
{
if(eachObject != null)
{
eachObject.SetActive(false);
}
}
if (XRStudioController.Instance.ARMode)
{
AndroidRuntimePermissions.Permission[] result = AndroidRuntimePermissions.RequestPermissions("android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.CAMERA", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_COARSE_LOCATION");
if (result[0] == AndroidRuntimePermissions.Permission.Granted && result[1] == AndroidRuntimePermissions.Permission.Granted)
Debug.Log("We have all the permissions!");
else
Debug.Log("Some permission(s) are not granted...");
cameraBackgroundBehaviour = arManagr.GetCameraBackgroundBehaviour();
if (cameraBackgroundBehaviour == null)
{
Debug.LogError("Can't find CameraBackgroundBehaviour.");
return;
}
foreach (VPSTrackable vPSTrackable in vPSTrackablesList)
{
vPSTrackable.gameObject.SetActive(false);
}
}
else
{
this.enabled = false;
if(startPov != null)
{
startPov.StartPlace();
}
}Occlusion (건물 메쉬에 의한 가려짐) 구현
카메라 시작 / 시뮬레이션 시작
XR Tracker 시작
XR 트래킹 결과 얻기
Last updated