si = Application
o = si.Selection(0)
o1 = si.Selection(1)
c = o.Properties("Display").Parameters("wirecolorrgb").Value
c1 = o1.Properties("Display").Parameters("wirecolorrgb").Value
print c == c1
Author Archives: xsisupport
Friday Flashback #115
Copying colors from point cloud to polygonizer mesh
To get the colors from the point cloud onto the polygonizer mesh, you need to do something like this:
- On the polygonizer mesh, create an ICE Tree.
- Use Get Closest Location to get a location on the point cloud, get the color from that location.
- Store that color somewhere (eg in an attribute on the polygonizer mesh, or in a vertex color map).
Here I’m storing the colors in a CAV:

And here I’m sticking the colors in a per-point Color attribute:

Wednesday word cloud: Softimage SDK what’s new
Image
Copying StrandColors from cached strands to a point cloud
Suppose you had to load a cached strand simulation, and convert that to a point cloud of plain old points. Part of the job would be to copy the stand colors over to the new points, so let’s take a look at that.
First, and I didn’t know this, when you cache strands the StrandColor attribute isn’t cached, just a single Color per strand. So let’s rebuild the StrandColors:

Now we have a per-point StrandColor array on the point cloud that reads the cached simulation. After spending awhile trying to avoid doing this, I found that this (the StrandColor array) was the easiest way.
Add Point is a pretty friendly ICE node, because it lets you take per-point data (StrandPosition) from some other point cloud and just plug it in, with no context problems.
It’s not so simple with the StrandColors. StrandColor is a per-point array on a different point cloud, and you can’t just plug it into Set Particle Color. Set Particle Color wants a color, not an array of colors. And it doesn’t want colors from some other point cloud either 😉
To get around that, I use Build Array from Set, which gives me a per-object array in the context of the current point cloud. Then I index into that array with Point ID, and I’ve transferred over the strand colors to the points.
Installing Softimage 2014
Here’s a quick walkthrough of the installation basics, plus a few install-related links.
https://vimeo.com/63592423
- Product keys
Autodesk Softimage 2014 590F1
Autodesk Maya Entertainment Creation Suite Premium 2014 775F1
Autodesk 3ds Max Entertainment Creation Suite Premium 2014 774F1 - Autodesk Installation Help
- System requirements for Softimage 2014
Screenshots of the week
Saturday Snippet: Selection, LAST, and SubComponents
Selection.Clear();
var oCube = ActiveSceneRoot.AddGeometry( "Cube", "MeshSurface" );
var n = oCube.ActivePrimitive.Geometry.Points.Count
//SelectGeometryComponents(oCube.Name + ".pnt[1,3,5,LAST]");
Selection.Add( oCube.ActivePrimitive.Geometry.Points(1) );
Selection.Add( oCube.ActivePrimitive.Geometry.Points(3) );
Selection.Add( oCube.ActivePrimitive.Geometry.Points(5) );
Selection.Add( oCube.ActivePrimitive.Geometry.Points(n-1) );
var sel = XSIFactory.CreateActiveXObject("XSI.Collection");
sel.AddItems(Selection);
LogMessage( sel.Count );
// INFO : 1
LogMessage( ClassName( sel(0) ) );
// INFO : CollectionItem
LogMessage( sel(0).Value );
// INFO : cube.pnt[1,3,5,LAST]
n = sel(0).SubComponent.ComponentCollection.Count
LogMessage( sel(0).SubComponent.ComponentCollection(n-1).Index );
// INFO : 7
LogMessage( VBArray( sel(0).SubComponent.ElementArray ).toArray()[n-1] );
// INFO : 7
//LogMessage( sel(0).SubComponent.ComponentCollection );
LogMessage( VBArray( sel(0).SubComponent.ElementArray ).toArray() );
And don’t do this. You’ll have to restart Softimage to get selection working again.
var sel = XSIFactory.CreateActiveXObject("XSI.Collection");
sel.AddItems(Selection);
sel(0).Value = "cube.pnt[7]";


















