This plugin integrates Prism into SideFX Houdini.
Supported versions: 18.5+ (Python 3)
Guides#
The following section introduces the Prism-Houdini integration, covering the Basics as well as advanced USD workflows.
Setup#
The plugin can be installed from the Prism Hub. After the plugin is installed, the Prism integration needs to be added to the Houdini preferences folder. This can be done in the Prism User Settings -> "DCCs apps".
This is the path, which should be selected for the integration (with different version numbers possible):
%USERPROFILE%\Documents\houdini20.5
Accessing Prism in Houdini#
Prism is available inside Houdini from the "Prism" menu in the main menu bar.
save and version up your scene
save, version up your scene and add a description/thumbnail
open the Project Browser
open the State Manager to import, export, playblast and render files
open the Prism Settings
Additionally there is a Prism Filecache SOP HDA and a Prism ImportFile SOP HDA to import and export data from the nodegraph.
Saving Scenefiles#
You can save new scenefile versions using the options in the Prism menu or by opening the Project Browser and selecting "Create new version from current" in the context menu in the "Scenefiles" tab.
Importing Objects#
Exporting Objects#
Creating Playblasts#
Rendering#
If you have the Deadline plugin installed you will see an option to submit the render as a job to the Deadline render farm.
Scene Building#
Access
Project Browser > Scenefiles tab > Files > Context menu > Build new SceneHint
Hold "Ctrl" and select "Build new Scene" to trigger a popup with all upcoming steps before execution.
Result
Scene Building Settings
Prism Settings > Project > Scene Building > Houdini
Hint
Additional steps can be added from the dropdown (1) list. Configure the step settings (Edit Settings...) using the "wheel" (2) icon. Enable or disable existing steps via the checkbox (3). Right-click any existing step to access options for removing it ("Remove") or changing its order (Move Up/Move Down).
Houdini Steps
Set Shot Framerange: |
|
|---|---|
Description: |
In cases where the defined shot framerange does not align with that of the scene, the scene framerange will be updated.
|
Apply to task: |
Specifies the Entity, Department, or Task for which the step should be executed.
The default selection is
*-*-*, meaning the step applies to all. |
Framerange to apply: |
The framerange can be set based on the
Shotrange or on the Shotrange + Handles.The default selection is
Shotrange. |
Set FPS: |
|
|---|---|
Description: |
If the defined shot FPS differs from FPS of the scene, the scene FPS will be updated.
|
Apply to task: |
Specifies the Entity, Department, or Task for which the step should be executed.
The default selection is
*-*-*, meaning the step applies to all. |
Set Resolution: |
|
|---|---|
Description: |
In case the defined shot resolution does not align with the resolution of the scene, the scene resolution will be synced.
|
Apply to task: |
Specifies the Entity, Department, or Task for which the step should be executed.
The default selection is
*-*-*, meaning the step applies to all. |
Import Products: |
|
|---|---|
Description: |
If products with tags are available, they will be imported automatically.
|
Apply to task: |
Specifies the Entity, Department, or Task for which the step should be executed.
The default selection is
*-*-*, meaning the step applies to all. |
Ignore Master Versions: |
This can be enabled to import the latest product version instead of the master version.
It is disabled by default.
|
Import Shot Cameras: |
|
|---|---|
Description: |
If a shot camera product exists, it will be imported automatically.
|
Apply to task: |
Specifies the Entity, Department, or Task for which the step should be executed.
The default selection is
*-*-*, meaning the step applies to all. |
Run Code: |
|
|---|---|
Description: |
This step allows to run custom Python code.
|
Apply to task: |
Specifies the Entity, Department, or Task for which the step should be executed.
The default selection is
*-*-*, meaning the step applies to all. |
Code: |
The code field accepts custom Python code for execution.
|
Apply Alembic Caches: |
|
|---|---|
Description: |
This step checks for available animation caches.
For each found cache the corresponding Surfacing product which is tagged with
static will be imported.Subsequently, the animation caches will be applied to each referenced Surfacing product.
|
Apply to task: |
Specifies the Entity, Department, or Task for which the step should be executed.
The default selection is
*-*-*, meaning the step applies to all. |
Further Reading
Alongside the Houdini specific information, additional details on Scene Building can be found on the Scene Building page.Solaris#
Adding Prism integration using environment variables#
It is possible to use environment variables to add the Prism integration to Houdini instead of adding the Prism integration into the Houdini User Preferences.
The following environment variables need to be defined:
PRISM_ROOT = C:\Program Files\Prism2
HOUDINI_PATH = C:\ProgramData\Prism2\plugins\Houdini\Integration
These environment variables can be set in the system settings, a package file or in the houdini.env file.
To load the Prism Houdini plugin from a central location in your studio you can set the HOUDINI_PACKAGE_DIR environment variable and point it to a folder on your network storage. In that folder create a Prism.json file with the following content:
{
"env": [
{"PRISM_ROOT": "C:\\Program Files\\Prism2"
}
],
"path": "C:\\ProgramData\\Prism2\\plugins\\Houdini\\Integration"
}
Troubleshooting#
When I open Houdini, the Prism Project Browser opens twice#
This happens when specifics paths are added to the HOUDINI_PATH environment variable twice.
Usually this happens because of a misconfigured houdini.env file.
A common mistake is to have a line like this in the houdini.env file:
HOUDINI_PATH = "...;$HOUDINI_PATH;&"
To fix this problem you can change this line to:
HOUDINI_PATH = "...;$HOUDINI_PATH"
![[Logo: Houdini]](../../_static/banner_logos/houdini_logo.png)