Sunday, 25 July 2010

Dart Throwing with Weight Maps

3rd July 2013: Please note: the latest, updated,  version of Dart Throw is here.

I've just finished a new version of Dart Throwing with weight map control for spacing (spacing maps) and point deletion (erase maps). It uses it's own internal scheme for computing the barycentric weights from weight map values at vertices. Spacing maps allow you to modulate the density of the points using the weight map as an interpolant between the spacing radius and max spacing radius. Erase maps have a threshold parameter which lets you control at what point between 0 and 1 on the weight map the point should be deleted.

There's also a new 'Iteration Abort' parameter which specifies the number of tries (as a normalised percentage of the total iterations) the plugin should make before it aborts. This is for scenarios where you set a huge number of iterations but the number of successful darts becomes very low i.e. if you set 1,000,000 iterations and you only get an additional 1 dart added in the last 500,000 'tries' then you can see that aborting after 500,000 might be handy. The message window gets logged with the maximum number of iterations for a single try as a reference.

Changes in the way multiphase/element generator plugins work in the SDK mean that this version is only available for the very latest version of Autodesk Softimage - 2011 SP1. The Addon has been compiled for both 32 and 64bit Windows.

Download Dart Throw v002 Addon

A Vimeo clip is here.


  1. Hi Julian! How do you go about using this? Where do you plug the compound into etc?


  2. Awesome! Thank you very much! :)

    One tiny request though: could your node be "modded" to also fill volumes with the dart throwing algorithm?

  3. Thanks for sharing it Julian. Very nice addon, saved me a lot on previous works.

  4. Thank you very much for making this add-on.

    Just a quick do I use the size output to drive and randomize my particle size? I get a structure mismatch error.

  5. Thanks,
    Well Done!

  6. olivier jeannel26 March 2013 at 13:40

    Thank's a lot Mr Julian ! I used Dart Throw for a quick project and it worked superbly ! Great great stuff, thank you :)

  7. Strange error. I use no maps. I put the compound in the modeling stack.

    Emit from position (points > position) > IceTree Node 1.
    Select in array ( > index & sizes > array) > set point size > IceTree Node 2.

    All works.

    Change timeline to be from 3 to 100 so no recomputing. Press play and the positions of the points change over time. Why? Bug?

  8. Hi Anonymous,

    I'll take a look and let you know if I can track down the problem.

  9. Anonymous,

    Can you send me the scene or put in online somewhere I can access it? I've tried to reproduce in 2013SP1 but I can't get point positions to change over time...

    1. Ok excellent, as if that's the case, and I certain trust your efforts, maybe it was because I was using an older version. Sorry for the delay in replying.

    2. PS oh would i love to see this use all the cpu's. :)

  10. Hi julian,
    awesome tool.
    I'm hoping you could advise me on how to use it with Instance geometry.

    As always, I had a play around and thought I had it completely sussed. Now a job has turned up and I can't get it to work with instances. Whenever I add instance geometry the instances interpenetrate.
    I've tried using the Instance Geometry node and plugging it into the Add Point node and tried the Instance shape node plugged into the Init Particle Data node, but with no success.
    Not sure what I'm doing wrong.

    Thanks again for making this available,