private void Awake() { if (externalCamera == null && System.IO.File.Exists(externalCameraConfigPath)) { var prefab = Resources.Load <GameObject>("SteamVR_ExternalCamera"); var instance = Instantiate(prefab); instance.gameObject.name = "External Camera"; externalCamera = instance.transform.GetChild(0).GetComponent <SteamVR_ExternalCamera>(); externalCamera.configPath = externalCameraConfigPath; externalCamera.ReadConfig(); } }
private bool CheckExternalCamera() { if (doesPathExist == false) { return(false); } else if (doesPathExist == null) { doesPathExist = System.IO.File.Exists(externalCameraConfigPath); } if (externalCamera == null && doesPathExist == true) { GameObject prefab = Resources.Load <GameObject>("SteamVR_ExternalCamera"); if (prefab == null) { doesPathExist = false; return(false); } else { if (SteamVR_Settings.instance.legacyMixedRealityCamera) { if (SteamVR_ExternalCamera_LegacyManager.hasCamera == false) { return(false); } GameObject instance = Instantiate(prefab); instance.gameObject.name = "External Camera"; externalCamera = instance.transform.GetChild(0).GetComponent <SteamVR_ExternalCamera>(); externalCamera.configPath = externalCameraConfigPath; externalCamera.ReadConfig(); externalCamera.SetupDeviceIndex(SteamVR_ExternalCamera_LegacyManager.cameraIndex); } else { SteamVR_Action_Pose cameraPose = SteamVR_Settings.instance.mixedRealityCameraPose; SteamVR_Input_Sources cameraSource = SteamVR_Settings.instance.mixedRealityCameraInputSource; if (cameraPose != null && SteamVR_Settings.instance.mixedRealityActionSetAutoEnable) { if (cameraPose.actionSet != null && cameraPose.actionSet.IsActive(cameraSource) == false) { cameraPose.actionSet.Activate(cameraSource); } } if (cameraPose == null) { doesPathExist = false; return(false); } if (cameraPose != null && cameraPose[cameraSource].active && cameraPose[cameraSource].deviceIsConnected) { GameObject instance = Instantiate(prefab); instance.gameObject.name = "External Camera"; externalCamera = instance.transform.GetChild(0).GetComponent <SteamVR_ExternalCamera>(); externalCamera.configPath = externalCameraConfigPath; externalCamera.ReadConfig(); externalCamera.SetupPose(cameraPose, cameraSource); } } } } return(externalCamera != null); }