BlendClipsInTextureLayersWithPortsInsp

導入

v4.0

カテゴリ

shader

詳細

要求されたクリップとともにレイヤを作成して戻します。また、指定のポートをレイヤに追加します。

ソースが与えられると、クリップが自動的に作成され、接続されます。

注: このコマンドは BlendClipsInTextureLayersWithPorts と同等ですが、新しく作成されたシェーダも調べる点が異なります。

スクリプト構文

oReturn = BlendClipsInTextureLayersWithPortsInsp( ClipList, [InputObjs] );

戻り値

作成されたレイヤを XSICollection として戻します。

パラメータ

パラメータ タイプ 詳細
ClipList 文字列 接続するクリップのリスト
InputObjs 文字列 レイヤの追加先シェーダ接続のリスト

デフォルト値: 現在選択されている値

VBScript の例

NewScene , false
' Create a default cube, add a texture projection and apply a default Phong shader:
Dim oBox
Set oBox = ActiveSceneRoot.AddGeometry( "Cube", "MeshSurface" )
CreateProjection oBox, , siTxtDefaultPlanarXY, , "Texture_Projection"
ApplyShader , oBox
' Apply a second projection, offset it
CreateProjection oBox, , siTxtDefaultPlanarXY, , "Texture_Projection"
Translate "Texture_Support1", 3.32038834951456, -4.87670131554974E-17, 0.796452068099767, siRelative, siView, siObj, siXYZ
Translate "Texture_Support1", -0.529657563043749, -2.59749993985792, 0.259749993985792, siRelative, siView, siObj, siXYZ
' First, add an image source.
Dim oSourceObj, ImageFile
ImageFile = Application.InstallationPath( siFactoryPath ) & "/Data/XSI_SAMPLES/Pictures/xsilogo.jpg"
SIAddImageSource ImageFile, "XSIlogo", oSourceObj
' Now create an image clip from the image source.
Dim oClipObj 
set oClipObj = AddImageClip( oSourceObj, "XSIlogo_Clip" )
' Blend in the clip, inspect the result
Dim result, item
set result = BlendClipsInTextureLayersWithPortsInsp(oClipObj, oBox.material & ".Phong.diffuse")
for each item in result
        logmessage "Added layer " & item
next 
' Blending in a source automatically creates a clip
set result = BlendClipsInTextureLayersWithPorts(oSourceObj, oBox.material & ".Phong.ambient")
for each item in result
        logmessage "Added layer " & item
next 
' Change the blending mode of the newly added layer
SetValue result(0) & ".mode", 4
' Change the texture projection
Dim shader
set shader = SIGetShaderOnCnxPoint( result(0) & ".color" )
SetInstanceDataValue , shader & ".tspace_id", "Texture_Projection1"
'---------------------------------------------------------
' If you draw a region, you should see two Softimage logos shifted relative to each other.
' If you open up the texture layer editor or rendertree on the cube, you will see two layers,
' one bleneded into the ambient port and one into the diffuse port.
' Output from this script:
'INFO : "Added layer Sources.DefaultLib.Material.Phong.XSIlogo_Clip_Layer"
'INFO : "Added layer Sources.DefaultLib.Material.Phong.XSIlogo_Layer"
'---------------------------------------------------------

関連項目

BlendClipsInTextureLayers BlendClipsInTextureLayersInsp BlendClipsInTextureLayersWithPorts BlendInTextureLayers BlendInTextureLayersInsp BlendInTextureLayersWithPorts