/// <summary> /// Default constructor for FbxRecorderSettings. /// </summary> public FbxRecorderSettings() { var goWildcard = DefaultWildcard.GeneratePattern("GameObject"); FileNameGenerator.AddWildcard(goWildcard, GameObjectNameResolver); FileNameGenerator.AddWildcard(DefaultWildcard.GeneratePattern("GameObjectScene"), GameObjectSceneNameResolver); FileNameGenerator.ForceAssetsFolder = false; FileNameGenerator.Root = OutputPath.Root.AssetsFolder; FileNameGenerator.FileName = "animation_" + goWildcard + "_" + DefaultWildcard.Take; }
void OnEnable() { var controllerSettings = ScriptableObject.CreateInstance <RecorderControllerSettings>(); m_RecorderController = new RecorderController(controllerSettings); var outputFolder = Application.dataPath + "/SampleRecordings"; // Video var videoRecorder = ScriptableObject.CreateInstance <MovieRecorderSettings>(); videoRecorder.name = "My Video Recorder"; videoRecorder.enabled = true; videoRecorder.outputFormat = VideoRecorderOutputFormat.MP4; videoRecorder.videoBitRateMode = VideoBitrateMode.Low; videoRecorder.imageInputSettings = new GameViewInputSettings { outputAspect = ImageAspect.x16_9, outputHeight = ImageHeight.x720p_HD }; videoRecorder.audioInputSettings.preserveAudio = true; videoRecorder.outputFile = outputFolder + "/video"; // Animation var animationRecorder = ScriptableObject.CreateInstance <AnimationRecorderSettings>(); animationRecorder.name = "My Animation Recorder"; animationRecorder.enabled = true; var sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); animationRecorder.animationInputSettings = new AnimationInputSettings { gameObject = sphere, recursive = true, }; animationRecorder.animationInputSettings.AddComponentToRecord(typeof(Transform)); animationRecorder.outputFile = outputFolder + "/animation_" + DefaultWildcard.GeneratePattern("GameObject"); // Image Sequence var imageRecorder = ScriptableObject.CreateInstance <ImageRecorderSettings>(); imageRecorder.name = "My Image Recorder"; imageRecorder.enabled = true; imageRecorder.outputFormat = ImageRecorderOutputFormat.PNG; imageRecorder.captureAlpha = true; imageRecorder.outputFile = outputFolder + "/image_" + DefaultWildcard.Frame; imageRecorder.imageInputSettings = new CameraInputSettings { source = ImageSource.MainCamera, outputAspect = ImageAspect.x16_9, outputHeight = ImageHeight.x720p_HD, captureUI = true }; // Setup Recording controllerSettings.AddRecorderSettings(videoRecorder); controllerSettings.AddRecorderSettings(animationRecorder); controllerSettings.AddRecorderSettings(imageRecorder); controllerSettings.SetRecordModeToManual(); controllerSettings.frameRate = 60.0f; m_RecorderController.verbose = true; m_RecorderController.StartRecording(); }
void OnEnable() { var controllerSettings = ScriptableObject.CreateInstance <RecorderControllerSettings>(); m_RecorderController = new RecorderController(controllerSettings); var mediaOutputFolder = Path.Combine(Application.dataPath, "..", "SampleRecordings"); // animation output is an asset that must be created in Assets folder var animationOutputFolder = Path.Combine(Application.dataPath, "SampleRecordings"); // Video var videoRecorder = ScriptableObject.CreateInstance <MovieRecorderSettings>(); videoRecorder.name = "My Video Recorder"; videoRecorder.enabled = true; videoRecorder.outputFormat = VideoRecorderOutputFormat.MP4; videoRecorder.videoBitRateMode = VideoBitrateMode.Low; videoRecorder.imageInputSettings = new GameViewInputSettings { outputWidth = 1920, outputHeight = 1080 }; videoRecorder.audioInputSettings.preserveAudio = true; videoRecorder.outputFile = Path.Combine(mediaOutputFolder, "video_v" + DefaultWildcard.Take); // Animation var animationRecorder = ScriptableObject.CreateInstance <AnimationRecorderSettings>(); animationRecorder.name = "My Animation Recorder"; animationRecorder.enabled = true; var sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); animationRecorder.animationInputSettings = new AnimationInputSettings { gameObject = sphere, recursive = true, }; animationRecorder.animationInputSettings.AddComponentToRecord(typeof(Transform)); animationRecorder.outputFile = Path.Combine(animationOutputFolder, "anim_" + DefaultWildcard.GeneratePattern("GameObject") + "_v" + DefaultWildcard.Take); // Image Sequence var imageRecorder = ScriptableObject.CreateInstance <ImageRecorderSettings>(); imageRecorder.name = "My Image Recorder"; imageRecorder.enabled = true; imageRecorder.outputFormat = ImageRecorderOutputFormat.PNG; imageRecorder.captureAlpha = true; imageRecorder.outputFile = Path.Combine(mediaOutputFolder, "_png", "image_v" + DefaultWildcard.Take + "." + DefaultWildcard.Frame); imageRecorder.imageInputSettings = new CameraInputSettings { source = ImageSource.MainCamera, outputWidth = 1920, outputHeight = 1080, captureUI = true }; // Setup Recording controllerSettings.AddRecorderSettings(videoRecorder); controllerSettings.AddRecorderSettings(animationRecorder); controllerSettings.AddRecorderSettings(imageRecorder); controllerSettings.SetRecordModeToManual(); controllerSettings.frameRate = 60.0f; Options.verboseMode = false; m_RecorderController.StartRecording(); }