Creates a new pass and allows the user to set visibility on background partition.
This is the scripting equivalent of selecting Render > Pass - Partition > New
with the object(s) you want to add to the partition already selected.
A PARTITION is a division of a pass, which behaves like a group. Partitions
are used to organize scene elements within a pass. There are only two types
of partitions, object and light. Light partitions can only contain lights,
and object partitions can only contain geometric objects.
Each PASS that you create has at least two partitions, a background objects
partition, which contains most or all of the scene's objects, and a background
lights partition, which contains most or all of the scene's lights.
The objects and lights that appear in the background partitions depend on
how you create the pass. For example, if you create an empty pass, all of
the scene's objects and lights are placed in the background partitions.
Some pass presets, on the other hand, automatically create partitions (besides
the background partitions) containing the objects that were selected when you
created the pass.
Note: This command uses output arguments. C# and some
scripting languages (such as JScript, PerlScript and Python) don't support arguments passed by reference so you
need to use the best workaround for your situation:
For scripting languages this command returns an ISIVTCollection
which you can use to get the output arguments.
For C# you can use the XSIApplication.ExecuteCommand method to call this command. ExecuteCommand
packs the output arguments into a C# System.Object containing an Array of the output arguments (see
Calling Commands from C#).
CreatePassWithPartition( [PresetObj], [Name], [ParamName], [InputObjs], [Value] ); |
Parameter | Type | Description |
---|---|---|
PresetObj | String or a preset object (see SIGetPreset) |
Any of the Pass Presets Default Value: "Pass" (default pass) |
Name | String |
Name of the new pass. Default Value: If not specified, the name is automatically generated. |
ParamName | String |
Name of the new partition. Default Value: If not specified, the name is automatically generated. |
InputObjs | String |
List of objects to go in the partition. Default Value: Selected objects |
Value | Pass | Returns the new pass. |
' ' This example demonstrates how to create a depth pass with ' a partition containing a cone. It also shows how you can ' access partition information from a particular pass. ' ' Create a new scene NewScene , false ' Create a cone to add to one of the partitions Set oCone = GetPrim( "Cone", "MeshSurface" ) ' Create a depth pass with a partition for the cone CreatePassWithPartition InstallationPath( siFactoryPath ) _ & "\Data\DSPresets\Groups\Depth_Pass.Preset", _ "Deep_Pass", "Coney_Island", oCone, oPass ' Print partition info Application.LogMessage "Partitions for " & oPass & ":" Application.LogMessage "--------------------------------" ' Create an XSICollection with the partition info set oParts = CreateObject( "XSI.Collection" ) oParts.SetAsText( "Passes.Deep_Pass.Partitions.*" ) For Each p In oParts Application.LogMessage p Next ' Output of the above script: 'INFO : "Partitions for Passes.Deep_Pass:" 'INFO : "--------------------------------" 'INFO : "Passes.Deep_Pass.Background_Objects_Partition" 'INFO : "Passes.Deep_Pass.Background_Lights_Partition" 'INFO : "Passes.Deep_Pass.Coney_Island" |