Kristinka Hair 3.0 released

Plugins linking to this thread: (hide)

Kristinka Hair 3.2Author: Anto Matkovic
The July 2014 update is another big one introducing new nodes like »Fit NURBS«, »Curls advanced«, »Curvature Amplifier«, »Grouping in Form« »Follow CurveList« »Stretch Hair« »Hair Filler Rounded« — for a full description see the si-community thread and the updated documentation.

The Kristinka Hair toolset is a new and unique way to set up, style and simulate hair using ICE nodes. A set of fully customizable ICE nodes Scalable, from only a few basic compounds for building basic hair, to very complex structures. Hair styling that always considers the whole shape of the hair. Styling works well for short and for long hair. Unlimited hair length, unlimited number of hair segments. Automatic, procedural generation of details - always with full control. Locks, clumps, curls, turbulence, are created by ICE compounds Additional modifiers, like cutting hairs by external geometry, constant strand length for key frame animation, resampling and subdividing strands, morphing with another hair, modulating hair's distribution over emitter, so user can increase density on most visible areas Full support for the Sofimage's built-in Strand Dynamics Framework simulation engine. Only factory ICE nodes were used, it should work nicely with any Softimage version from 7.01 on.

Other media available: Version 3.1's online 'first steps' tutorial. si-community user Bronco67 has created a video introduction for an earlier version available here. Also: A rendering tests thread, a TV ad by PsyOp featuring Kristinka Hair.

In case you want to apply kH3 nodes and dynamics on top of strands that were not generated by kH3 itself, here is a setup to enable that.

local backup: kristinka_hair_32_02july2014.rar

Post Reply
User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia
Contact:

Re: Kristinka Hair 3.0 released

Post by Mathaeus » 11 Jun 2012, 21:55

Hello,

Here is last update, Kristinka Hair 3.1. what's new:

First of all, there are a few contributions.

Jonah Friedman from Psyop is author of nodes with "JF" suffix. People at Psyop created their own tools on top of kH3 framework, here is one of results. As far as I understand, they kept the "chunk" based emission on NURBs surfaces, concept of "form" and "modifier" nodes, deformation vectors, method for hair filler...
Probably most interesting is "KH3 Curve Interpolate Between NURBs Surfaces JF.2.2". That's a form creation node which does cubic interpolation between multiple NURBs surfaces. That's how author describes it: "The easiest case to describe it's use is for a Mohawk. It very clearly and explicitly defines how a volume is to be filled with hair." And that's how my trial looks like:
Image

There is also "KH3_Follow_Curve_JF_Orientation", as name says, it respects orientation of curve. Also it makes sure to keep curves from "stepping on" each other, while with "standard" one, new input just overrides the previous one. Then, "KH3 Find Cut Point JF" which finds the exact intersection point of strand and geometry. Could be used for cutting the strands by geometry. And more...
I didn't had a chance to do a full test, some internal nodes belongs to higher SI version than mine. Let's say there is small chance that something *after* in ICE tree, works a bit different than "standard" kH stuff.


Mihail Dzhurev from Chaos Group is author of "_kH3 Strand Size In Absolute Units". Node is a mix of "kH Strand Size" and factory node for setting an absolute strand size. That is, this node should be "enough for all what you need", if you want strand size in SI units. It's not only for V-Ray, of course.


Other than that:

1: Big kH Follow NURBs has a new method to avoid sampling on unwanted side of hair parting line, I call it "extended inverse midpoint" :). I'd believe the only one default parameter, should serve nicely all the time, even on hairdos like you see in my avatar.
2: New modifier node, called "kH Loose Hair". It randomizes each strand position in local space, removes some segments, finally interpolates a new curve. Result is random shape, able to skip details of original, but still following the main shape. Here is for what is meant for:

Image

