Maya Hair Plugin - GMH2

New plugins, tools etc.
User avatar
Hirazi Blue
Administrator
Posts: 4918
Joined: 04 Jun 2009, 12:15

Re: Maya Hair Plugin - GMH2

Post by Hirazi Blue » 09 Jun 2016, 17:01

Maybe you could add some tutorial/documentation to Furax, so people less gifted like me can understand what's going on... :ymhug:
...

User avatar
FXDude
Posts: 923
Joined: 19 Jun 2012, 21:59

Re: Maya Hair Plugin - GMH2

Post by FXDude » 10 Jun 2016, 03:21

No prob, I'll be sure to include basic usage instructions & screen shots along with the compound

User avatar
Hirazi Blue
Administrator
Posts: 4918
Joined: 04 Jun 2009, 12:15

Re: Maya Hair Plugin - GMH2

Post by Hirazi Blue » 10 Jun 2016, 15:06

Thanks in advance... ;)
...

User avatar
Hirazi Blue
Administrator
Posts: 4918
Joined: 04 Jun 2009, 12:15

Re: Maya Hair Plugin - GMH2

Post by Hirazi Blue » 13 Jul 2016, 11:46

Can anyone please guide me through the steps necessary to set up "Furax" properly? :-s
...

User avatar
Hirazi Blue
Administrator
Posts: 4918
Joined: 04 Jun 2009, 12:15

Re: Maya Hair Plugin - GMH2

Post by Hirazi Blue » 22 Jul 2016, 17:10

BUMP... :p
...

benmalartre
Posts: 9
Joined: 14 Jan 2014, 10:45
Location: clermont-ferrand france

Re: Maya Hair Plugin - GMH2

Post by benmalartre » 27 Jul 2016, 11:34

Hello, I just can't make a proper tutorial right now as I'm not at home, I'm in england for a job
but for a basic setup you need a polymesh emitter, a polygon cage with two ICE compound(InitMesh and DeformMesh) and a "Root Vertices" cluster, and two points cloud
a guide one and a render one. When I come back in France I'll try to make a tutorial and proper packaging of the tool, but It will be in september...

User avatar
Hirazi Blue
Administrator
Posts: 4918
Joined: 04 Jun 2009, 12:15

Re: Maya Hair Plugin - GMH2

Post by Hirazi Blue » 27 Jul 2016, 11:39

Thanks... :ymhug:
...

User avatar
FXDude
Posts: 923
Joined: 19 Jun 2012, 21:59

Re: Maya Hair Plugin - GMH2

Post by FXDude » 03 Sep 2016, 14:07

Hi Sorry for the delay, (one thing led to another)
but just to give an update,

Introducing HairDew !
ImageImage


(Don't know if possible to can scale video portals, but there's the full screen button if too small)

A set of ICE and RenderTree compounds, or more accurately, an importable setup from which you just drop an emitter and obstacles in their respective groups.

The Dynamics is a compounded ver. of Roughy's Strand Collision Framework
Strand Collision Framework
https://vimeo.com/76018502
exposing it's ice tree parameters, and embeddeing whatever I found useful (forces and things) for making all sorts of hair behaviours (also featuring makeshift tabs)


... and the rest is quite literally a fusion of Melena and Kristika (Kristi-lena?) hair.


RRay's GroomTools is also initialized on the strands, which allows for the most artistic direction, allowing to curl around curls and things with it's layered appraoch, yet (without having investegated deeply) I wasn't able to get stable clones around guides as it's using closest locations to nearest guides , which I don't see how that could not be ever changing across frames, but I'm positive there a way to establish closest locations once at the start, and keep their values for the rest (?)... I should ask RRAY !! :)


The ICETreeTrace tool was my friend, to trace back where various attributes were set and what was piped into them, in each of the tool's respective sample scenes/compounds, all to make their main compounds work together. (not all of them yet)

On a side note, already to a large degree can ICE nodes be combined (dealing with the same things), but the fact that not only simple but elaborate tools can be combined in such a way can really make you rethink about all that's over at RRay.de!

Image


Otherwise guides sim is pretty FAST (15 fps), which on their own can give a good Idea of motion at good framerates, but even with some some fair amounts of filling runs at a quite playbackable 4 to 8 fps, which makes for swift playblasts of hair volume that very accurately represents what comes out of rendering. (volume wise)

It's also pretty easy (and fun :) ) and strands can of course be rendered with Arnold or Redshift, but is also made to render nice and fast with plain vanilla XSI (dead renderer in dead software lol)

