Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
## [4.0.0-pre.4] - 2022-04-19
### Added
- GIF Encoder for the Movie Recorder.
- Accumulation based shadow map filtering for Spot Lights, improving the quality of rendered shadows.
- New option to apply Subpixel Jitter Antialiasing when recording with Accumulation (in HDRP).
- PIZ compression for EXR image sequences.

### Changed
- Remove support for CentOS.
- Allow audio recording while using the Movie Recorder's accumulation feature.
- Improvements to the Accumulation UI parameters:
  - Specify the shutter interval as a normalized interval or an angle.
  - Specify the number of accumulation samples without a maximum limit, directly through a value field.
  - Get the actual count of accumulated frames resulting from the shutter profile convolution.
- Prevent users from recording in odd resolutions with ProRes packed pixel format codecs (e.g. 422HQ).
- Movie Recorder no longer uses the Sync GPU readback code path.

### Fixed
- Improved performance for ProRes encoding.
- Fix an issue that prevented the alpha component from being correctly recorded.
- Make sure to generate high bitrate audio tracks when using custom quality encoding in the Unity Media Encoder.
- Make sure the duration of recordings is accurate when capturing accumulation with time intervals in seconds.
- Make sure the CapFPS setting remains reliable when the recording session includes multiple active Recorders.
- Refresh the asset database after recording an image sequence to the Assets folder.
- Prevent users from recording if the Recorder Window combines active recorders with and without accumulation.
- Prevent the Recorder Window from throwing errors when selecting an invalid Encoder.
  • Loading branch information
Unity Technologies committed Apr 19, 2022
1 parent cf85b59 commit b3117c2
Show file tree
Hide file tree
Showing 109 changed files with 2,544 additions and 550 deletions.
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,39 @@ All notable changes to this package will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [4.0.0-pre.4] - 2022-04-19
### Added
- GIF Encoder for the Movie Recorder.
- Accumulation based shadow map filtering for Spot Lights, improving the quality of rendered shadows.
- New option to apply Subpixel Jitter Antialiasing when recording with Accumulation (in HDRP).
- PIZ compression for EXR image sequences.

### Changed
- Remove support for CentOS.
- Allow audio recording while using the Movie Recorder's accumulation feature.
- Improvements to the Accumulation UI parameters:
- Specify the shutter interval as a normalized interval or an angle.
- Specify the number of accumulation samples without a maximum limit, directly through a value field.
- Get the actual count of accumulated frames resulting from the shutter profile convolution.
- Prevent users from recording in odd resolutions with ProRes packed pixel format codecs (e.g. 422HQ).
- Movie Recorder no longer uses the Sync GPU readback code path.

### Fixed
- Improved performance for ProRes encoding.
- Fix an issue that prevented the alpha component from being correctly recorded.
- Make sure to generate high bitrate audio tracks when using custom quality encoding in the Unity Media Encoder.
- Make sure the duration of recordings is accurate when capturing accumulation with time intervals in seconds.
- Make sure the CapFPS setting remains reliable when the recording session includes multiple active Recorders.
- Refresh the asset database after recording an image sequence to the Assets folder.
- Prevent users from recording if the Recorder Window combines active recorders with and without accumulation.
- Prevent the Recorder Window from throwing errors when selecting an invalid Encoder.

## [4.0.0-pre.3] - 2021-11-01
### Added
- Added a new "Encoder" drop down with the Unity Media Encoder and ProRes Encoder.
- Added a new public Encoder API to allow users to create their own Encoders for seamless integration into the Movie Recorder.
- Added a new "Custom" quality for the Unity Media Encoder, with different options for H.264 MP4 and VP8 WebM.
- Support accumulation feature in Timeline Recorder Clips.