3: kH Follow Curve now respects orientation, in smaller extent than Jonah's version does. I've also added additional raycast to "kH Cut By Geo Volume" for exact cutting point. Honestly I wouldn't go with these improvements, but, when Jonah already did, I should too... :)
4: Other small improvements all around
5: From sctratch new system for sticking hair to mesh stripes - or - Syflex simulation on them, or any else deformation on stripes. It still requires a few forth - back steps. But doesn't rely on distance-based geo querry anymore, you'll need just one mesh. Few of accompanying utility nodes are able too, and...
6: full Syflex-on-mesh-to-strands setup, in "simulation_syflex_done.emdl".You'll need only to import model and start playing.
7: Updated Docs
8. HTML tutorial, from creating the base emitter, to Syfex setup.
9. new nodes are version 2.0, should load in ICE tree instead old ones, but won't overwrite them on HDD.
10. nasty disclaimer - kH31 stuff is free, but don't count on support, there is no warranty of any kind, so on.

Download kH31 compounds, samples, docs, tut

Good Luck !
Last edited by Mathaeus on 12 Jun 2012, 01:30, edited 2 times in total.

User avatar
talent103
Posts: 181
Joined: 08 Jan 2010, 15:47
Location: New York City
Contact:

Re: Kristinka Hair 3.0 released

Post by talent103 » 11 Jun 2012, 22:51

Whoah!! This is awesome. Will take some time for me to process. :)

User avatar
mattmos
Posts: 445
Joined: 02 Dec 2009, 16:59

Re: Kristinka Hair 3.0 released

Post by mattmos » 11 Jun 2012, 22:58

Thanks mathaeus! Awesome to see a few updates and also nice to see some communal development. All the hard work is much appreciated!

User avatar
gustavoeb
Moderator
Posts: 587
Joined: 21 Jul 2010, 00:33
Skype: gustavoboehs

Re: Kristinka Hair 3.0 released

Post by gustavoeb » 12 Jun 2012, 03:36

