void OnProjectStateDataChanged(UIProjectStateData data) { m_TeleportPicker = data.teleportPicker; if (m_PreviousTarget == data.teleportTarget) { return; } if (data.teleportTarget.HasValue) { m_Source = m_CameraTransform.position; m_Destination = data.teleportTarget.Value; m_IsTeleporting = true; m_IndicatorInstance = Instantiate(m_IndicatorPrefab); m_IndicatorInstance.transform.position = m_Destination + m_IndicatorOffsetFixed; // billboard effect m_IndicatorInstance.transform.LookAt(m_Source); // avoid the full size indicator popping up before the animation m_IndicatorScale.y = 0f; m_IndicatorInstance.transform.localScale = m_IndicatorScale; // disable free fly camera so it doesn't interfere if (m_FreeFlyCamera != null) { m_FreeFlyCamera.enabled = false; } } m_PreviousTarget = data.teleportTarget; }
void OnProjectStateDataChanged(UIProjectStateData data) { if (m_ActionMap == null) { m_ActionMap = m_InputActionAsset.FindActionMap("VR", true); } m_ActionMap.Enable(); }
private void CheckActiveProject(UIProjectStateData obj) { if (obj.activeProject != null && !string.IsNullOrEmpty(obj.activeProject.projectId) && obj.activeProject.projectId != m_exceptionExtraInfo.reflectUpid) { m_exceptionExtraInfo.reflectUpid = obj.activeProject.projectId; onExceptionExtraInfoChanged?.Invoke(JsonUtility.ToJson(m_exceptionExtraInfo)); } }
void OnProjectStateDataChanged(UIProjectStateData data) { if (m_XrRig == null || m_CameraTransformInfo == data.cameraTransformInfo) { return; } m_XrRig.MoveCameraToWorldLocation(data.cameraTransformInfo.position); var rotation = data.cameraTransformInfo.rotation.y - m_XrRig.transform.eulerAngles.y; m_XrRig.RotateAroundCameraUsingRigUp(rotation); m_CameraTransformInfo = data.cameraTransformInfo; }
public Sprite CaptureActiveProjectThumbnail(UIProjectStateData projectStateData) { if (m_Camera == null || !m_Camera.gameObject.activeInHierarchy) { m_Camera = Camera.main; } if (m_Camera != null) { var thumbnailPositionRotation = FreeFlyCamera.CalculateViewFitPosition(projectStateData.rootBounds, 20.0f, 0.90f, m_Camera.fieldOfView, m_Camera.aspect); var thumbnailTexture = CaptureCameraFrame( m_Camera, k_ThumbnailDimension, k_ThumbnailDimension, thumbnailPositionRotation, m_ThumbnailMask); var imageData = thumbnailTexture.EncodeToPNG(); var path = GetProjectThumbnailSavePath(m_ActiveProjectGetter.GetValue()); File.WriteAllBytes(path, imageData); return(Sprite.Create(thumbnailTexture, new Rect(0, 0, thumbnailTexture.width, thumbnailTexture.height), new Vector2(0.5f, 0.5f), 100.0f)); } return(null); }
public Sprite CaptureActiveProjectThumbnail(UIProjectStateData projectStateData) { if (m_Camera == null || !m_Camera.gameObject.activeInHierarchy) { m_Camera = Camera.main; } if (m_Camera != null) { var thumbnailPositionRotation = FreeFlyCamera.CalculateViewFitPosition(projectStateData.rootBounds, 20.0f, 0.75f, m_Camera.fieldOfView); var thumbnailTexture = CaptureCameraFrame( m_Camera, k_ThumbnailDimension, k_ThumbnailDimension, thumbnailPositionRotation, m_ThumbnailMask, m_CameraFeaturesToDisable); // There are some issue with SSAO, needs to disable it before Rendering or everything comes black var imageData = thumbnailTexture.EncodeToPNG(); var path = GetProjectThumbnailSavePath(projectStateData.activeProject); File.WriteAllBytes(path, imageData); return(Sprite.Create(thumbnailTexture, new Rect(0, 0, thumbnailTexture.width, thumbnailTexture.height), new Vector2(0.5f, 0.5f), 100.0f)); } return(null); }
void OnProjectStateDataChanged(UIProjectStateData data) { m_ObjectPicker = data.objectPicker; }