Played a little bit with stBasket compounds.
Recently I had to rig a model that consists of a bunch of little parts. It was modeled in Maya and than exported through obj to XSI, so all pivots were feezed – set equal to world coordinates. I made a set of script buttons (insiped by this video) and it saved me a whole lot of time, really.
Note that all of the buttons are freezing Modeling stack. It’s done because they create Center operator there and it notably slows down interaction with the scene – especially if you have to deal with a bunch of objects to align. If you don’t want them to freeze Modeling, just remove
FreezeModeling(null, null, null);
lines from the scripts.
We had to make a basket model for some poster, so I built a set of compounds to create sennit-like mesh on NURBS surfaces. It was my first experience with ICE modeling, so it took a little time.. and a little more… and a little more than a little more…. But it was done in time and I’m satisfied at last
Some notes for those who’s interested.
Extrusion base shape’s points must be in local XY plane – as in standard Circle primitive, for example. So use Front View to draw them correctly.
Compounds that create strands extrusion are faster and more accurate than standsrd one, but they don’t create UV coordinates on the mesh. Maybe, later I’ll fix this, but this time there was no need in them.
stCreate_Strands_TopoDesc compound use StrandUpVect attribute for section orietation of the extrusion. StrandUpVect is a 3dVector per-point array with the same size as StrandPosition. If there’s no StrandUpVect attribute on the pointcloud, it use Default UpVector input port instead.
For some reasons I don’t use PointPosition itself to create extrusion – just make first element of StrandPosition equal to PointPosition.
Here’s a short video about using stCreate_Strands_TopoDesc and stCreate_Mesh_From_TopoDesc compounds.
Played a little with ‘interactive playback’ simulation environment mode. Some simple ICE Kinematics and some ICE mesh and nurb deformation – and here we have quite useful auto-rotated wheel rig. I used to do it with ScOps before, but it’s much easy and comfortable to built such things with ICE.
Note. If you hide nulls in viewport, it becomes a little bit buggy (but doesn’t stop working at all:) ) . Strange but true.
ICE compound for aligning mesh objects on a curve. Note that when curve makes U-turn around upvector axis, mesh “flips” – turns on 180 degrees around curve. So it’s not enough for a real worm rig (but there are some solutions for this), but quite useful in many other cases so I used it in real projects a couple of times.
A simple compound that pins vertices of one mesh to another (objects must have the same topology). It’s really very simple and easy-to-build ICE trick, but I used it a couple of times and then decided to make a compound to avoid building it again and again. Quite useful in some specific cases..
ICE compound for bending paper effect. Inspired by Curriculum Vitae commercial. I was impressed by this video and thought of how could this compound work.. and, I think, I got the idea. It’s quite simple but useful. Guess, they used more complex one in a real production, but I didn’t need any more from it, just checked the idea.
ICE compound for flipping shapes. Doesn’t need Symmetry Template Map. Create ICE tree, insert compound, connect to tree, plug shape’s name into Shape In Name port and play with options.. You can freeze the tree after it’s set up – the shape will stay flipped (but it will freeze Copy Shape operator too!).