### Changed
- Updated minimum required Unity Editor version to 2022.1.
Expand Down
Binary file modified Documentation~/Images/AOVRecorderWindow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/AccumulationProperties.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/BtnRecord.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/CaptureOptions360View.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/CaptureOptionsGameView.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/CaptureOptionsRenderTextureAsset.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/CaptureOptionsTargetedCamera.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/CaptureOptionsTextureSampling.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/IconPreset.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file removed Documentation~/Images/Icon_
Empty file.
Binary file modified Documentation~/Images/OutputFileProperties.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/RecorderAnimation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/RecorderAudio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/RecorderClip.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/RecorderImage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/RecorderList.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/RecorderMovie.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/RecorderReveal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/RecorderWindow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/RecordingControls.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/TimelineRecorderTrack.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation~/Images/ref-window-preferences-recorder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 6 additions & 3 deletions Documentation~/InclCaptureOptionsAccumulation.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,17 @@ Enable the **Accumulation** feature to [render multiple sub-frames](https://docs
>* Your project must use [HDRP (High Definition Render Pipeline)](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@latest).
>* You can only select **Game View** or **Targeted Camera** as the **Source** for the recording.
>* You can only use one active Recorder at a time when you capture accumulation.
>* You cannot enable the Accumulation feature through a Recorder Clip (in Timeline).
![](Images/AccumulationProperties.png)

|Property||Function|
|:---|:---|:---|
| **Samples** || The number of sub-frames to capture and accumulate between two subsequent frames. |
| **Shutter Interval** || The portion of the interval between two subsequent frames in which the Recorder actually applies the specified **Shutter Profile**.<br/><br/>• A value of 1 applies the shutter profile to the whole interval between the two frames.<br/>• A value of 0 disables the shutter and the accumulation.<br/>• Any value in between proportionally rescales the shutter profile and makes the shutter remain closed for the rest of the interval to the next frame. |
| **Samples** || The number of sub-frames to capture and accumulate between two subsequent frames.<br/><br/>Depending on the specified **Shutter Interval**, the **Effective number of accumulated samples** might be lower than the value you specify here. |
| **Shutter Interval** || The portion of the interval between two subsequent frames in which the Recorder actually applies the specified **Shutter Profile**.<br/><br/>Select **Normalized** or **Angle** according to your preferred way to specify the value.<br/><br/>• The maximum value applies the shutter profile to the whole interval between the two frames.<br/>• A value of 0 disables the shutter and the accumulation.<br/>• Any value in between proportionally rescales the shutter profile and makes the shutter remain closed during the rest of the interval to the next frame. |
| | Normalized | Lets you define a portion of the interval using a value normalized to the interval's full length (between 0 and 1). |
| | Angle | Lets you define a portion of the interval using an angle value (between 0 and 360 degrees). |
| **Shutter Profile** || Allows you to define a custom response profile that simulates the physical motion of a camera shutter at each frame when the Recorder captures the sub-frames. |
|| Range | Select this type to use a trapezoidal shutter profile.<br/>Specify two values to define the time range in which the shutter remains fully open.<br/><br/>• The values, between 0 and 1, are relative to the full length of the shutter profile.<br/>• The shutter opening and closing portions (from 0 to the first value, and from the second value to 1) are linear.|
|| Curve | Select this type to use an animation curve as the shutter profile.<br/>[Select or draw a curve](https://docs.unity3d.com/Manual/EditingCurves.html) according to your needs. |
| **Anti-aliasing** | | Enables subpixel jitter anti-aliasing. |
| **Effective number of accumulated samples** | | Displays the actual number of samples to be effectively accumulated from the specified number of **Samples**, according to the specified **Shutter Interval**. |
8 changes: 1 addition & 7 deletions Documentation~/KnownIssues.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This page lists some known issues and limitations that you might experience with

**Limitation:** The Unity Editor playback process might substantially slow down if you perform concurrent recordings with multiple Movie Recorders, particularly with large image resolutions (full HD or higher).

**Workaround:** The recommended use case is to limit yourself to one Movie recording at a time. Ensure that you have only one active Movie Recorder in the Recorder window and no Movie Recorder Clips in Timeline, or vice-versa. If you need to keep concurrent recordings for some reason, you can still set up lower resolutions or try different encoders (for instance, the MP4 encoding step is much faster than the ProRes one).
**Workaround:** The recommended use case is to limit yourself to one Movie recording at a time. Ensure that you have only one active Movie Recorder in the Recorder window and no Movie Recorder Clips in Timeline, or vice-versa. If you need to keep concurrent recordings for some reason, you can still set up lower resolutions or try different encoders.

#### ActiveCamera recording not available with SRPs

Expand All @@ -24,12 +24,6 @@ This page lists some known issues and limitations that you might experience with

**Limitation:** The Movie Recorder doesn't support H.264 MP4 and ProRes QuickTime encoding on Linux.

#### GIF Animation Recorder no longer available

**Limitation:** This version of the Recorder no longer includes the GIF Animation Recorder, although it is still available in Recorder versions 2.5 and lower.

**Workaround:** To produce a GIF animation, record your content with the [Image Sequence Recorder](RecorderImage.md) and then process the result through any external GIF animation software.

#### Limited support of AA/TAA in AOVs

**Limitation:** The Beauty AOV is the only AOV that you can currently record with Anti-Aliasing (AA) / Temporal Anti-Aliasing (TAA) enabled on your recording camera.
Expand Down
4 changes: 2 additions & 2 deletions Documentation~/OutputFileProperties.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ The **+Wildcards** menu helps you quickly append them to the file name string, b
| `<Date>` | The date the recording is generated. Uses the `yyyy-MM-dd` format. | `2020-11-03` |
| `<Extension>` | The file extension of the output format (without the period). | `png` |
| `<Frame>` | The current frame number. Uses the `0000` format.<br/><br/>This is useful for Image Sequence Recorders which output each frame as a separate file. | `0154` |
| `<GameObject>` | The name of the [**GameObject** targeted for recording](RecorderAnimation.md#capture). | `My GameObject` |
| `<GameObjectScene>` | The name of the Scene containing the [**GameObject** targeted for recording](RecorderAnimation.md#capture). | `My Scene` |
| `<GameObject>` | The name of the [**GameObject** targeted for recording](RecorderAnimation.md#input). | `My GameObject` |
| `<GameObjectScene>` | The name of the Scene containing the [**GameObject** targeted for recording](RecorderAnimation.md#input). | `My Scene` |
| `<Product>` | The value of the [Product Name](https://docs.unity3d.com/Manual/class-PlayerSettings.html#ProductName) field from Unity's Player General Settings. | `My Product` |
| `<Project>` | The name of the current Unity Project. | `My Project` |
| `<Recorder>` | • In Recorder window: the Recorder name from the Recorder list.<br />• In Timeline track: the name of the Recorder clip. | `My Recorder` |
Expand Down
11 changes: 6 additions & 5 deletions Documentation~/RecorderAOV.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ This page covers all properties specific to the AOV Image Sequence Recorder type
![](Images/AOVRecorderWindow.png)

The AOV Recorder properties fall into three main categories:
* [Capture](#capture)
* [Format](#format)
* [Input](#input)
* [Output Format](#output-format)
* [Output File](#output-file)


## Capture
## Input

Use this section to define the source and the content of your recording. It includes settings to select the [AOV to export](#aov-to-export), select the [source camera](#source-camera) to use for the recording, and adjust other properties of the [recorded view](#recorded-view).
Use this section to define the source of your recording. It includes settings to select the [AOV to export](#aov-to-export), select the [source camera](#source-camera) to use for the recording, and adjust other properties of the [recorded view](#recorded-view).

### AOV to Export

Expand Down Expand Up @@ -79,7 +79,7 @@ Set the dimensions and other properties of the recorded view.
| | Custom | Uses custom aspect ratio that you supply in the displayed fields (w:h). |


## Format
## Output Format

Use this section to set up the media format you need to save the recorded images in.

Expand All @@ -94,6 +94,7 @@ Use this section to set up the media format you need to save the recorded images
| | None | Disables all compression. |
| | Zip | Applies deflate compression to blocks of 16 scanlines at a time.<br/>This is the default selection. |
| | RLE | Applies [Run-length encoding](https://en.wikipedia.org/wiki/Run-length_encoding) compression. |
| | PIZ | Applies [wavelet](https://en.wikipedia.org/wiki/Wavelet_transform#Wavelet_compression) compression. |


## Output File
Expand Down
10 changes: 5 additions & 5 deletions Documentation~/RecorderAnimation.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ This page covers all properties specific to the Animation Clip Recorder type.
![](Images/RecorderAnimation.png)

The Animation Clip Recorder properties fall into three main categories:
* [Capture](#capture)
* [Format](#format)
* [Input](#input)
* [Output Format](#output-format)
* [Output File](#output-file)

## Capture
## Input

Use this section to define the source and the content of your recording.
Use this section to define the source of your recording.

|Property||Function|
|:---|:---|:---|
Expand All @@ -31,7 +31,7 @@ Use this section to define the source and the content of your recording.
>[!NOTE]
>The Animation Clip Recorder can only record a GameObject in the current Scene. It cannot record GameObjects in other Scenes.
## Format
## Output Format

The Animation Clip Recorder always generates an animation clip in the .anim file format.

Expand Down
4 changes: 2 additions & 2 deletions Documentation~/RecorderAudio.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ This page covers all properties specific to the Audio Recorder type.
![](Images/RecorderAudio.png)

The Audio Recorder properties fall into two main categories:
* [Format](#format)
* [Output Format](#output-format)
* [Output File](#output-file)

## Format
## Output Format

Use this section to set up the media format you need to save the recorded images in.

Expand Down
15 changes: 8 additions & 7 deletions Documentation~/RecorderImage.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ This page covers all properties specific to the Image Sequence Recorder type.
![](Images/RecorderImage.png)

The Image Sequence Recorder properties fall into three main categories:
* [Capture](#capture)
* [Format](#format)
* [Input](#input)
* [Output Format](#output-format)
* [Output File](#output-file)

## Capture
## Input

Use this section to define the source and the content of your recording.
Use this section to define the source of your recording.

|Property||Function|
|:---|:---|:---|
Expand Down Expand Up @@ -46,22 +46,23 @@ Use this section to define the source and the content of your recording.
### Accumulation properties
[!include[](InclCaptureOptionsAccumulation.md)]

## Format
## Output Format

Use this section to set up the media format you need to save the recorded images in.

|Property||Function|
|:---|:---|:---|
| **Media File Format** || The file encoding format.<br/><br/>Choose **PNG**, **JPEG**, or **EXR** ([OpenEXR](https://en.wikipedia.org/wiki/OpenEXR)). The Recorder encodes EXR in 16 bits. |
| **Include Alpha** || Enable this property to include the alpha channel in the recording. Disable it to only record the RGB channels.<br/><br/>This property is not available when the selected **Media File Format** doesn't support transparency, or when **Capture** is set to **Game View**. |
| **Include Alpha** || Enable this property to include the alpha channel in the recording. Disable it to only record the RGB channels.<br/><br/>This property is not available when the selected **Media File Format** doesn't support transparency, or when the **Source** is set to **Game View**. |
| **Color Space** | | The color space (gamma curve and gamut) to use in the output images. |
| | sRGB, sRGB | Uses sRGB curve and sRGB primaries. |
| | Linear, sRGB (unclamped) | Uses linear curve and sRGB primaries.<br/>This option is only available when you set the **Format** to **EXR**.<br/><br/>**Important:** To get the expected unclamped values in the output images, you must:<br/><br/>• Disable any Tonemapping post-processing effects in your Scene (menu: **Edit > Project Settings > HDRP Default Settings** and deselect **Tonemapping**) and in any Volume that includes a Tonemapping override (select the Volume, navigate in the Inspector and deselect **Tonemapping** if present).<br/><br/>• Disable **Dithering** on the Camera selected for the capture (in the Inspector, navigate to **General** and deselect **Dithering**). |
| | Linear, sRGB (unclamped) | Uses linear curve and sRGB primaries.<br/>This option is only available when you set the **Media File Format** to **EXR**.<br/><br/>**Important:** To get the expected unclamped values in the output images, you must:<br/><br/>• Disable any Tonemapping post-processing effects in your Scene (menu: **Edit > Project Settings > HDRP Default Settings** and deselect **Tonemapping**) and in any Volume that includes a Tonemapping override (select the Volume, navigate in the Inspector and deselect **Tonemapping** if present).<br/><br/>• Disable **Dithering** on the Camera selected for the capture (in the Inspector, navigate to **General** and deselect **Dithering**). |
| **Quality** | | The JPEG encoding quality level. <br/>This property is only available when you set the **Media File Format** to **JPEG**. |
| **Compression** | | The EXR compression method to apply when saving the data. <br/>This property is only available when you set the **Media File Format** to **EXR**. |
| | None | Disables all compression. |
| | Zip | Applies deflate compression to blocks of 16 scanlines at a time.<br/>This is the default selection. |
| | RLE | Applies [Run-length encoding](https://en.wikipedia.org/wiki/Run-length_encoding) compression. |
| | PIZ | Applies [wavelet](https://en.wikipedia.org/wiki/Wavelet_transform#Wavelet_compression) compression. |

## Output File

Expand Down
Loading

0 comments on commit b3117c2

Please sign in to comment.