Skip to content

Commit b7982b1

Browse files
committed
readme
1 parent 9e19d33 commit b7982b1

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

README.md

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ The Recording framework is composed of three conceptual groups:
5555
Here are the classes that make up recorders and their inputs.
5656

5757
![](docs/images/Recorders_and_inputs.PNG)
58+
![](docs/images/EditorClasses.PNG)
5859

5960
#### Recorder:
6061
* 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.
6768
#### RecorderSettings
6869
* Each non-abstract recorder must provide a specialization of this class. This is where the recorders settings (output path, encoding settings, etc) are stored.
6970
* 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.
7172
* This base class comes with universal setting fields that apply to all recorders.
7273
* 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).
7374
* 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.
8182
* The recorder needs to select an Input that listens on the display and outputs a RenderTexture.
8283
* The selected Input is responsible for figuring out how to do that.
8384
* Inputs, just like the recorders, get notified of events like BeginRecording, new frame, etc.
84-
#### RecorderSettingsEditor
85-
#### RecorderInput
8685
#### 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.
8793
#### InputSettingsEditor
88-
89-
### The Recorder Editor classes
90-
![](docs/images/EditorClasses.PNG)
94+
* Base class for InputSettings editor.
95+
* If no custom editor is provided for a given InputSettings class, a default one is provided.
9196

9297
### Game mode classes
98+
![](docs/images/GameModeClasses.PNG)
9399

94100
### Timeline integration
101+
![](docs/images/TimelineClasses.PNG)
95102

96-
### Creating a new type of Recorder
97-
98-
### Creating a new Input
103+
## Example Recorder : PNG sequence
104+
![](docs/images/PNGRecorder.PNG)
99105

100106

0 commit comments

Comments
 (0)