This week there has been some commotion in the Hair/Fur world with the release of GMH 2. A tool developed by Thundercloud studio (Founded by Phung Dinh Dzung) for Autodesk - Maya.
Please allow me give a little history...
Please allow me give a little history...
Maya GMH Hair script
In 2010 a student paper was published by Phung Dinh Dzung:
Phung Dinh Dzung - Innovation Report
In this report, a method was discussed where curve information was extracted from polygon geometry meshes and used as path information for paintFX hairSystem strokes in Maya.
From a grooming standpoint; a need is expressed by a designer or director: "This character/creature needs hair."
Often modelers are asked to put hair on their own creations. They are familiar with the art design/direction and it makes sense to make use of the artists already at a studio. A groomer who is already familiar with modeling techniques would find a solution like this very appealing. Rather than learning convoluted methods and workflows using other software (Shave & a Haircut, Yeti, Hair Farm, 3dsMax Hair & Fur, etc.)
As Autodesk - Maya is currently the industry leader in an expandable, highly customizable, "animation-friendly," software package, Phung Dinh Dzung produced a tool for managing the workflow through this "Geometry Mesh Hair" process or "Maya GMH Script (tool)." This tool was created with MEL (Maya Embedded Language) and was written converting geometry to subD surfaces, to NURB surfaces, extracting isoparms as curves from said surfaces and assigning paintFX to those curves, etc.
The GMH Hair script can be purchased at 3D Ocean:
GMH Hair script
In my humble opinion, the code for this first tool was poorly written.
Performance of this tool is of passable quality and does more or less what was intended by the author. I have used this process myself once or twice and have had some decent results. I can't deny the results this individual has achieved on his own work.
This innovation report also helped me to understand (in broad terms) much of what was/is possible using various approaches and methods in concert.
In 2010 a student paper was published by Phung Dinh Dzung:
Phung Dinh Dzung - Innovation Report
In this report, a method was discussed where curve information was extracted from polygon geometry meshes and used as path information for paintFX hairSystem strokes in Maya.
From a grooming standpoint; a need is expressed by a designer or director: "This character/creature needs hair."
Often modelers are asked to put hair on their own creations. They are familiar with the art design/direction and it makes sense to make use of the artists already at a studio. A groomer who is already familiar with modeling techniques would find a solution like this very appealing. Rather than learning convoluted methods and workflows using other software (Shave & a Haircut, Yeti, Hair Farm, 3dsMax Hair & Fur, etc.)
As Autodesk - Maya is currently the industry leader in an expandable, highly customizable, "animation-friendly," software package, Phung Dinh Dzung produced a tool for managing the workflow through this "Geometry Mesh Hair" process or "Maya GMH Script (tool)." This tool was created with MEL (Maya Embedded Language) and was written converting geometry to subD surfaces, to NURB surfaces, extracting isoparms as curves from said surfaces and assigning paintFX to those curves, etc.
The GMH Hair script can be purchased at 3D Ocean:
GMH Hair script
In my humble opinion, the code for this first tool was poorly written.
Performance of this tool is of passable quality and does more or less what was intended by the author. I have used this process myself once or twice and have had some decent results. I can't deny the results this individual has achieved on his own work.
This innovation report also helped me to understand (in broad terms) much of what was/is possible using various approaches and methods in concert.
GMH 2 Maya Hair Script
On February 25th a trailer video was released by Thundercloud studio announcing GMH2.
GMH2 Trailer
This script can also be found on 3D Ocean:
GMH2 Maya Hair Script
This was picked up and publicized through various CG websites such as It's ART on February 27th.
From what I can see of the GUI window, the layout is much improved.
Initial misconception: "Yay! A new plugin!" Reality: This is a script tool.
Evidence from GMH1 indicates that it is a collection of MEL scripts which are executed in sequence to achieve results. The install guide indicates that after copying the folder to your scripts directory (an environment path for Maya), you should initialize the script using a MEL command/script.
When I saw the release, I was hoping that this version would be a plugin for Maya written in C++ or utilizing the Maya API in python for custom nodes etc. Instead, I find that once again, it is using MEL (a language quickly becoming outdated although it does have direct interface with many internal Maya procedures).
*Some of what follow s is speculation as I have not personally used this product yet.
This particular setup seems to be designed around the polygon mesh, using the surface grid to define growth direction and shape. Follicle (hair base) information being parented or driven by initial edge of the geometric surface using the surface normal of the subsequent face to manipulate growth direction.
The input polyMesh is being used as an intermediary object for layered processes. If this version is similar to the previous, I am assuming internal conversions are being hidden from the user, but the method is still fairly straightforward [ie: input Mesh -> possible: subD (for shape accuracy) -> NURB (parameterized surfaces) -> result path (curve)]. Maintaining connections/history to the construction or layered processes allow the input polygon mesh to be manipulated and expanded as the user deems necessary. This also allows the input mesh to be rigged/weighted. (Possible to have the meshes weighted to joint chains driven by splineIKs to give 'clump' deformations)
It bothers me that the trailer for the GMH2 hair script identifies that 'it' is compatible with mentalRay, V-Ray, and mayaSoftware. Taking advantage of the paintFX module in Maya which is already compatible with those 3 render engines is false advertising. (The script is manipulating things which already exist inside Maya and can be achieved without the use of this script)
The script itself expedites the process of grooming in a modeling workflow, giving centralized access to controls and setup of the process, accessing existing paintFX, follicle, hairSystem and shader controls. However this is display and manipulation of controllers/processes rather than creation of anything unique or original.
Here are some potential limitations/problems; internal volumes of polygon forms (tubes, cubes, etc.), evaluation of non-conforming surfaces ('L' blocks/shapes, non-rectangular polygon strips, triangles). My experience has led me to be wary of relying too heavily on the paintFX module in Maya. As a tool built using internal Maya methods and procedures, I am concerned about the stability of a tool like this.
I noticed that all the meshes in the trailer were quad-based rectangular meshes. No triangles, no varying shapes. Essentially reducing the styling flexibility to strip modeling. This is not much of a hindrance, just a limitation to keep in mind when choosing this particular grooming solution.
I am concerned about how heavy this setup can get over time. The overhead cost of maintaining history on modeled strips can be a resource hog if it is not optimized effectively.
As a mule for the paintFX module, it should not be too bad, the problem could be introduced if the result paintFX were then converted to curves to render with Renderman for example.
Now... for simulation purposes.
On February 25th a trailer video was released by Thundercloud studio announcing GMH2.
GMH2 Trailer
This script can also be found on 3D Ocean:
GMH2 Maya Hair Script
This was picked up and publicized through various CG websites such as It's ART on February 27th.
From what I can see of the GUI window, the layout is much improved.
Initial misconception: "Yay! A new plugin!" Reality: This is a script tool.
Evidence from GMH1 indicates that it is a collection of MEL scripts which are executed in sequence to achieve results. The install guide indicates that after copying the folder to your scripts directory (an environment path for Maya), you should initialize the script using a MEL command/script.
When I saw the release, I was hoping that this version would be a plugin for Maya written in C++ or utilizing the Maya API in python for custom nodes etc. Instead, I find that once again, it is using MEL (a language quickly becoming outdated although it does have direct interface with many internal Maya procedures).
*Some of what follow s is speculation as I have not personally used this product yet.
This particular setup seems to be designed around the polygon mesh, using the surface grid to define growth direction and shape. Follicle (hair base) information being parented or driven by initial edge of the geometric surface using the surface normal of the subsequent face to manipulate growth direction.
The input polyMesh is being used as an intermediary object for layered processes. If this version is similar to the previous, I am assuming internal conversions are being hidden from the user, but the method is still fairly straightforward [ie: input Mesh -> possible: subD (for shape accuracy) -> NURB (parameterized surfaces) -> result path (curve)]. Maintaining connections/history to the construction or layered processes allow the input polygon mesh to be manipulated and expanded as the user deems necessary. This also allows the input mesh to be rigged/weighted. (Possible to have the meshes weighted to joint chains driven by splineIKs to give 'clump' deformations)
It bothers me that the trailer for the GMH2 hair script identifies that 'it' is compatible with mentalRay, V-Ray, and mayaSoftware. Taking advantage of the paintFX module in Maya which is already compatible with those 3 render engines is false advertising. (The script is manipulating things which already exist inside Maya and can be achieved without the use of this script)
The script itself expedites the process of grooming in a modeling workflow, giving centralized access to controls and setup of the process, accessing existing paintFX, follicle, hairSystem and shader controls. However this is display and manipulation of controllers/processes rather than creation of anything unique or original.
Here are some potential limitations/problems; internal volumes of polygon forms (tubes, cubes, etc.), evaluation of non-conforming surfaces ('L' blocks/shapes, non-rectangular polygon strips, triangles). My experience has led me to be wary of relying too heavily on the paintFX module in Maya. As a tool built using internal Maya methods and procedures, I am concerned about the stability of a tool like this.
I noticed that all the meshes in the trailer were quad-based rectangular meshes. No triangles, no varying shapes. Essentially reducing the styling flexibility to strip modeling. This is not much of a hindrance, just a limitation to keep in mind when choosing this particular grooming solution.
I am concerned about how heavy this setup can get over time. The overhead cost of maintaining history on modeled strips can be a resource hog if it is not optimized effectively.
As a mule for the paintFX module, it should not be too bad, the problem could be introduced if the result paintFX were then converted to curves to render with Renderman for example.
Now... for simulation purposes.
"GMH 2.0 is written to deal with hair shading and modeling only , we have not yet developed any in-depth dynamic workflow for GMH hair." - Thundercloud Studio
I mentioned a possible rigging solution earlier which could add some dynamic behavior. The underlying system in the GMH 2.0 is Maya's hairSystem nodes. Currently it looks like it is taking advantage of the classic hair system and doesn't utilize or deal with the creation and management of the nucleus systems. This choice is probably for the best.
Simulation should always be considered before or during the grooming process. Getting something to look nice is fine, but getting it to move after you get it looking nice is a frustration for any Technical Director.
Simulation should always be considered before or during the grooming process. Getting something to look nice is fine, but getting it to move after you get it looking nice is a frustration for any Technical Director.
In conclusion - Regarding GMH 1.0 and 2.0
I am always happy to see development on tools for assisting with the grooming, management and simulation of hair and fur in it's variety of applications and diversity of forms.
For introducing plenty of insight and theory about hair and it's management I am grateful to Phung Dinh Dzung and his work.
I think it is helpful to many artists to have access to this script tool and its approach.
This tool release will not have much impact on my work as a CFX Artist. I do not have any plan to make use of it now or any time in the future.
I am always happy to see development on tools for assisting with the grooming, management and simulation of hair and fur in it's variety of applications and diversity of forms.
For introducing plenty of insight and theory about hair and it's management I am grateful to Phung Dinh Dzung and his work.
I think it is helpful to many artists to have access to this script tool and its approach.
This tool release will not have much impact on my work as a CFX Artist. I do not have any plan to make use of it now or any time in the future.