Example Pipeline
Please keep that in mind, the example you are going to proceed with is based on our R&D studio. Various aspects might differ from your setup. If you have any further questions, do not hesitate to contact our Support Department.
Preliminary Preparation
- Prepare your scene, launch it via Reality Hub Launcher module.
- Drag & drop the
UE5
processing node into Nodegraph canvas. - Create two Reality Cameras. See Actor Spawning.
- Add
AJAIn
andAJAOut
nodes, select your devices and outputs based on your setup. - Create your Track node. (In our example it will be the
Xync
Node)
Modifying Curve XR Node
- Add
Curve XR
node to the canvas. - Change the following properties based on your measurements: Pitch Angle, Cell Width, Cell Height, Columns Count, Rows Count, Left Tilt/Roll and Right Tilt/Roll, Height Offset, Left Point and Right Point, Cell Resolution, Canvas Resolution.
- Duplicate the modified
Curve XR
node. - Connect the
RealityCamera0.Scene
output of theUE5
node toInner Frustum View
of theCurve XR
node. - Connect the
RealityCamera1.Scene
output of theUE5
node toOuter Frustum View
of theCurve XR
node.
Preparing Inner Frustum Track
- Create
Add Track
node. - Connect the
Track
output ofXync
node to theX
input of theAdd Track
node.
To address a delay in the Inner Frustum at certain zoom levels, which causes a collision with the outer frustum, we must provide additional FOV input for tracking. Our example requires an additional 10-degree field of view (FOV).
This delay is inherent to the tracking process and rendering of the inner frustum.
- Expand the
Y
property and change theFOV
property to 10. - Connect the
Z
output of theAdd Track
node intoInner Frustum Track
input pin of theCurve XR
node.
Pan, tilt, and roll can now be performed independent of zoom level without causing collisions.
Preparing Outer Frustum Track
- Create a
Break
node. - Connect the
Track
output ofXync
node intoBreak
node’sInput
pin. Now we have access to Track data. For more details, see Dynamic Nodes. - Create a
Make Track
node. - Connect every
Break Track
node’s output to the matching inputs of theMake Track
node, except forRotation
andfov
pins.
Inner Frustum rendered based on where the camera is looking and what is its resolution. On the other hand, the Outer Frustum render continues even if the camera is looking towards a different direction than the LED Screen, because the main purpose of it is to illuminate the scene and talent.
No matter what zoom level you are in, Outer Frustum must always encompass the LED screen, therefore Outer Frustum’s FOV must be fixed.
In the following steps, you need to get the Rotation and FOV data from your Track while framing the LED screen with your studio camera and keeping the zoom level zero, but the driver still will be the Inner Frustum, the first Track Node we added.
Now:
- Frame the LED screen with your studio camera and keep the zoom level at zero, as illustrated above.
- Create an
Add f32
node. - Connect the
fov
output of theBreak
node into theX
input of theAdd f32
node. - Connect the
Z
output of theAdd f32
node to thefov
input of theMake Track
node.
Now we have the FOV value in the full zoom out while our camera is framing the LED screen. On the other hand, the driver still will be the Inner Frustum. Therefore, we need to disconnect the X
output of the Add f32
node from the fov
.
- Disconnect the
fov
output of theBreak
node from theX
input of theAdd f32
node.
As the above image suggests, Outer Frustum is rendering with 97 FOV. We need to increase the FOV X
and Y
by 30 degrees to compensate. With this change, Outer Frustum will project the image onto LED screen with 127 degrees to encompass the LED screen.
- Create an
Add vec3
node and connect itsZ
output toRotation
input of theMake Track
node. - Connect the
rotation
output pin of theBreak Track
toX
input of theBreak
node. - Disconnect the
Z
output of theAdd vec3
node to thefov
input of theMake Track
node. - Connect the
Canvas
output of theCurve XR
node toAJAOut
, as illustrated above.
Our scene is successfully projected on the Curved LED.