Virtual Camera Stage Support Tools

Dear Save Op(2024)
Wētā API, PyQt
Motioinbuilder
Developed an automation tool for Stage Operators to enhance on-set workflow efficiency and human-to-human communication.
Key Achievements:
-
Automated the querying of individual item names and properties in Scene Description.
-
Automated wrapping and formatting data into predefined text layouts provided by the Save Operator(dependency).
-
Automated dispatching notifications through Ops systems and Slack message
-
Successfully consolidated high-frequency daily Stage-to-Save communications into a single-button workflow.

Dear Brainbar(2025)
Wētā API, PyQt
Motioinbuilder
Developed a standardization tool for Stage Operators to build a rigid scene prep template utilizing Sets in Scene Description and automate following tasks. "DearBrainBar" generates structured log strings parsed from user inputs interactively, tracking a strict sequential pipeline that have been the Stage Operator protocol: Delivery > Diagnosis > Pass01:Sorting > Pass02:Optimization > Pass03:QC.
Key Achievements:
-
Enhanced legacy scripts by adding comprehensive and specific queries derived from the Stage Operators' needs.
-
Engineered two new visualization utilities for QC process
— Camera Frustum tool and Import Image Plane tool — that have been requested for a long time.


For Camera Frustum tool, I published a custom rig first featuring a calibrated pyramid driven by live expression evaluations.
Key Achievements:
-
Converted live-action film language into mathematical programming.
-
User-friendly design to easily increment the distance (+Z) from camera by dragging a constrained and bi-directionally synchronized locator.
Being dragged towards or away from the camera, the pyramid gets scaled along the Z-axis, while a linked expression automatically drives the inverse proportion of the X and Y scales to keep the pyramid fitted to the viewport resolution and film back ratio. -
By utilizing the pyramid mechanism described above, the tool provides 8-corner matrix frustum that can alternate a legacy bounding box.
With two pyramids designated each as foreground and background, each matching pyramid matrix can draw a linear line trace between the minimum and maximum coordinates, resulting in a fully dimensioned 8-corner frustum fit to the pyramids. Stage Operators could query the in--camera assets specifically by checking if the center pivot position of an asset is more than min and less than max range of frustum corner matrices. Tested to be more accurate than the bounding box matrices of pyramid, as they are intended to be uniform cubes at all times - it would falsely conclude assets that are not in-camera as within range, whereas 8-corner is synchronized with the camera field of view. -
By automation, the tool inspects either selected assets, or the entire Workspace into three Set membership;
1. Assets placed between the camera lens and the foreground pyramid
2. Assets placed within the 8-corner frustum
3. Assets placed beyond the background pyramid.
All members are in-camera. The tool is designed for Stage Operators to strategically execute optimization based on the result.



Meanwhile Import Image Plane tool implements a built-in MotionBuilder video texture projection of an image sequence to the viewport along with the custom Heads Up Display designed for the pipeline.
Key Achievements:
-
Automated conversion of .mov video files into .jpg image sequences by using video software(rv)
-
Added a user-friendly opacity slider interface for an easy A/B QC process. The discrepancy was well spotted such as missing assets, difference of lights and textures.
Tsaheylu(2026)
Wētā API, PyQt
Maya




Developed an asset ejection tool to transfer proprietary Wētā assets into the host application, Maya for internal Unreal Engine training purposes.
Key Achievements:
-
Automated user actions: Eject > Copy & Repath texture files > Export FBX > Reject.
-
Enabled multiple asset selection and automated Scene Description iteration.
-
Enabled options to either bake World Space animation or compensated animation(=aka. Relative Bakes) by constraining the target to a user-selected object.
This tool was specifically built for future Unreal Engine users to prototype Static Meshes, Skeletal Meshes, and Animation Sequences. Further in development, I pair-programmed with a Senior Unreal Engine TD to automate withdrawing JSON files of all parameters from legacy shaders and creating a Master Material based on them, by sending a d-bus signal from Maya to Unreal Engine.
Techvis Support Tools

Personal documentation from Techvis on-boarding
File Sync and Status Check (2024)
EFA is Techvis supervisor Casey's proprietary tool for ejecting server assets into the host program. Given Techvis's responsibility to investigate all potential animations for live-action shoots, the department faced substantial prep-stage workloads that could benefit significantly from automation.
Leveraging my understanding of the Techvis pipeline, I debugged and customized pre-existing scripts while developing additional functionality to streamline information transfer to the supervisor. The enhanced script performs the following operations:
-
Parses .json files to extract required information for .csv generation
-
Validates file presence on disc and marks status accordingly
-
Generates email-formatted sync requests for missing files
-
Checks storage systems to determine processing status (export/re-export/process)
This project required comprehensive understanding of inter-departmental dependencies, including Art/Construction ↔ Techvis workflows and Techvis ↔ Camera/Grips/MotionBase coordination, while maintaining alignment with the Director's creative vision.
Relative Bakes (2024)

Virtual camera animations are pre-emptively created as guide templates before physical on-set shooting. However, crews often encounter unrealistic CG data that cannot be replicated under real-world conditions—such as excessive speeds beyond current grip capabilities or risky boat motions that could endanger aerial stunt performers.
To address these constraints, Techvis department developed a solution that adjusts both camera and object animations while maintaining their relative relationships. The tool preserves the visual integrity of animation timing by:
-
Analyzing keyframe data relationships between cameras and animated objects
-
Creating constrained dummy locators that bake the adjusted animation data
-
Establishing new parent-child hierarchies where dummy locators become the new parents
-
Maintaining original animation appearance while enabling practical execution
This approach allows Techvis to "marry" both virtual and physical requirements, ensuring animations remain visually consistent while becoming physically achievable on set. The tool was developed for Maya integration and represents a critical workflow solution for bridging the gap between virtual pre-visualization and live-action execution.
Recreating the script provided a cornerstone lesson from my Techvis experience to find the intersection of creative vision and practical filmmaking constraints.