Load PresenZ Node (prz_loader)

The Load PresenZ node, identified as prz_loader, is a geometry node in Houdini designed for importing and converting PresenZ files (przDetect, przRender, or prz) into Houdini point clouds. This node is crucial for volumetric renders that leverage point cloud data.

Input File Formats

This node accepts three types of PresenZ files:

  1. przDetect

  2. przRender

  3. prz

Each file type is processed and converted into a Houdini-compatible point cloud, retaining essential metadata in the detail attributes.

Spatial Reference and Scale

The spatial reference for the point clouds is centered relative to the scene. The render camera position is set at (0,0,0). The scale is standardized where 1 meter is equivalent to 100 units within Houdini’s environment, so a default PresenZ camera will be a cube of 100x50x100 units at the origin.

Spatial Decompression (for prz files)

For prz files, which are spatially compressed, the Load PresenZ node offers an option for Spatial Decompression. Enabling this option allows for the recovery of the original point cloud data in its uncompressed form.

Compositing with przRender Files

For compositing purposes, it is recommended to use przRender files. These files contain data in floating-point format and are in a linear space/ACEScg color space. This ensures high-quality rendering outputs, suitable for professional-grade compositing.

Point Cloud Attributes

The point cloud generated by the Load PresenZ node has several modifiable and non-modifiable attributes:

Modifiable Attributes:

  • v@Cd: Color of the point. The color for the right eye is encoded in v@Cd_Right.

  • f@Alpha: Alpha value of the point. Modification is discouraged unless necessary.

  • v@v: Motion vector information in 3D space. It defines the position of a point in the next frame using the formula v@P = v@P + v@v in an attribute wrangle node.

  • v@N: Normal of the underlying plaque defined by the current point. Modification is discouraged without a valid reason.

  • You will also find your AOVs as others point attributes.

Non-Modifiable Attributes:

  • Other values like v@P, i@camera, i@posx, i@posy, and f@distance are crucial for saving the point back into the PresenZ format. Modifying these may result in incorrect prz files or be ignored entirely.

Manipulation of Points:

  • Points can be removed, merged, grouped, or isolated as needed for compositing purposes.

Detail Attributes

The point cloud’s detail attributes provide vital information about the render settings used:

  • draft: Indicates the draft mode setting.

  • eye: Specifies which eye (left or right) the render corresponds to, important in stereo rendering.

  • renderscale: Provides the scale factor used in the render.

  • AOV names: Lists the names of the Arbitrary Output Variables involved in the rendering process.

  • box scale: Indicates the scale of the Zone of View used in the render.

  • imageSizeX and imageSizeY: Provide the dimensions of the rendered image in pixels.

These detail attributes are essential for understanding the context and settings under which the original file was rendered, and may influence how the point cloud is manipulated or re-rendered.

PresenZ Copy right to left eye

The HDA PresenZ Copy right to left eye node, is a geometry node in Houdini used for combining the left and right eye renders from przRender files. This node is crucial for creating stereoscopic 3D effects in volumetric renders.

Functionality

The node has two primary inputs:

  1. Left Plug: For connecting the point cloud data corresponding to the left eye render.

  2. Right Plug: For connecting the point cloud data corresponding to the right eye render.

This node efficiently merges the data from both eyes, ensuring proper alignment and synchronization for stereoscopic rendering.

The resulting output is a unified point cloud that represents a cohesive stereoscopic 3D image, ready for further processing.

PresenZ Visualizer Node (prz_visualizer)

The PresenZ Visualizer node, known as prz_visualizer, is a geometry node in Houdini that transforms point cloud data into geometry representations. This conversion aims to closely mimic the output that will be displayed by the PresenZ player, offering a more realistic preview of the final render.

Functionality

The PresenZ Visualizer node serves as a visualization tool, converting point cloud data into geometries. This is particularly useful for previewing how the final render will appear in the PresenZ player.

Usage Considerations

  • Editing: The output from the PresenZ Visualizer node is not intended for editing purposes. Any modifications should be made prior to this visualization stage.

  • Shading Effects: Users should be aware that shading applied to the geometry can alter the actual color of the scene. This might result in a visual discrepancy between the visualizer output and the original point cloud data.

This node is essential for a more accurate visual representation during the development process, but users should be cautious of its limitations regarding editing and color fidelity.

PresenZ Background Mask Node (prz_background_mask)

The PresenZ Background Mask node, named prz_background_mask, is utilized within a Houdini network to generate a background mask attribute for scenes using przRender files. This mask identifies the regions of the render that are not occluded by any geometry, essentially marking the background.

PresenZ Background Mask Node Network

The PresenZ Background Mask Node setup within a Houdini network.

Functionality

  • Input: This node processes data from prz_loader nodes that contain przRender files. For the mask creation process, only the loaders for the left eye are necessary.

  • Background Mask Creation: The prz_background_mask node adds a “background mask” detail attribute to the point cloud data. This attribute distinguishes between foreground (occluded by points) and background (unoccluded regions).

  • Baking the Mask: After the “background mask” detail attribute is created, it can be baked back into the network, allowing for further processing or output.

Attribute Copying

  • An attribute copy node, named attribcopy1, is used to transfer the “background mask” detail attribute to the relevant points in the point cloud.

  • This ensures that the attribute is consistently applied throughout the data, preparing it for the final baking process.

Final Output

  • The output of this network is an image baked with a mask of the background, inside of the prz file, which can be used in subsequent compositing or rendering processes to isolate or replace the background with alternate imagery or effects.

Usage Instructions

  1. Connect the prz_loader nodes for the left eye to the prz_background_mask node.

  2. Ensure that the “background mask” detail attribute is correctly configured in the prz_background_mask node.

  3. Use the attribute copy node to apply the “background mask” attribute to the entire dataset.

  4. Connect the output to the prz_writer node to bake the mask into the final image or to proceed with further adjustments.

Note

This node is particularly useful in virtual production and compositing workflows where background elements need to be selectively adjusted or replaced.

PresenZ Apply Cryptomatte

The Apply Cryptomatte HDA node is used within a Houdini network to generate a mask attribute using Cryptomatte AOVs.

PresenZ Cryptomatte Mask

The PresenZ Cryptomatte Mask Node setup within a Houdini network.

Parameters

  • Type: Specifies the type of Cryptomatte (object, material, or asset).

  • Mask Name: Defines the group name where the points corresponding to the hashes will be added.

  • Hashes: A list of hashes to search for. These hashes can be found in the corresponding .json files located next to the przRender files.

Notes

There are a series of corresponding AOVs named “_mask0” and “_mask1” that contain the percentage of ownership for the hash. A value of 1 indicates exclusive ownership, meaning no other hashes correspond to that point.

These AOVs should be used in cases where color correction is applied, allowing you to multiply the effect of the correction by the ownership value. Unfortunately, Houdini groups do not support weighting, so implementing this feature is left to the user’s discretion.

Write PresenZ Node (prz_writer)

The Write PresenZ node, referred to as prz_writer, is a geometry node in Houdini used for exporting point cloud data into PresenZ file formats. This node is pivotal for creating przRender files or prz files from within Houdini.

Supported Output Formats

The Write PresenZ node supports two primary output formats:

  1. przRender Files: Used for rendering purposes, carrying detailed color and spatial data.

  2. prz Files: Typically used for storing compressed point cloud data.

Color Space Consideration

An essential aspect of using the prz_writer node is the color space of the point cloud data:

  • The node assumes that the color data of the point cloud is in a Linear/ACEScg Color Space. This assumption is critical for ensuring that the output files maintain color accuracy and consistency with the intended design.