[System] Camera Booth / PIP System

In Jumplight Odyssey, we needed a way to render characters (both stills and playing animations) in the UI layer.

When I came onto the project, the bones of the Camera Booth system had been built, but it didn't yet support all of our requirements and we were getting a lot of camera booth specific bugs.

I did an almost complete rewrite of the Camera Booth system, as well as implementing support for many more features including:

  • Ability to have multiple camera booths rendering at the same time with a queueing system to massively speed up render times for things like the Manifest screen
  • Setting up a pooling system for character rigs used in Camera Booth
  • Support for all our existing timelines /playable directors and custom components, including looping PIPs
  • Support for variant poses/animations to be rendered based on character tags and seeds
  • Support for multiple characters in one shot
  • Support for timelines with animated backgrounds, static and rigged props, background images and VFX
  • Support for our non-humanoid rigs (pigs/robots/etc.)
  • Fixing lighting consistency and material property overrides
  • General maintenance and bug fixing throughout development

[Tool] PIP Previewer

Jumplight Odyssey makes heavy use of our Picture-in-Picture system.

To support content creation and speedy iteration time for animation an designers, I created a previewing tool so that we could review animations and PIP setups without having to run & trigger PIPs in-game.

The tool has a whole suite of options, and animators and designers can quickly load/edit/save existing PIPs at every level of the process.

This tool works in conjunction with Unity's Timeline system and supports all of our custom character rigs, held props, static props, animated background elements, lighting and VFX.


[Tool] Thumbnail Creator

When I joined the project, our poor designers were hand-making thumbnails for our hundreds of in-game buildable objects.

I was very happy to be able to give them a Thumbnail Creator, so they could very quickly load in new/existing buildable assets and preview/update/save out new thumbnails for objects with consistent lighting and angles.

The tool saves some extra configurable data specific to thumbnails including offsets/zoom levels/padding/etc. and also supports entirely custom cameras.