This Unity Recorder plugin captures an image sequence at a higher resolution than the maximum texture size. Want to output your scene at 100,000 x 100,000 pixels? You got it friend.
To do this it divides the camera's projection matrix into tiles and saves the renders as individual images to stitch together.
At present this stitching operation is left up to you (but see "Image Stitching" below for recommendations).
Add this package to your project using the Unity Package Manager (UPM).
You can also clone this repository and point UPM to your local copy. Do this if you want to modify the source code.
Recorder spits out multiple images per frame, one for each "tile". By default
these are named image_<Frame>_<Tile Row>-<Tile Column>.png
, e.g.
image_0003_01-01.png.
ImageMagick is one option to stitch the image tiles together into a final image.
# Stitches together a frame of two columns.
montage -mode concatenate -tile 2x *.png out.png
To run this automatically, enter the absolute path to the executable in the
"Stitch Command" field and its arguments (i.e. -mode ...
) in "Arguments". For
example, if you install ImageMagick on macOS using Homebrew, enter
/usr/local/bin/montage
as the command.
The arguments can contain the same wildcards as the file name. Use these to
specify the frame, rows, and columns, e.g. -mode concatenate -tile <Columns>x image_<Frame>*.png <Frame>.png
.
Dividing a projection matrix into tiles and stitching together the results works poorly with post-processing effects. Vignette, for example, gets applied after the camera renders and leaves noticeable seams where the edges meet.
For best results, turn off all screen space effects.