One of the main point of the shader compound was to get good enough (while faked) ambient lighting with directional bias, using a superwide volume shadow map essentially making like some very diffuse overall wraparound lighting (initially was raytraced soft shadows, yet for such diffuse light shadowmaps are cheaper with little or no compromise for looks),
along with accurate (traced) direct light transmission inside the hair volume.

The shading node in the compound initially was a HairTK shader as it was quite well featured, yet which I found be less than optimal when used with ray switching. It thrown no errors, but was somehow 3x as long ... as what I then used, which was the 'original' XSI muhHair (yes from 2003 ;D) which was the basis of Puppet HairTK shader, and whatever missing feature was easily reproduced with regular rendertree nodes.

The setup has completely independent hair optimized lighting, yet still exists among, and casts / receives shadows to and from other scene objects, so you position a main light roughly from where light comes from, an "ambient light" (and/or perhaps more lights to make highlights)
color them (perhaps picking colors from a gray ball in your scene to set ambient and main lights ) and that's it!

You can modulate/drive any parameter with wheightmaps, StrandRatios (gradient along strand), strand segment distance to nulls ... with outputs which are themselves modulate-able with Fcuves or with animatable gradient ramp remappings, ...... . . plus if you happen to come across a limitation, overriding the limitation is entirely possible with most of the inner workings being right there and human decipherable :) (yep ICE)

The dancer shown is RedJaiqua :) with a dance mocap and no weighting whatsoever, just the compiled DeltaMush Ice node which is awesome :)


So stay tuned for more, will probably start a new thread with the importable model attached!

And I may post other details when I get back this evening.

Cheers!
Last edited by FXDude on 03 Sep 2016, 15:19, edited 1 time in total.

User avatar
Hirazi Blue
Administrator
Posts: 4918
Joined: 04 Jun 2009, 12:15

Re: Maya Hair Plugin - GMH2

Post by Hirazi Blue » 03 Sep 2016, 15:17

Very impressive... :-bd
When will you get around to release the system (and (what) will you charge for it)?
...

User avatar
FXDude
Posts: 923
Joined: 19 Jun 2012, 21:59

Re: Maya Hair Plugin - GMH2

Post by FXDude » 03 Sep 2016, 15:46

Thanks!

All that's left is compounding/exposing the "Kristi-lena" styling Ice tree like I did for the StrandCollisionFrameWork, but UN-like it which was put together at the same time as actually making various sims with it, the styling tree hasn't been compounded as it was constantly ever changing or even starting over completely a few times.

Also I didn't investigate further about Furax node, because I though making strips or tubes from strands would have been much trickier than it turned out to be, which I found out only just recently (that it was easy and just as zippy :) ), so I may give Furax another go at some point.

Otherwise it'll be 499$ .. with a permanent 499$ sale rebate (=0) :) divided between all the authors of the tools used to make it :p

User avatar
Hirazi Blue
Administrator
Posts: 4918
Joined: 04 Jun 2009, 12:15

Re: Maya Hair Plugin - GMH2

Post by Hirazi Blue » 03 Sep 2016, 15:59

That's very generous... :ymhug:
...

User avatar
FXDude
Posts: 923
Joined: 19 Jun 2012, 21:59

Re: Maya Hair Plugin - GMH2

Post by FXDude » 03 Sep 2016, 16:20

I see it as "give and take" :ymsmug:

User avatar
rray
Moderator
Posts: 1551
Joined: 26 Sep 2009, 15:51
Location: Bonn, Germany

Re: Maya Hair Plugin - GMH2

Post by rray » 03 Sep 2016, 17:24

FxDEWD wow :-o that looks like it will be a great hair simulation tool, and it appears so unexpected (I think It deserves a thread of its own)

If you ask me :D, that's a good question about the GroomTools, that I don't know the answer to yet ^^ but I will investigate!
I think storing a lot of neighbor data was too memory hungry that's why I didn't do it.
It could be that ICE somehow allows to look up everything at frame 1, or if all else fails a fixed copy could be used for looking up neighbors.
But there could be a simpler solution too, for example storing the neighbor locations, not any data. Will have a look if that's possible.

Thanks for planning to release it also with the generous rebate! :-bd
"as a maya discussion grows longer, the probability of a suggestion involving deleting the preferences approaches one"

softimage resources section (formerly known as rray.de/xsi) updated May 30 2018

User avatar
druitre
Posts: 457
Joined: 25 Jun 2009, 23:35

Re: Maya Hair Plugin - GMH2

Post by druitre » 03 Sep 2016, 20:52

