Ejemplo n.º 1
0
        internal void ApplyGlobalSetting(RecorderSettings recorder)
        {
            recorder.recordMode        = m_RecordMode;
            recorder.frameRatePlayback = m_FrameRatePlayback;
            recorder.frameRate         = frameRate;
            recorder.startFrame        = m_StartFrame;
            recorder.endFrame          = m_EndFrame;
            recorder.startTime         = m_StartTime;
            recorder.endTime           = m_EndTime;
            recorder.capFrameRate      = m_CapFrameRate;
            recorder.hideFlags         = HideFlags.DontSave | HideFlags.HideInHierarchy;

            recorder.SelfAdjustSettings();
        }
Ejemplo n.º 2
0
        protected internal virtual void SessionCreated(RecordingSession session)
        {
            if (RecorderOptions.VerboseMode)
            {
                ConsoleLogMessage("Session created", LogType.Log);
            }

            settings.SelfAdjustSettings(); // ignore return value.

            var fixedRate = settings.FrameRatePlayback == FrameRatePlayback.Constant ? settings.FrameRate : 0.0f;

            if (fixedRate > 0)
            {
                var toCompare = 1.0f / fixedRate;
                if (Time.captureFramerate != 0 && Math.Abs(toCompare - Time.captureDeltaTime) > float.Epsilon)
                {
                    ConsoleLogMessage($"Recorder {GetType().Name} is set to record at a fixed rate and another component has already set a conflicting value for [Time.captureFramerate], new value being applied : {fixedRate}!", LogType.Error);
                }
                else if (Time.captureFramerate == 0 && RecorderOptions.VerboseMode)
                {
                    ConsoleLogMessage($"Frame recorder set fixed frame rate to {fixedRate}", LogType.Log);
                }
                // Note that Time.captureDeltaTime will be modified by HDRP SubFrameManager
                // to implement the accumulation motion blur/path tracer support.

                Time.captureDeltaTime = 1.0f / fixedRate;

                sm_CaptureFrameRateCount++;
                m_ModifiedCaptureFR = true;
            }

            m_Inputs = new List <RecorderInput>();
            foreach (var inputSettings in settings.InputsSettings)
            {
                var input = (RecorderInput)Activator.CreateInstance(inputSettings.InputType);
                input.settings = inputSettings;
                m_Inputs.Add(input);
                SignalInputsOfStage(ERecordingSessionStage.SessionCreated, session);
            }
        }
Ejemplo n.º 3
0
        protected internal virtual void SessionCreated(RecordingSession session)
        {
            if (RecorderOptions.VerboseMode)
            {
                Debug.Log(string.Format("Recorder {0} session created", GetType().Name));
            }

            settings.SelfAdjustSettings(); // ignore return value.

            var fixedRate = settings.FrameRatePlayback == FrameRatePlayback.Constant ? settings.FrameRate : 0.0f;

            if (fixedRate > 0)
            {
                var toCompare = 1.0f / fixedRate;
                if (Time.captureFramerate != 0 && Math.Abs(toCompare - Time.captureDeltaTime) > float.Epsilon)
                {
                    Debug.LogError(string.Format("Recorder {0} is set to record at a fixed rate and another component has already set a conflicting value for [Time.captureFramerate], new value being applied : {1}!", GetType().Name, fixedRate));
                }
                else if (Time.captureFramerate == 0 && RecorderOptions.VerboseMode)
                {
                    Debug.Log("Frame recorder set fixed frame rate to " + fixedRate);
                }

                Time.captureDeltaTime = 1.0f / fixedRate;

                sm_CaptureFrameRateCount++;
                m_ModifiedCaptureFR = true;
            }

            m_Inputs = new List <RecorderInput>();
            foreach (var inputSettings in settings.InputsSettings)
            {
                var input = (RecorderInput)Activator.CreateInstance(inputSettings.InputType);
                input.settings = inputSettings;
                m_Inputs.Add(input);
                SignalInputsOfStage(ERecordingSessionStage.SessionCreated, session);
            }
        }