render
新しいパスを作成し、ユーザが背景パーティションの表示/非表示を設定できるようにします。
このコマンドは、パーティションに追加するオブジェクトを選択した状態で、メニューから[Render] > [パス] >
[パーティション] > [新規パーティション]を選択する操作と同等です。
「パーティション」はパスの一部で、グループと同じように動作します。 パーティションは、パス内でシーン
エレメントを編成するために使用します。 パーティションのタイプはオブジェクトおよびライトの 2 つです。 ライト
パーティションに含めることができるのはライトのみで、オブジェクト パーティションに含めることができるのはジオメトリ
オブジェクトのみです。
作成した各パスには少なくとも 2 つのパーティションがあります。シーンのほとんどまたはすべてのオブジェクトを含む Background
Objects Partition と、シーンのほとんどまたはすべてのライトを含む Background Lights
Partition です。 背景パーティションに含まれるオブジェクトおよびライトは、パスの作成方法によって異なります。
たとえば空のパスを作成した場合、シーンのすべてのオブジェクトおよびライトは背景パーティションに配置されます。 一方、パス
プリセットによっては、パーティションを(背景パーティションとは別に)自動的に作成するものがあります。このパーティションには、パスを作成した際に選択していたオブジェクトが含まれます。
注: このコマンドは、出力引数を使用します。 C#
および一部のスクリプト言語(JScript、PerlScript、Python
など)は、リファレンスによって渡される引数をサポートしていません。このため、状況に応じた適切な回避策を実行する必要があります。
スクリプト言語の場合、このコマンドは出力引数を取得するために使用できる ISIVTCollection を戻します。
C# の場合は、XSIApplication.ExecuteCommand
メソッドを使用してこのコマンドを呼び出すことができます。 ExecuteCommand は、出力引数を C# の
System.Object (出力引数の配列を含む)にパック化します(詳細については、「C#
からのコマンドの呼び出し」を参照)。
CreatePassWithPartition( [PresetObj], [Name], [ParamName], [InputObjs], [Value] ); |
| パラメータ | タイプ | 詳細 |
|---|---|---|
| PresetObj | 文字列 またはプリセット オブジェクト(「SIGetPreset」を参照) | 任意のパス プリセット
デフォルト値:"Pass" (デフォルトのパス) |
| Name | 文字列 | 新しいパスの名前
デフォルト値:指定しない場合は名前が自動的に生成されます。 |
| ParamName | 文字列 | 新しいパーティションの名前
デフォルト値:指定しない場合は名前が自動的に生成されます。 |
| InputObjs | 文字列 | パーティションに移動するオブジェクトのリスト。
デフォルト値: 選択されたオブジェクト |
| 値 | パス | 新しいパスを戻します。 |
'
' 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"
|