void Start() { if (XRSupportUtil.IsXRDevicePresent() && XRSupportUtil.IsXREnabled() && _deviceOffsets != null) { string deviceName = XRSupportUtil.GetLoadedDeviceName(); var deviceHeightPair = _deviceOffsets.FirstOrDefault(d => deviceName.ToLower().Contains(d.DeviceName.ToLower())); if (deviceHeightPair != null) { transform.Translate(Vector3.up * deviceHeightPair.HeightOffset); } } }
private bool checkShouldEnableHeadMounted() { if (XRSupportUtil.IsXREnabled()) { var parentCamera = GetComponentInParent <Camera>(); if (parentCamera != null && parentCamera.stereoTargetEye != StereoTargetEyeMask.None) { if (!_isHeadMounted) { if (Application.isPlaying) { Debug.LogError("VR is enabled and the LeapServiceProvider is the child of a " + "camera targeting one or both stereo eyes; You should " + "check the isHeadMounted option on the LeapServiceProvider " + "if the Leap is mounted or attached to your VR headset!", this); } return(true); } } } return(false); }
private void createPortalCamera(LayerMask mask, out Camera camera, out List <int> layers) { if (_portalCameraAnchor == null) { var portalCameraObj = new GameObject("Portal Cameras"); portalCameraObj.hideFlags = HideFlags.NotEditable; _portalCameraAnchor = portalCameraObj.transform; _portalCameraAnchor.transform.parent = _mainCamera.transform.parent; _portalCameraAnchor.SetSiblingIndex(_mainCamera.transform.GetSiblingIndex() + 1); _portalCameraAnchor.localPosition = Vector3.zero; _portalCameraAnchor.localRotation = Quaternion.identity; _portalCameraAnchor.localScale = Vector3.one; } GameObject cameraObj = new GameObject("Portal Camera");//TODO: better naming cameraObj.hideFlags = HideFlags.NotEditable; cameraObj.transform.parent = _portalCameraAnchor; cameraObj.transform.localPosition = _mainCamera.transform.localPosition; cameraObj.transform.localRotation = _mainCamera.transform.localRotation; cameraObj.transform.localScale = _mainCamera.transform.localScale; camera = cameraObj.AddComponent <Camera>(); camera.clearFlags = CameraClearFlags.Nothing; camera.cullingMask = mask; camera.nearClipPlane = _mainCamera.nearClipPlane; camera.farClipPlane = _mainCamera.farClipPlane; camera.allowHDR = _mainCamera.allowHDR; camera.allowMSAA = _mainCamera.allowMSAA; if (!XRSupportUtil.IsXREnabled()) { camera.fieldOfView = _mainCamera.fieldOfView; } layers = getLayersFromMask(mask); }