INTRO
Momentum is a Cinema4D rig to output camera positional data in the StypeHF format over a network. This is aimed at the pre-production workflow when using disguise XR
BASICS
Momentum is packaged in a simple c4d project and consists of a Xpresso tag and a python script to output the data in the StypeHF format, not all of the StypeHF fields are sent by momentum we only send the following, packet number and time code omitted.
- Poz X,Y,Z
- Rotate X,Y Z
- FOV X
- Aspect Ratio (This is forced to 1.7777 this only works in HD)
- Focus (This is default to zero, momentum does not take into account zoom data)
- Zoom (This is default to zero, momentum does not take into account zoom data)
- K1 (This is default to zero, will be overridden by disguise)
- K2 (This is forced to zero, will be overridden by disguise)
- PA Width (This is default to 9.59 standard)
- Centre X (This is default to zero, momentum does not take into account zoom data)
- Centre Y (This is default to zero, will be overridden by disguise)
MOMENTUM First glance
The above screenshot shows what you will see when opening Momentum, this is a basic scene with a stage and some camera positions key framed in the timeline. After hitting play the tracking data will be transmitted and any changes updated in real time upon pressing stop the data will stop being transmitted.
Each packet is transmitted per frame so to adjust the packet rate please change the frame rate of your c4d project. Note that this is not explicitly locked to the frame rate so heavy scenes will experience a drop in frame rate but low poly scenes on a good computer will be smooth.
AXIS Rotation
This is tested to be compatible up to disguise release 17.3 (pending) and the XR Beta branch. The axis rotation order must be set to ZXY as shown in the screenshot below for disguise to pick up the data correctly and handle roll correctly.
Target Tag
Because of this axis order the Target Tag in cinema will behave strangely, I’m working on a fix for this as of 12/06/2020
Solution found for the target tag see below image and description 15/06/2020
To get the target tag to work correctly with the required Axis rotation you need to add in an “Up Vector” null. Make the Up Vector null child of your target null or object and position it 0.01 cm on the Y axis in relation to your target and add this to the target Up Vector field.
IP & Port Number
Clicking on the Xpresso tag will open up a window with the option to send the positional data to a specific IP address and port number. Please not this isn’t tested across large networks so if you experience any issues please feed back via the email at the end of this post
Credits
Thank you so much to the following people for help with coding beta testing and fault finding of momentum, without this teamwork non of this would have happened
Karl Bromage – Studio One Four
Andreas Culius – nocte designs
Rich Porter – The Hive & YouTube Channel
Scott Millar – Longer Days
Lewis Kyle White – LKW
DOWNLOAD MOMENTUM
Download Momentum from GitHub via the link below, any comments or issues please get in touch via andy(at)andy-coates(dot)com
https://github.com/andydenniscoates/momentum
Fantastic! this will be incredibly useful, looking forward to trying it. Thanks Andy
Thanks Ed, its been so useful for testing and pre-production since writing it and I’m really glad to share it with everyone. Let me know if you have any issues and any suggestions for future updates.
Best Andy
Super! Does it work through the network?
Hi Edgar, just seen this, yes the current version works over a network just like the Hardware Stype red spay
Hi, Thanks for this fantastic tool! Is there a Mo-Sys version of this?
Thanks Glen, hope its useful for you, its just StypeHF at the moment, might do a mosys one in the future
Thanks
Andy