v4.0
shader
指定のクリップをブレンドするための新しいテクスチャ レイヤをポートに追加します。
ソースが与えられると、クリップが自動的に作成され、接続されます。
oReturn = BlendClipsInTextureLayersWithPorts( ClipList, [InputObjs] ); |
作成されたレイヤを XSICollection として戻します。
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" '--------------------------------------------------------- |