groomtools - hair layering compounds
Plugins linking to this thread: (hide)
Groomtools
A set of compounds for creating hair (ICE strands) by using groups of curves as guides
(By using groups, guides can be easily duplicated/removed). The generated strands
can themselves be used as guides, which allows to generate a number of effects including
clumping.
Hair can be styled using a layered approach, a layer represents a simple 'groom' that can be blended with other layers into more complex shapes. Blending of different layers can be done using a simple weight slider, or parametrically using guide distance, painted weightmaps or distance nulls. Each layer can have its own guide group, also guide groups or individual guides can be shared between layers. The provided sample scenes shows most of the available options.
See the si-community thread for more examples.
Requires: ICE Array Nodes
download: Hair Emit.2.0.xsicompound Hair Layer.2.0.xsicompound Morph To UV.xsicompound groomtools_1.52_demoscenes.zip
Hair can be styled using a layered approach, a layer represents a simple 'groom' that can be blended with other layers into more complex shapes. Blending of different layers can be done using a simple weight slider, or parametrically using guide distance, painted weightmaps or distance nulls. Each layer can have its own guide group, also guide groups or individual guides can be shared between layers. The provided sample scenes shows most of the available options.
See the si-community thread for more examples.
Requires: ICE Array Nodes
download: Hair Emit.2.0.xsicompound Hair Layer.2.0.xsicompound Morph To UV.xsicompound groomtools_1.52_demoscenes.zip
groomtools - hair layering compounds
Here's 2 new compounds "hair layer" and "hair emit" that do ICE strand interpolation from guide curves
Use as follows:
* Install ICE array nodes (won't work without)
* Create emitter poly mesh (shouldn't be closed geo, for example use top half of a sphere)
* Create UVs using property->Texture Projection->Unfold
* Paint a weightmap on the emitter, with higher values where the hair is to become more dense (this step is optional)
* Duplicate the emitter mesh, create an ICE tree on it and plug in the "Morph to UV" compound, rename it to *_uv_helper or similar
* Create an empty point cloud, add a new ICETree and plug in the Hair Emit compound, plug the emitter mesh into this node
* Make the point cloud and the other mesh unselectable - this will help with the curve styling later
* Now you could add all following nodes to one ICE tree, but performance will be better when you separate the emit and the layer compounds to different ICE trees
* Create a new ICE tree on the point cloud and add a Hair Layer compound
* Plug the two meshes into that one, and a Get Data of a group with guide curves. Guide curves can be added dynamically by duplicating after that.
* Add more Layer or more Emit compounds (adding another Emit will make all existing strands guides - use this for clumps)
* You can modify layer parameters with factory compounds such as modulate by null
* You can add additional effects using factory nodes such as curl, plugged into "other effects" port. This is different than adding it as a new tree because it will use the layer blending
Some examples:
Example 1-- this was done with a hair layer compound creating blue strands and another layer compound on top that creates yellow strands, either using 2 guides.
Blending was done by distance to guide curve (blue using a much bigger distance than yellow so it fills the whole object)
Example 2 -- this uses "modulate by null" to blend the layers.
The first two layers (modulate by box shaped null) separating left and right (scatter blend)
The third (modulate by sphere shaped null) separating front and back (using regular blend)
Example 3 - This uses a second emit compound. When a second emit compound is used, it will use all strands created by the first as guides. No additional guides have to be plugged into the next layer compound.
It also uses the factory "curl strands" compound to add a curl to the strands. Curl size random ID is controlled by the ICE attribute ClosestGuideID, so all strands belonging to one guide will have the same random value. Dissect the sample scene for more details.
Example 4 - When no "override color" is used for the strands, it interpolates the guide's colors
Example 5 - fur
http://si-community.com/download/lb/rra ... scenes.zip
http://si-community.com/download/lb/rra ... ls_2.0.zip
(converted from attachments to downloads to save forum space)
Use as follows:
* Install ICE array nodes (won't work without)
* Create emitter poly mesh (shouldn't be closed geo, for example use top half of a sphere)
* Create UVs using property->Texture Projection->Unfold
* Paint a weightmap on the emitter, with higher values where the hair is to become more dense (this step is optional)
* Duplicate the emitter mesh, create an ICE tree on it and plug in the "Morph to UV" compound, rename it to *_uv_helper or similar
* Create an empty point cloud, add a new ICETree and plug in the Hair Emit compound, plug the emitter mesh into this node
* Make the point cloud and the other mesh unselectable - this will help with the curve styling later
* Now you could add all following nodes to one ICE tree, but performance will be better when you separate the emit and the layer compounds to different ICE trees
* Create a new ICE tree on the point cloud and add a Hair Layer compound
* Plug the two meshes into that one, and a Get Data of a group with guide curves. Guide curves can be added dynamically by duplicating after that.
* Add more Layer or more Emit compounds (adding another Emit will make all existing strands guides - use this for clumps)
* You can modify layer parameters with factory compounds such as modulate by null
* You can add additional effects using factory nodes such as curl, plugged into "other effects" port. This is different than adding it as a new tree because it will use the layer blending
Some examples:
Example 1-- this was done with a hair layer compound creating blue strands and another layer compound on top that creates yellow strands, either using 2 guides.
Blending was done by distance to guide curve (blue using a much bigger distance than yellow so it fills the whole object)
Example 2 -- this uses "modulate by null" to blend the layers.
The first two layers (modulate by box shaped null) separating left and right (scatter blend)
The third (modulate by sphere shaped null) separating front and back (using regular blend)
Example 3 - This uses a second emit compound. When a second emit compound is used, it will use all strands created by the first as guides. No additional guides have to be plugged into the next layer compound.
It also uses the factory "curl strands" compound to add a curl to the strands. Curl size random ID is controlled by the ICE attribute ClosestGuideID, so all strands belonging to one guide will have the same random value. Dissect the sample scene for more details.
Example 4 - When no "override color" is used for the strands, it interpolates the guide's colors
Example 5 - fur
http://si-community.com/download/lb/rra ... scenes.zip
http://si-community.com/download/lb/rra ... ls_2.0.zip
(converted from attachments to downloads to save forum space)
softimage resources section updated Jan 5th 2024
- Hirazi Blue
- Administrator
- Posts: 5107
- Joined: 04 Jun 2009, 12:15
Re: groomtools - hair layering compounds
Very nice! Thanks for sharing...
Stay safe, sane & healthy!
Re: groomtools - hair layering compounds
You're welcome!
Credits btw: Uses internally Fabricio Chamons's "Relax Particles" for the even follicle's distribution, Anto Matkovic's "kH3 Hair Length" for the randomized cut off, also Dan Yargici's "Create Strands from Curves" with an update from Guillaume Laforge, which inside is using Julian Johnson's "Array Cumulative Sum"
Credits btw: Uses internally Fabricio Chamons's "Relax Particles" for the even follicle's distribution, Anto Matkovic's "kH3 Hair Length" for the randomized cut off, also Dan Yargici's "Create Strands from Curves" with an update from Guillaume Laforge, which inside is using Julian Johnson's "Array Cumulative Sum"
Last edited by rray on 10 Feb 2016, 09:48, edited 2 times in total.
Reason: "Create Strands from Curves" wrong credit! Anto's last name fix!
Reason: "Create Strands from Curves" wrong credit! Anto's last name fix!
softimage resources section updated Jan 5th 2024
Re: groomtools - hair layering compounds
Would have been so nice back in the days when someone would have written a plugin to actually groom ice strands.
The workaround to connect it to S&H is just not really that elegant.
The workaround to connect it to S&H is just not really that elegant.
-
- Posts: 56
- Joined: 09 Nov 2009, 10:58
Re: groomtools - hair layering compounds
*ahem* Could be wrong, but I think you're using my 'Create Strands from Curves' compound...
Re: groomtools - hair layering compounds
Sorry, Dan - checked too quickly - it's indeed your's ofc! Guillaume posted an updated version here http://www.si-community.com/community/v ... =11&t=1778 that's where I got the notion from.
softimage resources section updated Jan 5th 2024
-
- Posts: 56
- Joined: 09 Nov 2009, 10:58
Re: groomtools - hair layering compounds
Ah, cool, no worries. I hadn't noticed he updated it. Cool. I have a bunch of compounds I've been meaning to share for ages, especially now as the curtain seems to finally be closing... I've been meaning to tidy some things up and never found the time. I'll make a thread and just dump them there for people to take and use as-is.
Great toolset btw!
Great toolset btw!
Re: groomtools - hair layering compounds
Cheers Dan Yes, the tidying always takes much longer than anticipated. This was almost 2 days. There's always the option to "dump" unfinished stuff on the resourcedump thread here: http://www.si-community.com/community/v ... =27&t=3205. But for that one I had the time...carnival weekend which I'm always happy to miss
softimage resources section updated Jan 5th 2024
- Hirazi Blue
- Administrator
- Posts: 5107
- Joined: 04 Jun 2009, 12:15
Re: groomtools - hair layering compounds
The sample scenes crash my Softimage whenever I hit render (MR & 3delight)...
And on the occasions it doesn't crash I get weird results like the following, with "Simple_2_Layers_Setup_v_1_4"
And on the occasions it doesn't crash I get weird results like the following, with "Simple_2_Layers_Setup_v_1_4"
Stay safe, sane & healthy!
Re: groomtools - hair layering compounds
It's using MR.
does the hair show ok in the viewport?
does it crash when you lower the number of emitted strands?
...when you delete the pointcloud?
...when you delete everything in the scene?
I'll upload the whole project tonight
*edit better try the 3_layers scene. The 2_layers scene has no real render setup.
does the hair show ok in the viewport?
does it crash when you lower the number of emitted strands?
...when you delete the pointcloud?
...when you delete everything in the scene?
I'll upload the whole project tonight
*edit better try the 3_layers scene. The 2_layers scene has no real render setup.
softimage resources section updated Jan 5th 2024
- Hirazi Blue
- Administrator
- Posts: 5107
- Joined: 04 Jun 2009, 12:15
Re: groomtools - hair layering compounds
Scene "Simple_2_Layers_Setup_v_1_4" is the only one that renders
with the following result: The other three scenes get aborted:
with the following result: The other three scenes get aborted:
Code: Select all
# ERROR : One or more framebuffers were invalid. Render aborted.
# ERROR : 21000-REND-RenderPasses - Unspecified failure - [line 258 in C:\Program Files\Autodesk\Softimage 2015 R2-SP2\Addons\RenderManager\Application\Plugins\RenderManager.vbs]
# ERROR : 21000-CUST-RenderCurrentFrame - Unspecified failure
Stay safe, sane & healthy!
Re: groomtools - hair layering compounds
very nice !
thanks for sharing !
thanks for sharing !
- Hirazi Blue
- Administrator
- Posts: 5107
- Joined: 04 Jun 2009, 12:15
Re: groomtools - hair layering compounds
I just exported the contents of the "Curly_1_4" scene into a new scene and it rendered. Took about 11 minutes though...
edit: with all shadows and shadowmaps disabled it renders in 29 seconds...
edit: with all shadows and shadowmaps disabled it renders in 29 seconds...
Stay safe, sane & healthy!
Re: groomtools - hair layering compounds
@julius Welcome!
@HB It renders quite slow because of the "fake GI" light setup.. but not that slow... try switching to rasterizer, it could be that I activated this setting only in Viewport B renderregion settings
These framebuffer messages might me some residual from the arnold plugin, but it shouldn't abort the render, that's weird. I'll make some better sample scenes later.
@HB It renders quite slow because of the "fake GI" light setup.. but not that slow... try switching to rasterizer, it could be that I activated this setting only in Viewport B renderregion settings
These framebuffer messages might me some residual from the arnold plugin, but it shouldn't abort the render, that's weird. I'll make some better sample scenes later.
softimage resources section updated Jan 5th 2024
- Hirazi Blue
- Administrator
- Posts: 5107
- Joined: 04 Jun 2009, 12:15
Re: groomtools - hair layering compounds
My previous 11 minute result was with scanline as it turns out.
With the rasterizer it took 25 minutes to complete...
(without the lightrig the rasterizer only needed 31 seconds)
With the rasterizer it took 25 minutes to complete...
(without the lightrig the rasterizer only needed 31 seconds)
Stay safe, sane & healthy!
Re: groomtools - hair layering compounds
That's absolutely astonishing work RRay! and looks fairly easy to setup, Kudos!
Who is online
Users browsing this forum: No registered users and 67 guests