Here I’m instancing a group of Arnold standin sequences, and giving each instance a different start frame. (Each standin sequence is an animated bulge on a cylinder.)

PS It works fine until you go past the last frame of the sequence, because looping or clamping the ShapeInstanceTime doesn’t seem to prevent SItoA from loading the non-existent ass file.
Category Archives: ICE
Applying deformers to point clouds
Hyperbolic function compounds
Diffuse rays
In the real world, indirect lighting comes from diffuse reflections: light reflecting off of nearby surfaces. In the rendered world, a camera ray hits a shading point on an object, and from that point diffuse rays are sent out to sample colors from surrounding objects.
Here’s my version of a typical diffuse ray diagram, done with a few vectors and Show Values in ICE.

Oops. Multiply scalar by scalar by array may crash Softimage
While building an ICE tree version of this parametric equation

I discovered how to crash Softimage 2014 SP2 by doing a Show Values on the output of a Multiply node:

The key is that you have to set and then get the values later, and the array has to be the final term in the multiplication. Somehow this intuitively feels like something where things could wrong…
Here’s a clearer picture from Softimage 2014 SP1, which doesn’t stop working immediately:

I tested as far back as 2013 SP1, and they all crashed.
Screenshots of the week
Loxodrome
by Daniel Brassard

Making of Fire and ICE
by Pierric Danjou


How about a calculator?
by SI_UserNotes

Null drive another null with offset
by grahamef

TV Strands
Burning paper effect
Biped Generator (2013)
John Carter VFX Breakdown
ICE Loxodrome
Rather than simply re-use Daniel Brassard’s topo pack, I took a quick stab at doing something myself (the only way to learn). Here, I try to implement the equations from wikipedia. Nothing fancy, I just add points to see if I’m getting it right.

I had to whip up some compounds for the hyperbolic functions cosh, sinh, and tanh.
Screenshots of the week
Inverse distance weighting
by grahamef

Maths problem
by David Barosin

Get closest location on group
by Alan Fregtman

Mixed Contexts
by Vladimir Jankijevic

Setting data on a particle based off data from another particle in the same cloud
by Leonard Koch

Arnold Scene Viewer integrated in Softimage using Creation Platform
https://vimeo.com/70671257

GitForSoftimage
How to use the cached Face Robot animation on a head
Building your own Voronoi shattering effect with blackjack and hookers in Softimage part 2
ICE: Getting data from other frames
In ICE, you can’t get data from any arbitrary frame. You get whatever data comes though through your input ports for the current evaluation time. There’s no way (except for Get Data at Previous Frame) for you to read the scene graph at any other time than the time at which the ICE Tree operator is being evaluated.
A few related notes:
- In a simulated ICE tree, you could cache values from previous frames and then access them during playback of the simulation.
- With Get Action Source at Frame, you can get the value at a specific frame of an item stored in an animation source.
- On a non-simulated ICE tree, you might be able to use an at_frame expression (hat tip: grahamef)
- You might consider writing a custom ICE node that accesses values on other frames, but I don’t know that this such a good idea. According to the docs, that isn’t recommended for custom ICE nodes.
ICE: Building an array from an fcurve
Suppose you have an animated scalar value, and you want to store its values as you play through a simulation. And suppose you also want to keep a running total of all the values up to the current frame.
My first try used two arrays: one to store the values at each step through the simulation, and one to hold the running total.

Calculating the array sum at every step seems wasteful. So, here’s my second try at keeping a running total of the values from the fcurve. I use just one attribute and one array. The attribute was necessary because if I plugged Pop from Array directly into Add, I got nothing.







