BlendClipsInTextureLayersWithPorts

導入

v4.0

詳細

指定のクリップをブレンドするための新しいテクスチャ レイヤをポートに追加します。

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

スクリプト構文

oReturn = BlendClipsInTextureLayersWithPorts( 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

Dim result, item

set result = BlendClipsInTextureLayersWithPorts(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 BlendClipsInTextureLayersWithPortsInsp BlendInTextureLayers BlendInTextureLayersInsp BlendInTextureLayersWithPortsInsp