示例#1
0
        ///----------------------------------------------------------------------------------------------
        void Begin()
        {
            if (isRendering)
            {
                return;
            }

            isRendering = true;
            cutscene.Rewind();
            EditorApplication.ExecuteMenuItem("Window/Game");
            cutscene.currentTime = cutscene.cameraTrack.startTime;
            cutscene.Sample();

            CutsceneEditor.OnStopInEditor += Done;

            if (settings.renderPasses)
            {
                recorder = DirectorCamera.renderCamera.GetAddComponent <GBufferRecorder>();
            }
            else
            {
                recorder = DirectorCamera.renderCamera.GetAddComponent <MovieRecorder>();
            }

            var config = new MovieEncoderConfigs(settings.renderFormat);

            recorder.encoderConfigs  = config;
            recorder.captureControl  = RecorderBase.CaptureControl.Manual;
            recorder.targetFramerate = settings.framerate;
            recorder.captureAudio    = settings.captureAudio;
            recorder.fixDeltaTime    = Application.isPlaying;
            recorder.waitDeltaTime   = Application.isPlaying;

            recorder.outputDir = new DataPath(DataPath.Root.Current, GetFolderName(), GetFileName());
            recorder.BeginRecording();
        }