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(); }
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); } }
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); } }