This page provides information about the Tracking tab in Chaos Arena.
Camera tracking is described by a protocol and additional parameters for the protocol. There are also tracking offsets that specify the center point of the tracking system, and the center point of the tracker itself.
The currently supported protocols are:
Apart from the 3D camera position and orientation, FOV tracking is also supported for stYpe and EZtrack. It can change the inner frustum size dynamically, according to the current focal length of the camera lens.
The tracking origin in the scene is the pivot point of the projection geometry by default. The actual center point on the stage specified in the tracking system could be different. This is defined by the Tracking Origin Offset parameters in the configuration. Orientation offsets relative to the projection geometry can also be specified if needed. The tracking origin node option can also be used to control the origin in the scene.
The tracking system should ideally provide the position of the camera's entrance pupil point (often referred as the lens nodal point). The entrance pupil is a virtual point that's usually somewhere inside the lens and corresponds with the correct position of the virtual pinhole camera model. However, some tracking systems provide the camera sensor's position instead, or some other point relative to the actual tracker on the camera. This can be corrected using the Camera Offset parameters in the configuration. Orientation offsets of the tracker relative to the camera can also be specified if needed. Note that for stYpe and EZtrack this offset should not be needed.
|
Position and rotation offset of the tracking system relative to the current tracking origin in the configuration (the projection geometry or the tracking origin node if specified).
Position and rotation offset of the camera's entrance pupil and orientation from the tracker's center point and orientation.
Auto-Apply – If enabled, changes to the offsets, FOV, or the camera ID are applied immediately during rendering, without having to press the Apply Configuration button.
The coordinate system used for all offsets is (+X right, +Y forward, +Z up). Distances are in centimeters. Rotations are described as (pan, tilt, roll) in degrees. Positive pan angle corresponds to a pan to the right. Positive tilt angle corresponds to an upwards tilt. Positive roll angle corresponds to a clockwise roll when viewed from behind.
The OptiTrack integration is different from most of the others as it uses a third party library for connecting to a server - normally the OptiTrack Motive application. Most of the other protocols are just connectionless UDP listeners that open a network port and listen for data on it.
Also, OptiTrack is not specifically a camera tracking system, it's a full motion capture system. There are various types of objects tracked - skeletons, rigid bodies, force plates, markers and so on. Currently the objects implemented for camera tracking are rigid bodies. Each rigid body has a streaming ID set in the server. This streaming ID is used as a camera ID.
There seems to be a convention in OptiTrack that the coordinate system's forward direction points away from the screen (backwards when standing in front of the LED wall for example), not into the screen as most of the other systems. This usually causes the tilt and roll to be inverted, i.e. an upward tilt is interpreted as a downward tilt. It can be easily corrected by setting Pan 180 degrees for both the Camera Offset and the Tracking Origin Offset. This effectively rotates the entire coordinate system 180 degrees. Note however that all other offsets are still relative to the native coordinate system, meaning that the forward direction is looking away from the screen.
ConnectionType – Connection type (0 - multicast, 1 - unicast). Default - multicast.
ServerCommandPort – NatNet server command port. Default - 1510.
ServerDataPort – NatNet server data port. Default - 1511.
LocalAddress – IP address of the localhost where the client application is running. Determines the network to use for the connection to the server. Note that having the actual machine IP seems to be very important, otherwise it connects to the server but doesn't seem to receive data.
ServerAddress – IP address of the NatNet server application (normally Motive).
MulticastAddress – Multicast IP address, as specified in the NatNet server. Default - "239.255.42.99".
The Vicon integration is similar to OptiTrack - uses a third party library for connecting to a server - normally the Shogun application.
Vicon is also a full motion capture system. The subject names are used as camera IDs.
LocalAddress – IP address of the localhost where the client application is running. Determines the network to use for the connection to the server. Used for multicast connections.
ServerAddress – IP address of the DataStream server application (normally Shogun).
ServerPort – Port of the Vicon data stream server. Default - 801.
MulticastAddress – IP address of the multicast group.
MulticastPort – Port of the multicast group. Default - 44801.
LONET 2 contains many fields for camera and lens tracking. Currently the only data used by Arena is the Camera Transform Data - camera name, position, orientation, timecode.
The protocol is tested only with the Lightcraft Jetset app.
The protocols are implemented as plugins and the JSON configuration files store the plugin ID of the selected protocol:
"2023120817" – stYpe
"2023120818" – FreeD
"2024020512" – EZtrack
"2024031564" – OptiTrack