Skip to content

Commit 5564513

Browse files
committed
readme
1 parent b7982b1 commit 5564513

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

README.md

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,22 @@ Extensibility is a prim concideration and since not all use cases can be thought
66

77
Recorder types are detected at run time and made available to the recording framework dynamically.
88

9-
A key consideration is peoviding a uniform UX. By defining a standard pattern and basic classes, the framework can treat all recorders equally and display them consistently. This allows for a generic “recorder window” that is provided and takes care of configuring and starting a “recording session” from edit mode.
9+
A key consideration is providing a uniform UX. By defining a standard pattern and basic classes, the framework can treat all recorders equally and display them consistently. This allows for a generic “recorder window” that is provided and takes care of configuring and starting a “recording session” from edit mode.
1010

1111
Code reusability and easy of use for developers is also a prime consideration. As much as possible, modularization in a Lego mentality is promoted so that work done for one specific recorder, say MP4 recording, can be reused by an other type of recorder, say PNG or WAV recorders.
1212

1313
### Current limitations
1414
* Recorders are Player standalone friendly, but not the editors.
1515
* Framerate is set at the Recorder level which makes for potential conflict when multiple recorders are active simultaneously.
1616

17-
18-
1917
## Triggering a Recording
2018

2119
### Through the Editor's Record window
2220

2321
1. Select a type of recording and open the recorder window
2422

2523
![](docs/images/recorder-menu.png)
24+
2625
2. Edit the recorders settings
2726

2827
![](docs/images/RecorderWindow.png)
@@ -37,21 +36,23 @@ Note that this can be done from edit mode and from game mode...
3736
3. Add a "Frame Recorder clip" to the track.
3837
4. Select the newly added slip
3938
![](docs/images/TimelineTrack.png)
39+
4040
5. Edit the clip's settings
4141
![](docs/images/RecorderClip.png)
42+
4243
6. Enter play mode and trigger the timeline through behaviours...
4344

4445
## Design
4546

46-
### Conceptual blocks breakdown
47+
### Conceptual breakdown
4748
The Recording framework is composed of three conceptual groups:
4849

4950
![](docs/images/ConceptualBlocks.PNG)
5051
* **Recorders**: the part that takes data feeds (Inputs) and transform them into whatever format they want (Image input -> mp4 file). They do NOT deal with gathering the data from Unity: that is the Inputs task. Every recorder is broken down into three pieces: Recorder, Settings and Settings Editor.
51-
* **Inputs**: specialized classes that know how to gather a given type of data from unity and how to pre-package that data in a way that is ready from consumption by the Recorders. Like recorders, Inputs are borken down into three parts: Input, Setttings and Settings Editor.
52+
* **Inputs**: specialized classes that know how to gather a given type of data from unity and how to pre-package that data in a way that is ready for consumption by the Recorders. Like recorders, Inputs are borken down into three parts: Input, Setttings and Settings Editor.
5253
* **Support**: holds the FrameRecorder's logic, UI, timeline integration and services.
5354

54-
### Recorders and there Inputs
55+
### Recorders and their Inputs
5556
Here are the classes that make up recorders and their inputs.
5657

5758
![](docs/images/Recorders_and_inputs.PNG)
@@ -97,6 +98,17 @@ Here are the classes that make up recorders and their inputs.
9798
### Game mode classes
9899
![](docs/images/GameModeClasses.PNG)
99100

101+
#### RecordingSession
102+
* This is a helper class that is used to hold and carry around the contextual state of a recording session.
103+
* Is the time reference used by the recorders: Recorders should, as a general rule, never access the unity Time class.
104+
* Is responsible for informing the recorder of events (begin recording, new frame, etc.)
105+
* Contains:
106+
* Owns the recorder instance
107+
* Reference to the GameoObject that hosts the recorder
108+
* Current frame count (rendered, not recorded)
109+
* Current frame’s start time stamp relative to the start of the recording session.
110+
* Timestamp of when the recording session started.
111+
100112
### Timeline integration
101113
![](docs/images/TimelineClasses.PNG)
102114

docs/images/GameModeClasses.PNG

-8 KB
Loading

0 commit comments

Comments
 (0)