There’s several ways you might put together an ICE tree to delete the polygons inside a null.

Author Archives: xsisupport
Scripting FBX export and import
You can use the FBXExport command to create the ExportFBXOptions property, and then use either the OM or SetValue to set the FBX options. For example, this Python snippet creates the FBX property by calling FBXExport( “option” ), and then sets the FBX SDK version (for which there is no separate FBXSetExport command).
si = Application si.FBXExport( "option" ) o = si.Dictionary.GetObject( "ExportFBXOptions" ) o.Parameters( "FBXSDKVersion" ).Value = "FBX201300"
You can do the same thing for FBXImport with FBXImport( “option” ), but I always got an error, even if the property was created.
si = Application try: si.FBXImport( "option" ) except: o = si.Dictionary.GetObject( "ImportFBXOptions" ) si.LogMessage( o )
Screenshots of the week
Softimage toolbar
http://vimeo.com/81906535
Softimage ICE – Tutorial – Bend strands; unsimulated gravity
Softimage, OpenVDB and Arnold in cloud modeling test
http://vimeo.com/81459393
VDB WIP
by Mr.Core

Four-point corner pin
by caledonian_tartan

Friday Flashback #150
Emitting strands from a polygon cluster
Here’s a simple ICE tree that emits strands from a polygon cluster.

A general technique for these kinds of filtered emissions is to delete the points you don’t want. In this case, we check Cluster.IsElement. The tricky part is that Cluster.IsElement is a bool-per-polygon attribute, so we need to get into a per-point context. To do that, we get the emit location, which is per-point, and then at that location, the value of Cluster.IsElement. Now we’re in a per-point context, and we can use those per-point boolean values to delete points.
Note the use of Not instead of an If. We know IsElement is False for points that were not emitted from the polygon cluster, so we can logically negate it with Not to get True and feed that into Delete Point.
In pseudocode, we do this:
if not( IsElement ) delete point
instead of
if (IsElement == False) then delete point
Of course, for filtering we could just drill down into Emit Strands and set the filter on the Generate Sample Set nodes.

Adding ReferenceWidgets to PPGs?
It used to be possible to add a ReferenceWidget by calling oLayout.AddItem( “Param”, “ref”, “ReferenceWidget” ) in your DefineLayout. But that was four or five years ago, and it no longer works.
def MyProperty3333_DefineLayout( in_ctxt ): oLayout = in_ctxt.Source oLayout.Clear() # Test some other control types oLayout.AddItem( "Param", "txt", "Texture Space" ) oLayout.AddItem( "Param", "scnref", "SceneReferenceWidget" ) # Doesn't work oLayout.AddItem( "Param", "ref", "ReferenceWidget" ) # Doesn't work oPPGItem = oLayout.AddItem( "Param", "", "dscontrol" ) ; oPPGItem.SetAttribute( "UIType", "ReferenceWidget" );
For reference 😉 this is a ReferenceWidget:

And this is how a ReferenceWidget is added in SPDL:
Parameter "inst_source" input
{
title = "Instance source";
guid = "{5620730D-AEFC-4C4A-B1DF-9377E808E27B}";
type = reference;
}
...
inst_source
{
Name = "Source Object";
UIType = "ReferenceWidget.ReferenceWidget.1"
{
filter = "{6B579D20-3DC5-11D0-9449-00AA006D3165}";
mode = "single";
}
}
Screenshots of the week
LKFabric Tutorial 01: Blend Between Shapes
emTopolizer2 experiments
Ski lift compound
by caledonian_tartan

Squash Stretch Volume Preservation with ICE (Fstretch like)
Using attributes to assign matte IDs
by NNois

Remove every other value from array
by caledonian_tartan

Using image xres to drive ICE emission
by Letterbox

emPolygonizer4 Update
by Mootzoid
http://vimeo.com/80782236








