Creating Graph Network
In this section, we'll create a node network.
-
Launch Project and Add UE5 Node:
- Launch your desired project.
Adding UE5 Node to Canvas - Add a
UE5
node to the nodegraph canvas. - Navigate to the Nodes panel and select UE5.
Spawning Reality Camera & Reality Track Billboard - Go to the Properties panel and click on the
Spawn Reality Camera
andSpawn Reality Tracked Billboard
functions.
-
Add AJAIn and AJAOut Nodes:
- Add
AJAIn
andAJAOut
nodes.
AJA Nodes with their Selected Details - Select your device details.
- Add
Adding Track Sources
- Add Tracking Nodes:
- Add your talent tracking and camera tracking nodes to the canvas. In our example, we use the
Xync
node for camera tracking and theFreeD
node for talent tracking.
- Add your talent tracking and camera tracking nodes to the canvas. In our example, we use the
- Enable your tracking nodes by clicking on the
Enable
property under theDefault
property group and define yourUDP Port
.
- Connect Tracking Nodes:
- Connect the
Track
output pin of theXync
node to theTrack
input of theUE5
node. - Connect the
Scene
output pin of theUE5
node toSource
input pin of theAJAOut
node. This connection lets you run the nodegraph and verify the Unreal scene and AJA input. - Use the Advanced Preview Monitor on the
AJAIn
node'sOutput
pin to check if you're receiving the correct signals.
- Check each track node for data flow by using Property Watch Panel. If corresponding nodes shows all zeros, re-check and verify your port number, track network connection, or device.
- Use Break Nodes:
- Add two
Break
nodes. - Connect the
Track
outputs to your track nodes (In our case it is Xync and FreeD) into their Input pins. This extracts all data from the track nodes.
- Rename break nodes for better organization (e.g.,
Xync Break
for camera tracking andFreeD Break
for talent tracking).
- Add Undistort Node:
- Add an
Undistort
node. - Connect the
Output
pin of theAJAIn
node to theIn
input pin of theUndistort
node. - Connect the
Lens Distortion
output of theXync
node to theDistortion
input of theUndistort
node.
Cyclorama and Keyer
- Add Cyclorama Node:
- Add a
Cyclorama
node to the nodegraph canvas. - Connect the
Track
output pin of theXync
node to theCyclorama
node'sTrack
input. - Connect the
Out
pin of theUndistort
node to theVideo
input pin of theCyclorama
node.
info
At this point, make sure that there's no talent in your physical cyclorama since next steps involves taking clean plate.
-
Configure Cyclorama:
- Modify the
Cyclorama
node's properties based on your studio setup (e.g., Geometry and Smoothness).
- Modify the
- Capture a clean plate by clicking on the
Add Projection
function.
- Add Distort Nodes:
- Add two
Distort
nodes to the nodegraph canvas. - Rename
Distort
nodes for better organization (e.g., Cyclorama Render Distort and Cyclorama Mask Distort). - Connect the
Render
output pin of theCyclorama
node to theCyclorama Render Distort
node. - Connect the
Mask
output pin of theCyclorama
node to theCyclorama Mask Distort
node. - Connect the
Xync Break
node'sLens Distortion
output to theDistortion
input of bothCyclorama Distort
nodes.
- Add Reality Keyer Node:
- Add a
Reality Keyer
node to the canvas. - Connect the
AJAIn
node'sOutput
pin to theReality Keyer
'sInput
pin. - Connect the
Cyclorama Render Distort
node'sOut
output pin to theClean Plate
input pin of theReality Keyer
node. - Connect the
Cyclorama Mask Distort
node'sOut
output pin to theClean Plate Mask
input pin of theReality Keyer
node.
Exposing Engine Properties as Inputs
- Expose Reality Camera Properties:
- Select the UE5 from the Nodes section, expand Reality Actors > Reality Camera, and select FlyOffset.
- Go to the Properties panel, expand the
Default
property group. - Right-click on the
Relative Location
and select Show as input. - Right-click on the
Relative Rotation
and select Show as input.
Your UE5
node should look like in the image above.
Casting with Dynamic Nodes
- Cast Talent Location:
- Go to the
FreeD Break
node, left-click and hold your mouse over theLocation
output pin, then drag and drop it to open the Node Creation Menu. - Find vec3 to vec3d and select it. This creates a
vec3 to vec3d
node. - Connect the
vec3d
output pin of thevec3 to vec3d
node to theTalent Loc
input pin of theUE5
node. This allows the Tracked Billboard to receive X, Y, Z location data from your talent tracking (in our case, theFreeD
node).
- Create Rotation Offset:
- Add a
Make
node to the canvas and rename it as Rotation Offset. - Connect the
Output
pin of theRotation Offset
node to theRelative Rotation
input of theUE5
node. This allows offsetting the relative rotation of the Reality Camera's pan, tilt, and roll. TheRotation Offset
node'sX
property represents roll,Y
represents tilt, andZ
represents pan.
- Create Location Offset:
- Add a
Make
node to the canvas and rename it asLocation Offset
. - Connect the
vec3
output pin of theLocation Offset
node to theRelative Location
input of theUE5
node. This allows offsetting the relative location of the Reality Camera. TheLocation Offset
node'sX
property represents the X direction,Y
represents the Y direction, andZ
represents the Z direction.
Tracked Talent Fly Node
- Add Tracked Talent Fly Node:
- Add a
Tracked Talent Fly
node to the canvas. - Add an
Undistort
node to the nodegraph canvas and rename it as Keyer Undistort. - Connect the
Lens Distortion
output pin of theXync Break
node toDistortion
input of theKeyer Undistort
node. - Connect the
Output
pin of theReality Keyer
node toIn
input pin of theKeyer Undistort
node. - Connect the
Output
pin of theReality Keyer
node toVideo
input of theTrackedTalentFly
node. - Connect the
Out
pin of theKeyer Undistort
toUndistortedVideo
input of theTrackedTalentFly
node.
- Connect the
Track
output pin of theXync
node to theTrack
input of theTrackedTalentFly
node. - Connect the
Location
output pin of theFreeD Break
node to theTalentLocation
input of theTrackedTalentFly
node.
- Add Location and Rotation Offset Breaks:
- Add a
vec3d to vec3
node to the canvas and rename it asLocation Offset Break
. - Connect the
Location Offset
node'svec3d
output to theLocation Offset Break
node'svec3d
input. - Connect the
vec3
output of theLocation Offset Break
node to theCameraOffsetLocation
input pin of theTrackedTalentFly
node. - Add another
vec3d to vec3
node and rename it as Rotation Offset Break. - Connect the
Rotation Offset
node'svec3d
output to theRotation Offset Break
node'svec3d
input. - Connect the vec3 output of the
Rotation Offset Break
node to theCameraOffsetRotation
input pin of theTrackedTalentFly
node.
Finalizing Setup
- Add CompositePasses Node:
- Add a
CompositePasses
node to the canvas. - Connect the
Xync Break
node'sLens Distortion
output pin to theCompositePasses
node'sDistortion
input pin. - Connect the
Scene
output pin of theUE5
node to theCompositePasses
node'sRender
input pin. - Connect the
TrackedTalentFly
node'sTracked Talent Fly
pin to theVideo
input of theCompositePasses
node.
- Add Mixer Node:
- Add a
Mixer
node to the canvas. - Connect the
Output
pin of theCompositePasses
node to theChannel1
input of theMixer
node. - Connect the
Program
output pin of theMixer
node to theSource
input pin of theAJAIn
node. - Connect the
Keyer Undistort
node'sOutput
pin toOutput
input pin of theUE5
node. - Right-click on the
Program
output pin of theMixer
node and go to Monitor > Channel - A.
info
At this point, depending on your studio setup, you may need to map your transform (also known as negating) and adjust default values of your track nodes.
Your graph is now ready. Navigate to the Nodegraph Menu and click on the Save option.