They had a sense of humor at Softimage. This was for an introductory meeting down at Avid HQ, sometime after 2000 I would guess.

Monthly Archives: February 2013
ICE: Using Split Edge offsets
Here’s another way to split an edge into N new edges of equal length. This time, I use the offset.
With a split ratio of 1, I get a bunch of new, zero-length edges that all pile up at the far vertex.

But I can use the offset to move all those edge vertices down the vector between the two original edge vertices:

Wednesday word cloud: xsi.exe cannot strings
Word cloud for strings xsi.exe | find /i “cannot”.
A few messages that caught my eye:
- !This program cannot be run in DOS mode.
- Unable to create the main window. DS cannot start.
- can’t run : problem with Softimage installation
- “can’t happen” — you found a bug
Getting the vector between edge vertices
Sometimes it’s interesting to look back at how you wired things together on the first go. For example, look at that weird Pop from Array bit on top; I kinda like it, but maybe doing two explicit Select in Arrays is more understandable.
Anyways, here’s something that could be useful when splitting edges…

Splitting an edge into equal-length new edges
Here’s the basic idea of how to split an edge into N equal-length new edges. Notice how I work backwards (in the sense that my split ratio decreases). That way I don’t know have to know (or care) about the new edges. I just keep splitting the same edge, whose EdgeIndex I already know.
Based on that observation, here’s a rough draft of an ICE tree that takes an edge of length N, and splits it into N equal-length edges.
Screenshots of the week
Making of IGA Petits bouffeurs
by Shed

Finding indices of negative values in an array
by iamVFX

Test if a point is inside, on the surface or outside
by Daniel Brassard

Filter one array by another
by kykeon

hexagon cylinder
by msktkhs

hexa
by msktkhs

Animated sine wave
by Ola Madsen

Saturday snippet – ShaderDef attributes
si = Application #sdef = si.GetShaderDef( "Softimage.BA_particle_density3.1.0" ) sdefs = si.ShaderDefinitions print sdefs.Count # 1390 for sdef in si.ShaderDefinitions: print sdef for n,v in map( None, sdef.Attributes.Names,sdef.Attributes.Values ): print " %s=%s" % (n,v)
For most shaderdefs, the only attributes are “shaderlocation” and “thumbnail”.
Softimage.BA_particle_density is one of the few that has anything more interesting. If a Softimage.BA_particle_density shader exists in the scene, you’ll get this:
# Softimage.BA_particle_density3.1.0
# shaderlocation=3
# thumbnail=particle.bmp
# {C535FA4D-E44A-45EB-AEE0-9F9AAEA91745}=None
# {20ECB4F8-A4A1-44FE-956A-0F6E98D541A8}=Color,Id,PointVelocity,Orientation,Size,PointPosition,Age,AgeLimit,StrandPosition,StrandVelocity,StrandSize,StrandOrientation,StrandColor
If you look at the BA_particle_density3 spdl, you’ll see that that last attribute corresponds to the “ICEattribute” entry for the output parameter. That ICEattribute tells Softimage to pull date from the ICE tree during rendering.
SPDL
Version = "2.0.0.0";
Reference = "{047CA80F-9EED-4507-9F83-4BB77C01DFC1}";
PropertySet "BA_particle_density3_params"
{
Parameter "out" output
{
title = "BA_particle_density3 output parameter";
guid = "{0B955B1D-CCBA-4B68-9CD3-ABE9467D665D}";
ICEattribute = "Color,Id,PointVelocity,Orientation,Size,PointPosition,Age,AgeLimit,StrandPosition,StrandVelocity,StrandSize,StrandOrientation,StrandColor";







