PW Hair Alpha 0.75
Written by Peter Watje
Copyright 1997

Alpha ver 0.8 Hair strands now pick up the MaterialID of the face that it is emitted from.  Basic Spline Cage is in.

Alpha Ver 0.75 fixes the texture problem, it now correctly pulls the TV from the emitter.  Also fixes the first segment for 3 sided strands type.  Secondary motion and Motion Transfer are now active.   Adds spline graph for secondary motion and motion transfer.  There is now a write around for World Space Modifier when using a emitter object with a WSM on it turn on the Emitter has WSM check box otherwise bizarre things happen.  Speed ans Str. Falloff now means something it used to to calaclate against space warps now.

Alpha Ver 0.7 Fixes a crash bug for the distribution map.  There now a MotionGraph object in the Create/Spline/Default section.  The MotionGraph will be used as a graph to control various aspects of the hair.  You can use the mid horizontal spline in the MotionGraph to create a graph(Note the scale field does nothing know).  Right now you can only use it for the Length Modifier.  Note found a bug with World Space SpaceWarps (such as Bones Pro) that effect the emitter causes major problems.

Alpha Ver 0.6 adds secondary motion, motion transfer, and a distribution map.  Also increases  speed substantial from the 0.5 alpha.



Hair is particle used to simulate hair.  It was mainly aimed at doing long head hair but can also be used for short body hair. Since it is a paericle system most particles space warps will work with it with the exception of deflectors which will be treated as cutters (not implemented).  Basically Hair evenly distibutes strands (will be able to control distibution with bitmaps in future vers.)of hair across on object.

Fields

Viewport Count is the number of strands in the interactive render
Render Count is the number of strands when rendering
# Segments is the number of particles per strand, higher the # Segments smoother the strand locks but more vertices and higher memory usage.  Total vertex count = Strands * Segments *3
Base Length - Does nothing now

Strands/Dots/Ticks determine how the particles are drawn in the viewports

Hair Width is the width of an individual strand of hair
The button below now is to assign a Motion Graph for length of hair over its life.  So you can create a changing width over the length of the hair.

Render Radio buttons determine what the particles look like at render time.  All the particles are standard except 3 sided which is a strand of hair particle.   There  is now a 1 sided particle which is similiar to the Facing particle but it builds strands instead of just a square.

Generate W Mapping does not work correctly right now, but basically you will be able to add a W coordinate in addition to the UV mapping to be use with a new blend material so you can chanage the color based on the length.

Emmitter Shape button brings up a dialog which allows you select an object to emmit the particles from.

Emitter Object Collision - not implemented but will allow the strands to bounce of the emitter object to prevent cut thru.

Length Modifier
  
   Min: is the minimum length of a strand
   Max: is the maximum length of a strand
   Button - sets a grey scale bitmap used to control the length of strands across the object
   Absolute - check does nothing right now.

   Note right now to update hair the Min and Max fields you need to press the file slector button


Spline Cage 
   
   Now brings up a dialog but still does nothing right now but will allow you to control the hair volume shape with splines.

Distribution Map - allows you to control the density of the strands through a bitmap.  Not full implemeneted but does work most of the time, note cannot be an animated map.


Velocity Modifier
   Speed - now works in relation to space warps
   Tumble and Tumble Rate are only for  Triangle & Snowflake particles

   Str Falloff is the stiffness of the hair allows you to influence how much the space warps  effect the strand at 0.0 Space Warps effect the strand 100% all the time and at 1.0 the space warps effect the particles 0% at the beginning of the strand and 100% at the end of the strand.


   Secondary check box gives particles secondary motion which is reduced as the particle ages.  This is an expensive CPU cycle and memory op rigt now.  Also now supports a spline graph so you can control the amount along the length of the hair.

   Seconadary field and scrollers do nothing now and are now gone.

   Motion Transfer - transfers the the emmitter objects transform to the strand.  Basically stiffens the strands.  This is just expensive for CPU cycles.    Also now supports a spline graph so you can control the amount along the length of the hair.

Clumping Modifiers - do nothing right now

Timing - Not sure what the effect is here, a left over from the previous particle system.


Basic Usage
1.  Goto Fram 0
2.  Create an emmitter object
3.  Create a PW Hair particle object
4.  Fill in fields mainly min and max length, Viewport and render Count, and width
5.  Assign an emmiter object



Bugs 
1.  Hair is not visible for frames 0 to SegCount while it is growing.
2.  If you assign a Distribution Map to an object with no or very few TV it will lock up.
3.  W mapping does not work

To Do
Spline Cage Controler Half way done
	Edge Walking for distance
	Length based on spline cage
	Normalize Splines need to be implemented
Vertex Motion Transfer - easy
Clumping Bitmap code- easy
Make all falloff based on Distance and not age - easy
Str Bitmaps - easy 
Str Fallloff Bitmap - easy 
UV/W blend material - unknown
Wire and custom hair shapes - easy 
Planar/Spherical/Wedge Localized space warps -easy 
A Bitmap for each MatID for an object - easy but a lot of rewrites
Emitter Object Collision - major difficult
Use fill hairs - unknown
Cleanup Motion Graph object - just work
Back  Lighting material
MultiThread support

Martin Foster
Glen Melenhorst
Blur Studio
Paul Hormis Autodesk

Johnny Ow
Michael Spaw
Chris Rock
GlyphX
Ian Christie
Stanford Kennedy