CreatePassFromLayers

詳細

レイヤをベースにしたパーティションを持つ新しいパスを作成し、現在のパスに設定します。 シーン内の特定のエレメントを分離するためには、レイヤ内でシーンをレンダリングすると非常に便利です。こうすると、特殊なエフェクトを柔軟に使用できるようになります。

注: パスとレイヤは概念的には類似していますが、大きな違いがあります。

レイヤはシーンのエレメントを分離するために使用するもので、レイヤによってエレメントの外観を編成することもできますし、レンダリングしないようにして処理の応答を最適化することもできます。 レイヤは主にビューポートのビューとレンダ領域に影響します。

パスはシーン エレメントをレンダリング用に分離するもので、パスごとに別々に微調整したり編集したりすることができます。

注: このコマンドは、出力引数を使用します。C# および一部のスクリプト言語(JScript、PerlScript、Python など)は、リファレンスによって渡される引数をサポートしていません。このため、状況に応じた適切な回避策を実行する必要があります。

スクリプト言語の場合、このコマンドは出力引数を取得するために使用できる ISIVTCollection を戻します。

C# の場合は、XSIApplication.ExecuteCommand メソッドを使用してこのコマンドを呼び出すことができます。ExecuteCommand は、出力引数を C# の System.Object (出力引数の Array を含む)にパック化します(詳細については、「C# からのコマンドの呼び出し」を参照)。

スクリプト構文

CreatePassFromLayers( [Name], [Value] );

パラメータ

パラメータ タイプ 説明
Name 文字列 新しいパスの名前
Value パス 新しいパスを戻します。

VBScript の例

'

'	This example creates a cone and a sphere, creates a new layer

'	for each, and then creates a new pass based on the layers.

'

' Create a new scene 

NewScene , false

' Create a cone and make a layer with it 

Set oCone = GetPrim( "Cone", "MeshSurface" )

CreateLayer , "Wizard_Hat", , oHat

' Do the same with a sphere

Set oSphere = GetPrim( "Sphere", "MeshSurface" )

CreateLayer , "Magic_Ball", , oBall

' Create a pass based on these layers

CreatePassFromLayers "Wizard", oPass

' Print partition info

Application.LogMessage "Info on " & oPass.Name & ":"

Application.LogMessage "--------------------------------"

' Create an XSICollection with the partition info

set oParts = CreateObject( "XSI.Collection" )

oParts.SetAsText( oPass & ".Partitions.*" )

For Each p In oParts

	Application.LogMessage p

Next

' Output of the above script:

'INFO : "Info on Wizard:"

'INFO : "--------------------------------"

'INFO : "Passes.Wizard.Background_Objects_Partition"

'INFO : "Passes.Wizard.Background_Lights_Partition"

'INFO : "Passes.Wizard.Layer_Default"

'INFO : "Passes.Wizard.Layer_Default1"

'INFO : "Passes.Wizard.Wizard_Hat"

'INFO : "Passes.Wizard.Magic_Ball"

関連項目

CreatePass RenderPasses CreateLayer SICreatePass SICreatePartition SICreateLayer