[Logo: Nuke]

Nuke#

This plugin integrates Prism into Foundry Nuke.

Supported Nuke versions: 13.0+ (Python 3)

Setup#

The plugin can be installed from the Prism Hub. After the plugin is installed, the Prism integration needs to be added to the Nuke preferences folder. This can be done in the Prism User Settings -> "DCCs apps".

This is the path, which should be selected for the integration: %USERPROFILE%\.nuke

Accessing Prism in Nuke#

Prism is available inside Nuke from the "Prism" menu in the main menu bar.

../../_images/nuke_menu.jpg
The menu contains options to:
  • save and version up your scene

  • save, version up your scene and add a description/thumbnail

  • open the Project Browser

  • Update Read nodes to the latest media versions

  • open the Prism Settings

Additionally there is a PrismWrite available to export images and videos to the Prism project.

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.

../../_images/nuke_saveVersions.jpg

Importing media#

To import objects from your Prism project into Nuke you can navigate to a media version in your Project Browser. You can then rightclick the image and select "Import images..." or simply drag&drop it into Nuke.
../../_images/nuke_import.jpg
In addition, media can be accessed from the Prism project within the Nuke Read node.

Rendering media#

To render out media from Nuke into your Prism project you can use the "WritePrism" node. In addition Prism render settings are accessible within default Nuke Write node as well.
../../_images/nuke_export.jpg
The exported images can be found in the "Media" tab in the Prism Project Browser.

Scene Building#

Access

In Nuke the Scene Building tool can be launched via the Project Browser:
Project Browser > Scenefiles tab > Files > Context menu > Build new Scene
Hint

Hold "Ctrl" and select "Build new Scene" to trigger a popup with all upcoming steps before execution.

Result

An initial scenefile "v0001" with the comment "Scene Building" has been created. During the building process, all configured steps - such as "Set Framerange", "Set FPS", and "Import Products" - will be applied.

Scene Building Settings

Available steps can be configured in the Project Settings:
Prism Settings > Project > Scene Building > Nuke
[Scene Building - Nuke Settings]
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).

Nuke Steps

The following Scene Building steps and their respective settings are available in Nuke:

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.

Load Media:

Description:

If media files 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.

Identifiers:

Specifies the "Identifiers" which should be imported.

Further Reading

Alongside the Nuke specific information, additional details on Scene Building can be found on the Scene Building page.

Adding Prism integration using environment variables#

It is possible to use environment variables to add the Prism integration to Nuke instead of adding the Prism integration into the Nuke User Preferences.

The following environment variables need to be defined:

PRISM_ROOT = C:\Program Files\Prism2
NUKE_PATH = C:\ProgramData\Prism2\plugins\Nuke\Integration

These environment variables can be set in the system settings.

To load the Prism Nuke plugin from a central location in your studio you can set the NUKE_PATH environment variable and point it to a folder on your network storage. In that folder create a menu.py with the following content:

import os
os.environ["PRISM_ROOT"] = "C:\\Program Files\\Prism2"
nuke.pluginAddPath("C:\\ProgramData\\Prism2\\plugins\\Nuke\\Integration")

Environment Variables#

The Nuke plugin can be configured using the following environment variables:

Name

Description

PRISM_NUKE_CHECK_MEDIA_ON_SCENE_OPEN

Defines if Prism shows a popup when open Nuke scenefiles if the are newer media versions available for any read nodes (e.g. 0, default 1)

PRISM_NUKE_LOAD_MEDIA

Defines which media identifiers to load when building a new scenefile (default: "plate*, light*")

PRISM_NUKE_READ_ADD_KNOBS

Defines if Prism adds custom knobs on the Nuke Read node (e.g. 0, default: 1)

PRISM_NUKE_SUBMISSION_INCREMENT_SCENE

Defines if the Nuke scenefile will be versioned up when submitting renderjobs (e.g. 1, default: 0)

PRISM_NUKE_SUBMISSION_VERSION_WARNING

Defines if a warning gets shown when submitting a write node as a previous version, which might overwrite files. (e.g. 1, default: 0)

PRISM_NUKE_TRACK_UNCONNECTED_DEPENDENCIES

Defines if dependencies are tracked also from nodes, which are not connected to any Write node. (e.g. 0, default: 1)

PRISM_NUKE_WRITE_ADD_KNOBS

Defines if Prism adds custom knobs on the Nuke Write node (e.g. 0, default: 1)

Troubleshooting#