On this page | |
Since | 18.0 |
This node can be used to create ShotGrid Server work items. Session work items in this node are associated with a long running ShotGrid process.
Note
The ShotGrid API is not provided with Houdini and must be installed manually.
To install the ShotGrid API, perform the following steps:
-
Download the latest release from https://github.com/shotgunsoftware/python-api/releases and extract it.
-
Copy the shotgun_api3 folder to a location in Houdini’s python path. This can be found by running the following command in a command prompt or terminal:
hython -c 'import sys; print(sys.path)'
or by runningimport sys; print(sys.path)
in Houdini’s python shell.
In order to authenticate to ShotGrid, one of the following three methods are required.
Note
As Shotgun is migrating to the new name ShotGrid, the existing
$PDG_SHOTGUN_*
environment variables and shotgun.json
have been
deprecated and will be removed in a future release. Please migrate to their
ShotGrid equivalents, $PDG_SHOTGRID_*
and shotgrid.json
respectively.
-
Create a shotgrid.json file in
$HOUDINI_USER_PREF_DIR
or within a defined$PDG_SHOTGRID_AUTH_DIR
with the following syntax:{ “script_name”: “”, “api_key”: “” }
-
Create a shotgrid.json file in
$HOUDINI_USER_PREF_DIR
or within a defined$PDG_SHOTGRID_AUTH_DIR
with the following syntax:{ “session_token”: “” }
-
Define
$PDG_SHOTGRID_LOGIN
and$PDG_SHOTGRID_PASSWORD
environment variables. -
Define
$PDG_SHOTGRID_SCRIPT_NAME
and$PDG_SHOTGRID_API_KEY
environment variables. -
Define the
$PDG_SHOTGRID_SESSION_TOKEN
environment variables.
The order of precedence for authentication is $PDG_SHOTGRID_LOGIN
, then
$PDG_SHOTGRID_SCRIPT_NAME
, $PDG_SHOTGRID_SESSION_TOKEN
, and then to try and
use shotgrid.json. This is so that an override can be specified in the
environment.
Using shotgrid.json is recommended as exposing credentials in the environment can be a security risk.
See command servers for additional details on the use of command chains.
TOP Attributes ¶
|
[int] |
This attribute is inherited from the Feedback Begin node. The loop iteration number, within the set of work items associated with
the loop. This attribute can be an array of values when using nested feedback
loops, since the iteration number at each level is preserved. The loop
iteration value for the outer most loop is stored in |
|
int |
This attribute is inherited from the Feedback Begin node. Tracks which loop the work item is associated with. This attribute is relevant when generating multiple independent loops in the same feedback begin node, for example by driving the feedback begin node with a Wedge node. |
|
int |
This attribute is inherited from the Feedback Begin node. The total number of iterations in the loop. |
Parameters ¶
Generate When
Determines when this node will generate work items. You should generally leave this set to “Automatic” unless you know the node requires a specific generation mode, or that the work items need to be generated dynamically.
All Upstream Items are Generated
This node will generate work items once all of the input nodes have generated their work items.
All Upstream Items are Cooked
This node will generate work items once all of the input nodes have cooked their work items.
Each Upstream Item is Cooked
This node will generate work items each time a work item in an input node is cooked.
Automatic
The generation mode is selected based on the generation mode of the input nodes. If any of the input nodes are generating work items when their inputs cook, this node will be set to Each Upstream Item is Cooked. Otherwise, it will be set to All Upstream Items are Generated.
Session Count from Upstream Items
When this toggle is enabled, the node will create a single server work item and a session with the server for each upstream work item. Otherwise, a server item will be created for each upstream work item.
Number of Sessions
The number of sessions to create with the server. Each session work item will cook in serial with other sessions using the same server. The chain of work items starting from this session item down to the Command Server End node will cook to completion before starting the next session.
Server Port
The TCP port number the server should bind to (when Connect to existing
server if off), or the port to use to connect to an existing server (when
Connect to existing server is on). The default value 0
tells the system
to dynamically choose an unused port, which is usually what you want. If you
want to keep the ports in a certain range (and can guarantee the port numbers
will be available), you can use an expression here such as 9000 + @pdg_index
.
Copy Inputs For
Determines how input files are copied onto loop items. By default, upstream files are copied onto all input files. However, it is also possible to only copy input files onto the first iteration or none of the loop iterations.
No Iterations
Upstream input files are not copied to the outputs of any loop iteration items.
First Iteration
Upstream input files are copied to the output file list for only the first loop iteration
All Iterations
Upstream input files are copied to the output file list of all iterations.
Cook Loops Sequentially
When this toggle is enabled, loops created by this node cook to completion one at a time. Otherwise, when this toggle is off, independent loops are able to cook in parallel.
Feedback Attributes
When on, the specified attributes are copied from the end of each iteration onto the corresponding work item at the beginning of the next iteration. This occurs immediately before the starting work item for the next iteration cooks.
Tip
The attribute(s) to feedback can be specified as a space-separated list or by using the attribute pattern syntax. For more information on how to write attribute patterns, see Attribute Pattern Syntax.
Feedback Output Files
When on, the output files from each iteration are copied onto the corresponding work item at the beginning of the next loop iteration. The files are added as outputs of that work item, which makes them available as inputs to work items inside the loop.
Server Type
Determines whether this node should create a block that uses Services or a Shared Server. Note that Shared Servers are deprecated in Houdini 20.0.
Service Name
When Server Type is set to Service, this parameter determines the name of the service to use for work items in the block
Reset Service
Determines whether or not service clients should be reset before executing work items. If this node is a service block, the reset operation is only performed once per block loop. Otherwise, the reset operation occurs for each work item in this node.
None
The service client is used as-is. This means that any imported modules, global variables, or scene state are preserved between work item cooks.
Reset Client
The service client is sent the “reset” command, which clears state but does not restart the service process.
Restart Client
The service client process is completely restarted before running a work item.
Connect to Existing Server
When this toggle is enabled, the work item will connect to an existing server rather than spawning a new one.
Server Address
The existing server address, when Connect to Existing Server is enabled.
Load Timeout
The timeout used when performing an initial verification that the shared server instance can be reached. When this timeout passes without a successful communication, the work item for that server will be marked as failed
ShotGrid URL
The URL to the ShotGrid instance to communicate with. The default value is
$PDG_SHOTGRID_URL
, which expects that the environment variable will be
defined when the work item executes. However this can be set to an absolute
path if it’s known.
HTTP Proxy
The URL of a proxy server to communicate with the ShotGrid instance.
Custom CA Certs
A path to a custom list of SSL certificate authorities to use while communicating with the ShotGrid instance.
These parameters can be used to customize the names of the work item attributes created by this node.
Iteration
The name of the attribute that stores the work item’s iteration number.
Number of Iterations
The name of the attribute that stores the total iteration count.
Loop Number
The name of the attribute that stores the loop number.
See also |