Playbook

Playbook was a "game" engine designed for making prototype UI/interactions for VR developers and previsualization for film directors.
It featured a comprehensive animation and logic suite, and was cross platform multiplayer. Users could edit scenes together on web and VR.

Playbook has since rebranded to a generative AI solution, which is when I quit the company. Below are my responsibilities on the original tool.

You can use the new tool here.
The original product is no longer available; you can still get it at Meta Quest AppLab, but it requires an account. The web version is discontinued.

Responsibilities

At Playbook, I was one of the primary developers on the engine. I worked on core features such as rendering, object handling, animation, and more.

I was responsible for rewriting the entire app around this multiplayer compliant animation tool. The video above shows the first working iteration of the tool.

On top of adjusting object transforms, the tool could select and interpolate skeletal animations from models imported via FBX or GLTF/GLB. I was also responsible for writing the code that allowed this FBX and GLTF integration.

Experience the next generation of spatial storytelling at https://t.co/OuG3nFTzpN

๐Ÿ•น๏ธ Collaborative 3D composition
๐Ÿคนโ€โ™€๏ธ keyframed Animations
๐Ÿ“ฝ๏ธ Virtual Cameras in XR
โœจ Real-time AI preview pic.twitter.com/d9fHD3Yy32

— Playbook ๐Ÿช„๐ŸŽจ (@playbook3d) November 29, 2023

This Twitter video shows the animation functinality, multiplayer functionality, and cameras.
The camera was my first task at Playbook, and allows you to record video. I used a C# wrapper of FFmpeg to compile renders of each frame and audio recording into an exported MP4 file.
The camera object itself can be keyframed and animated, which allowed for dynamic shots and videos.

On top of these major features, I was responsible for maintaining the engine itself, fixing bugs and adjusting elements to be able to handle new features.

My final task at Playbook involved setting up a completely custom rendering engine in WebGL for the purpose of the new AI tool. Our system is able to take screenshots of every rendered frame of multiple different render passes (color, light, normal, mask, outline, depth). This feature forms the core functionality of the final product, with the entire new engine being built around it.