You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-9Lines changed: 15 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -55,6 +55,7 @@ The Recording framework is composed of three conceptual groups:
55
55
Here are the classes that make up recorders and their inputs.
56
56
57
57

58
+

58
59
59
60
#### Recorder:
60
61
* Base/abstract class of all “recorders”. A recorder being the class that consumes the artifacts coming from the Unity engine and is responsible for transforming/encoding and “storing” them into the final output of a recording event. Examples would be: MP4, WAV, Alembic, Animation clips.
@@ -67,7 +68,7 @@ Here are the classes that make up recorders and their inputs.
67
68
#### RecorderSettings
68
69
* Each non-abstract recorder must provide a specialization of this class. This is where the recorders settings (output path, encoding settings, etc) are stored.
69
70
* Recorder settings are persited assets (ScritableObject).
70
-
* RecorderSettings do not hold the Input settings directly but refer to assets that are the Input settings.
71
+
* RecorderSettings do not hold the Input settings directly but refer to assets that are the Input settings. The InputSettings intances belong to a single RecorderSettings instance and their life time is tied to the owner RecorderSettings instance.
71
72
* This base class comes with universal setting fields that apply to all recorders.
72
73
* Instances of this class are stored as sub-assets of other assets. The parent asset varies depending on the situation (recorder window vs timeline for example).
73
74
* The system does NOT enforce a recorder to use a RecorderInputs. It’s just the prefered way of doing things.
@@ -81,20 +82,25 @@ Here are the classes that make up recorders and their inputs.
81
82
* The recorder needs to select an Input that listens on the display and outputs a RenderTexture.
82
83
* The selected Input is responsible for figuring out how to do that.
83
84
* Inputs, just like the recorders, get notified of events like BeginRecording, new frame, etc.
84
-
#### RecorderSettingsEditor
85
-
#### RecorderInput
86
85
#### InputSettings
86
+
* This is the base class for RecorderInput settings.
87
+
* Input settings live as persited sub-assets to a parent asset. The parent asset is situation dependent.
88
+
#### RecorderSettingsEditor
89
+
* Base class for implementing the editor window for the Recorder settings.
90
+
* The base class's OnGUI's implementation structures the layout of the editor in groups (Inputs, Outputs, Encoding, Time, Bounds).
91
+
* Specialized implementations are encouraged to minimize deviating from the default grouping, but if needed they can tweek a little or or du away with with the default behaviour alltogether.
92
+
* The default Input section will identify which inputs are to be configured for the recorder and invoke those InputSettings editors inplace.
87
93
#### InputSettingsEditor
88
-
89
-
### The Recorder Editor classes
90
-

94
+
* Base class for InputSettings editor.
95
+
* If no custom editor is provided for a given InputSettings class, a default one is provided.
0 commit comments