Seamless3d Node Index



Examples for this Tutorial contained in seamless_way_examples.zip


The Morpher Node

The Morpher node is used for morphing the vertices in a part during an animation sequence. Morpher nodes are always descendents of Part nodes (contained in the Part nodes's morpher field). A Morpher's displacement field should contain exactly the same number of elements in it's parent's coord field. When a morpher node's weight field receives a value of 1 (for example via a ROUTE) the parent part displays its vertices as if the coords have been added with the values from the displacement field of the morpher. The morpher can be varied in how much it morphs its parent by varying the value sent to the Morpher's weight field. The weight field can vary in values of the range of 0 to 1

0.0 = no morph
0.5 = 50% morph
1.0 = full morph

Currently More than one morpher node can be contained in a part's morpher field and used to morphe different shapes with in a part for different animation sequences that happen at different times but currently seamless wont mix more than 1 morpher to a part simultaneously. This will be fixed in time.

Setting up a Morpher To Morph a Smile

The simple example called morphe_smile.smls is contained in the latest seamless_way_examples.zip file. Open this in seamless and you should see a in the 3d window a strip of red triangles representing a mouth which loops back and forth from a default mouth shape to a smile. The build nodes demonstrate how to set up a Morpher node for this task.
This is the procedure of the build nodes in sequential order.

  • Stem node generates rectangle of triangles for part "a"
  • ColorSweep colors part "a" red
  • CopyPart copies the triangles from part "a" to part mouth
  • Stem node which creates no triangles but containing a ECShift ( EC = Eliptical Curve) shifts the vertices for part "a" at the sides up (to form the smile shape).
  • CopyToMorph copies the coords from part "a" to the displacement field in the Morpher
  • RelateMorpher subtracts the values from the coords in the mouth with the displacement values so that the displacement field has values for a smile now in relative form to the default mouth.

Note I have put in an empty head part in this example because when output as H-Anim nodes I can see the morpher conversion to HAnimDisplacer nodes fails when the Morphers are children of Parts contained in the Seamless node's skeleton field. (no problem when the parts are descendents of parts) This bug will be fixed in the future.



Seamless3d Node Index



Copyright© 2000-2006 Graham Perrett thyme@seamless3d.com