Congratulations on the update Matheus! And thankyou for supporting Kristinka all this time. I found it very valuable and easy to use. Also many examples of very good hair generation and combing are all around the forums and such, like the video you posted here, the images you post eventually, and stuff by other people (like this one: http://www.xsibase.com/forum/index.php? ... 57;start=0).
Hope you are able to continue with this over time, and that contributions from other people like JF may grow this into even more awesomenes.

As a side-note, I would like to know what are the limitationts that keep kH from being more friendly towards polymshs. I am sure there are many, like the absense of a UV to Location in this kind of object. Are they at all passive of being overcome? Would a comunity project be able divise and conquer some of them? Or is it something that can only be done with improvements in ICE itself or complicated custom nodes?

Again thanks for all the effort you put in this awesome tool :D
Cheers
Gustavo Eggert Boehs
Blog: http://www.gustavoeb.com.br/

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

Re: Kristinka Hair 3.0 released

Post by Mathaeus » 12 Jun 2012, 11:40

Thank You all for attention !
gustavoeb wrote: As a side-note, I would like to know what are the limitationts that keep kH from being more friendly towards polymshs. I am sure there are many, like the absense of a UV to Location in this kind of object. Are they at all passive of being overcome? Would a comunity project be able divise and conquer some of them? Or is it something that can only be done with improvements in ICE itself or complicated custom nodes?
kH stuff is on the street for about three years, hopefully it's not "shooting into dark" for a long time. Generally, feedback from one-man-band users says... first problem is related to transformation of any kind. Simulation, simple deformations, anything... So, most of my work in this release is focused to strands-to-Syflex workflow. I already have a few ideas for improvement.

NURBs vs mesh, well there is a way to overcome direct tweaking of NURBs, one method is already mentioned in tut. However there is a danger of introducing the new, unknown method, together with tons of related details, good and bad sides. Let's say, even relative small switch from kH2 to kH3, introduced a lot of noise.

About ICE limitations, I think, once I am on this road, it's my part to overcome them, instead of spreading a "good guy in bad company" stories. Imagine modeler's show reel, talking that he didn't finished this or that, because of problems with xxx modeling tool. No go...

izze
Posts: 176
Joined: 24 Sep 2009, 20:02

Re: Kristinka Hair 3.0 released

Post by izze » 05 Mar 2013, 21:12

Hey Mathaeus,

Can I ask you about fur vector by null? I have been creating my null vector field and constraining the nulls to the mesh for animation. Now I have an animation where nulls cross over each other and the influence gets effected. Is there a way to bake or set initial state for vector field on a deformed mesh? Thanks.

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

Re: Kristinka Hair 3.0 released

Post by Mathaeus » 06 Mar 2013, 00:02

izze wrote:Hey Mathaeus,

Can I ask you about fur vector by null? I have been creating my null vector field and constraining the nulls to the mesh for animation. Now I have an animation where nulls cross over each other and the influence gets effected. Is there a way to bake or set initial state for vector field on a deformed mesh? Thanks.
Hello Izze,

well, nulls are supposed to stay around static emitter. After that, everything is deformed later, by "deform hair" node or something else, using deformed copy of emitter mesh. This deformed copy don't need to carry any tangent map, ICE tree or like.

About crossing, there is a bit more precise version of "deform hair" in attachment - this one uses a mix of polygon reference frame and point normal. Should be just a bit slower than original "deform hair" (which uses only polyref frame for delta), but still with nicer interpolation, without effect of faceting - but with a small chance of flipping at very high angle between polygons of deformed mesh. That is, as long the mesh is used for deformation delta, this mesh should be deformed smoothly.

If you want to experiment:

There is also in attach, an example for baking the "vector field" into vertex colors - just in case you want to live without nulls, at some point. Might be faster too. It wants some switching procedure, baking goes to vertex colors of (yet another ...) copy of emitter, using ICE tree on this mesh, then it needs to be frozen. This is, because baking back from point cloud to emitter, is dependency cycle. Then in ICE tree on Point Cloud, you can replace the emitter, also to call vertex colors as vector field. This is a bit old school method, today I think it's possible to use attribute instead of vertex color - but lovely switching procedure is still here. Anyway don't forget to change vertex colors to float (in PPG of vertex colors).


deform hair by orientation

izze
Posts: 176
Joined: 24 Sep 2009, 20:02

Re: Kristinka Hair 3.0 released

Post by izze » 06 Mar 2013, 01:26

Ah ha. I understand now. Thank you so much!

izze
Posts: 176
Joined: 24 Sep 2009, 20:02

Re: Kristinka Hair 3.0 released

Post by izze » 27 Mar 2013, 17:14

Ok, I finally finished grooming and animating my little furry character. Now I was trying to render with simulation effects. I cannot seem to get simulation to work with Deform Hair setup. The strands no longer follow my deformed mesh. Is simulation with deform hair possible?

Here is my test scene

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

Re: Kristinka Hair 3.0 released

Post by Mathaeus » 27 Mar 2013, 21:15

izze wrote:Ok, I finally finished grooming and animating my little furry character. Now I was trying to render with simulation effects. I cannot seem to get simulation to work with Deform Hair setup. The strands no longer follow my deformed mesh. Is simulation with deform hair possible?
Hello Izze,

As you said, this node isn't that smart. It's meant just for following the deformed polygons, that's all. I definitively need to talk with that ignorant (that is, me) who put it into "simulation" folder.
Unfortunately, there is no anything really streamlined in kH stuff, when it comes to simulation. In these almost four years of this pack on the road, as far as I know, successful simulation with kH nodes, belongs to people who already are able to create the similar system. Remote advice didn't worked, too.

izze
Posts: 176
Joined: 24 Sep 2009, 20:02

Re: Kristinka Hair 3.0 released

Post by izze » 27 Mar 2013, 22:16

Ah, ok. Still the best hair system out there. Thanks again for coming back to answer all my questions.

adrencg
Posts: 196
Joined: 05 May 2012, 00:50

Re: Kristinka Hair 3.0 released

Post by adrencg » 28 Apr 2013, 03:06

Hey Mathaeus, I was looking at year old post from the Luxology forums...

http://forums.luxology.com/topic.aspx?f=9&t=68706

How did you get the ICE hair from Softimage? I know point oven will work on Regular Softimage hair, but not on ICE strands.

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

Re: Kristinka Hair 3.0 released

Post by Mathaeus » 28 Apr 2013, 12:52

adrencg wrote:Hey Mathaeus, I was looking at year old post from the Luxology forums...

http://forums.luxology.com/topic.aspx?f=9&t=68706

How did you get the ICE hair from Softimage? I know point oven will work on Regular Softimage hair, but not on ICE strands.
Hi,
I,ve exported curves via MDD, not strands. Curves were generated by Fabricio Chamon's Strand to Curves addon. ICE generator was a special ICE point cloud, generated from original one. I think there's "kH Clone Point Cloud" node or something like, under "shading" folder of kH3. Basically it choosing every nth strand of original point cloud, then makes a clone. This makes some kind of guides for hair in Modo.
However, with all that conversions, where only guides are transferred, imho it's close to impossible to get 1:1 result, especially with something created in open system like ICE. All data related to interpolation is lost, that it is. Also, at least in Modo 601, Modo hair system looked like something created with short hair/fur in mind. If I'm correct, interpolation was always influenced by orientation of polygons of subdivided mesh - not played nicely with long hair.
BTW, next export to try, even I don't know how hard is to do it, for now, it's for Blender Cycles.
Tried this one, and I'm very impressed by quality, even reasonable speed for path-tracer. Unfortunately doesn't support motion blur, yet.

adrencg
Posts: 196
Joined: 05 May 2012, 00:50

Re: Kristinka Hair 3.0 released

Post by adrencg » 28 Apr 2013, 17:05

Mathaeus wrote:
adrencg wrote:Hey Mathaeus, I was looking at year old post from the Luxology forums...

http://forums.luxology.com/topic.aspx?f=9&t=68706

How did you get the ICE hair from Softimage? I know point oven will work on Regular Softimage hair, but not on ICE strands.
Hi,
I,ve exported curves via MDD, not strands. Curves were generated by Fabricio Chamon's Strand to Curves addon. ICE generator was a special ICE point cloud, generated from original one. I think there's "kH Clone Point Cloud" node or something like, under "shading" folder of kH3. Basically it choosing every nth strand of original point cloud, then makes a clone. This makes some kind of guides for hair in Modo.
However, with all that conversions, where only guides are transferred, imho it's close to impossible to get 1:1 result, especially with something created in open system like ICE. All data related to interpolation is lost, that it is. Also, at least in Modo 601, Modo hair system looked like something created with short hair/fur in mind. If I'm correct, interpolation was always influenced by orientation of polygons of subdivided mesh - not played nicely with long hair.
BTW, next export to try, even I don't know how hard is to do it, for now, it's for Blender Cycles.
Tried this one, and I'm very impressed by quality, even reasonable speed for path-tracer. Unfortunately doesn't support motion blur, yet.
You're right...Modo Fur is just for fur. Long hair doesn't work that well, especially styling.

I can't remember if I asked this before, but is there a way to use Kristinka and have splitting of regions between collision object, like the shoulders. Is there was to define areas that are not interpolated so that you can get hair regions that separate from each other?

I thought about learning Blender. How are you liking the interface improvements and Cycles?

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

Re: Kristinka Hair 3.0 released

Post by Mathaeus » 28 Apr 2013, 21:15

adrencg wrote: I can't remember if I asked this before, but is there a way to use Kristinka and have splitting of regions between collision object, like the shoulders. Is there was to define areas that are not interpolated so that you can get hair regions that separate from each other?
yeah you're already asked :), so answer again:

- generally, hair is interpolated along NurbS surfaces, splitting goes in between them. I'd believe, provided samples show of this as well. There are ways to do splitting inside area of single NURBS surface, like in "follow_nurbs_offset" samples from pack.

- there is no public available node for automatic hair splitting, according to some external geometry. Shouldn't be hard to create something along this line, but I don't see anything close to user friendly, easy understandable setup.

adrencg
Posts: 196
Joined: 05 May 2012, 00:50

Re: Kristinka Hair 3.0 released

Post by adrencg » 29 Apr 2013, 17:28

When looking through the Kristinka example models, I noticed that the Syflex sim separates the hair based on the strips. That's exactly what I needed.

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests