Here’s a couple of examples of how to use a geometry query to modify certain points in a point cloud. The geometry queries return locations, and you can’t plug locations into Set Data nodes, so you need to take a different approach.
For ICE compounds, a CompoundNode property is loaded into the PPG when you inspect the compound.
This CompoundNode is like a proxy container for the actual compound, and it takes care of populating the PPG with the required controls, and finding the right help page. To do that, it just takes the name of the compound and constructs a URL like http://download.autodesk.com/global/docs/softimage2014/en_us/userguide/files/iceref_MyCompound.htm. (Hmm, having just said that, I figure if you had a local version of the help, then you could stick your own help page there, and Softimage would find it.)
For shader compounds it’s a little better, because you can put something like this in your PPG Logic, and it will work.
#ppg logic start from win32com.client import constants def OnInit(): Application.LogMessage( "OnInit" ) PPG.PPGLayout.SetAttribute( constants.siUIHelpFile, "http://lmgtfy.ca" ) #ppg logic end
hat tip: everybody on this thread
You don’t necessarily have to understand everything about transformation matrices to use them. Just understand then when you multiply a point by a transformation matrix, you’re applying scaling, rotation, and translation to that point all at once.
And you can do some reading
No screenshots, just videos this week.
As you know, in Softimage all scalar (aka floating point) values are displayed with 3 (or sometimes 4) decimal places. For example: 0.333 instead of 0.33333333333…
One way to display the attribute value with greater precision is to use the Log Values node, and multiply the attribute value by some power of 10 (to get more digits). Hat tip to Leonard Koch for that suggestion.
The above Log Values outputs this:
# INFO : 4000 - elt 0: 3333333504.000000
You could also use scripting. But note how I get 0 for the attribute named _tmp, even though it is clearly set to 0.3333333333333 in the ICE graph.
x = si.Selection(0) y = x.ActivePrimitive.Geometry.ICEAttributes( "tmp" ) if y.IsDefined: print "tmp = %.10f" % y.DataArray y = x.ActivePrimitive.Geometry.ICEAttributes( "_tmp" ) if y.IsDefined: print "_tmp = %.10f" % y.DataArray # tmp = 0.3333333433 # _tmp = 0.0000000000
Softimage Creatives London user group
More Making Of from RodeoFX
ICE used for the MGM ground crowds, the falling money (and some of the bills being sucked into the vents) and the fancy motiongraphic’y “projection” animated cubey stuff on the walls of the building shot.
Strands through surfaces