Very nice and generous indeed, FXDude. Like you said, there's lots of ICE-stuff around for making hair but nothing focused on a user-friendly workflow. Sure you'd be able to somehow get done what you want but not without loads of digging around and trial and error. All of which you'd likely have forgotten the next time you need to do some hair. Very cool if you have managed to sort this out and present a clear workflow.
Also might add this will be useful for a lot of things besides hair, everything strand and dynamics oriented can benefit.

(BTW, I second Rray's idea this warrants a thread of its own.)

User avatar
Mathaeus
Posts: 1711
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia

Re: Maya Hair Plugin - GMH2

Post by Mathaeus » 03 Sep 2016, 21:49

FXDude wrote: ... and the rest is quite literally a fusion of Melena and Kristika (Kristi-lena?) hair.
Thanks for playing with this ! Whatever you think is usable from kH, take it....
These days I'm a bit 'out' of hair-creation-in-visual-programming-system story, my XSI 7.01 is 'conserved' on old machine from 2011. Houdini translation got some attention only by creators of tools, is it better to do it in wrangle or VOP, and so on. Almost zero feedback from final users, so no way to develop the design, further. While actual set is a way more than enough for me.

I have to admit that impossible-to-spell name in English is intentional, idea was to get attention at first, which somehow worked :). It's Slavic diminutive suffix at the end, closest translation I think is Little Christine. When we are already about, there are two 'spiritual fathers' :), too. Member of old SI-Net, called Hirazi Blue :) who first asked for compounds. Joe Saltzman proposed a system. So, ideas of streamlining and systematization, are products of community :)
rray wrote: But there could be a simpler solution too, for example storing the neighbor locations, not any data. Will have a look if that's possible.
I think it is, Melena has 'strand location', but it was tricky to put into cache, it was possible only in certain versions of SI. Should work if caching is avoided.
The renderer "turtle" used by this scene, is not currently available. The "turtle" renderer will be used instead.

User avatar
FXDude
Posts: 923
Joined: 19 Jun 2012, 21:59

Re: Maya Hair Plugin - GMH2

Post by FXDude » 04 Sep 2016, 17:28

rray wrote:If you ask me :D, that's a good question about the GroomTools, that I don't know the answer to yet ^^ but I will investigate!
I think storing a lot of neighbor data was too memory hungry that's why I didn't do it.
It could be that ICE somehow allows to look up everything at frame 1, or if all else fails a fixed copy could be used for looking up neighbors.
But there could be a simpler solution too, for example storing the neighbor locations, not any data. Will have a look if that's possible.
Lol FxDewd :) and Cool! :) And actually, something of the sorts is already used to compute strandvelocity for motionblur, which is something that can be turned ON just before rendering, and will dynamically write strandPositions to then read what it just wrote by by the next frame and compare current strandPositions with those. So indeed I'm curious to try what I think you are saying, like refferring to a cache file written once at the first frame?

Yet for now since it's mostly working, efforts are going go to compounding the styling bit, and then I'll be sure to pick your brains once this first ALPHA (in big bold letters) is out!
druitre wrote:Sure you'd be able to somehow get done what you want but not without loads of digging around and trial and error.
Indeed, yet so it seems, regardless of what tools are used, getting fair end to end results seems tricky at best, there are user-friendly tools that can get you up to certain points in a jiffy, and tutorials around covering individual aspects for styling shading or sim, and you see nice hair pics, even some stills of hair in motion, but like when looking for references (usually half CG and and half real) I haven't come across many very (if not almost any) fairly convincing end-results with the aspect of time, other than isolated Houdini clips of hair dropping with heads rotating (witrh pobably pretty complex setups) or million dollar pixar flix.

But with so many intricacies at every level, for simulation, mulitplication or cloning, and finally rendering, getting anything stable across frames with something like tons of hair strands, it's not so surprising.

Which may have been part of the motvation, in SI (and you guys stuff :) ) an easy to use method seemed quite reachable, not unlike as it actually turned out to be! :)

Mathaeus wrote: closest translation I think is Little Christine.
Little Christine ! :-) I didn't know what Kristika meant but I liked it, but know I like it even more! :]
Mathaeus wrote:I think it is, Melena has 'strand location', but it was tricky to put into cache, it was possible only in certain versions of SI. Should work if caching is avoided.
Hum Thanks for the info! Are strandLocation locations in world space?
Right now hairs are cloned using your "Splay" node which together with randomized strand Transforms, are then stuck back to the surface with Melena's "move strand to surface" node, allowing to define distance to clone parent in random directions also with curve profile modulation (of wavy progression) along length, so strands can be gathered up towards the tip of parent clones which are mostly themselves clones with 3-4 levels like that making clumps with wide roots made of mini-clumps.


In any event, I'm anxious (and maybe a bit scared :) ) to put out something to be tried-out!