v4.0
Creates and returns layers with the requested clips, and adds
the provided ports to the layers.
If a source is provided, a clip is automatically created and
connected.
Note: This command is the same as BlendClipsInTextureLayersWithPorts
except that it also inspects the newly created shaders.
oReturn = BlendClipsInTextureLayersWithPortsInsp( ClipList, [InputObjs] ); |
Returns the layers created as an XSICollection.
| Parameter | Type | Description |
|---|---|---|
| ClipList | String | List of clips to connect |
| InputObjs | String | List of shader connections
to add the layers to.
Default Value: Current selection |
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