Пример #1
0
        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;
        }
Пример #2
0
 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));
     }
 }
Пример #4
0
        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);
        }
Пример #7
0
 void OnProjectStateDataChanged(UIProjectStateData data)
 {
     m_ObjectPicker = data.objectPicker;
 }