Particle Fur System

This is a custom fur system mel that uses a particle instance which has full control of Number of furs, Rotation, Rotation noise, Scale, Scale noise, Rotation, scale noise mask, Dynamic simulation, Connection to dynamic field, Map (instance index), and Attachment control by using attributes and textures.



ho_particleFur.mel

test movie

Since it uses particle instance, it's reasonably fast enough. It can be useful when you make feather or leaves because you can use any geometry as fur and control attachment so you can make leaf fall effects. Also it can be connected to dynamic field just like Maya particle. All attributes can be controlled by both attribute and textures (procedural or file) at the same time.


addPerParticleGoalPointAttr()
This mel command made all possible. Since Maya ver 7.0, particle can reference a special surface attribute such as Normal or Tangent. Particle emitted from surface can have parent UV attributes that represent the position on the surface where particle was born. Each particle can use this information to be stuck to the surface using goal weight. Just like parent UV, addPerParticleGoalPointAttr() add goalWorldNormal0PP to particles so particle can use this vector attribute to control the angle of instances which is the key function of this mel script.




ho_convertExpressionString.mel

During developing this mel script, I made a small utility mel script that converts test expression code to mel code that generates the expression code. I had to test pretty long particle expression and embed it into the mel code, and changing object names to variable names was so annoying. Using this multi text replacement mel, I could easily make a long expression generation mel code.



If you add dynamic function on it, another particle is added and its goal target is set to original particle, so now the particle instance angle is controlled by the vector from original particle to additional particle instead of the surface normal. However, the surface normal is still used to set goal offset attribute for the additional particle.


And this is an example scene. Actually I made this fur system for this short animation project, which I’m currently working on.


High-Res version download - 13 MB


Here you can see a full demo movie. This was also the mel class homework in Academy of Art University.



Demo movie download - 58 MB
Demo movie codec download - camstudio codec