Kristinka C

New plugins, tools etc.
User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia
Contact:

Re: Kristinka C

Post by Mathaeus » 20 Jan 2010, 22:38

First that I see something like that, looks like some rounding issue. I guess it can help if you replace 'strands sample set' with the one in attachment - it has emission rate as a scalar value, just as original node.

strands sample set

By the way, I planning to post an 'service pack' :) to these compounds in a few days.

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

Re: Kristinka C

Post by rray » 21 Jan 2010, 00:31

Hi there, thanks a lot for your reply.

Afraid the new compound doesn't resolve the problem for me yet.

I just checked an old scene, the same issue occured with the old version of Kristinka.

Could be an ICE bug (?)
Reinhard

ps Service pack -- great! :ymapplause: Looking forward to it. Wondering why your toolkit doesn't cause more buzz on the forums
softimage resources section updated Jan 5th 2024

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

Re: Kristinka C

Post by rray » 21 Jan 2010, 00:59

Little update: It seems to be a rasterizer bug. Same thing works when using scanline or raytracing. Too bad, seem there's no easy fix.
softimage resources section updated Jan 5th 2024

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

Re: Kristinka C

Post by Mathaeus » 21 Jan 2010, 13:12

Here with 7.01, I had a lot of rendering problems when some, or all strand segments were at zero length. Such as broken final gathering, wrong shading normals, NaN pixels in case of Hair Geo shader, enormous use of memory in case of pHairTK shader...

...but really nothing that looks like a wrong ICE attribute in rendering. At last with these few attributes, used here. Fur and Hair render that I posted a few posts above, has about 70K strands only for fur, and it's rendered with rasterizer.

If it's possible to take analogy with that zero-segment-length problem, I would believe that there is a way to make Mental Ray's life easier, just by sending 'something other' to him - well, just now, I had no idea what is the solution.

Update will be mainly to fixing inconsistencies, redutant nodes, a bit more ways for preventing mentioned zero-length problem, so on.

Regarding popularity, perhaps people are waiting for plugin that gives them clear directions what to do, I expect response to know in which way to go :) . As it is for now, it's tailored around my own habits, which obviously isn't enough. Actually, it's a bit more popular, than I can support.

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

Re: Kristinka C

Post by Mathaeus » 03 Feb 2010, 00:42

Hi all

Regarding '10001 issue', for what I know for now, it's somehow related to emitter's mesh - some of meshes from v1.0 samples seems to working fine with 2010, for example 'Hair-from-Fur'. But animal model from 'Fur-Vector-Field', or 'Simulation-Fur' seems to be resistant to any strands setup, including setups done by factory nodes only. Funnily enough, I created these fur setups as an 'quick and dirty' solution for Christmas-time gigs, when it was almost impossible to meet the deadline by using Softimage's hair, and these setups were working just fine with my 7.01.

So update is a bit compromised. Fur stays the same, Hair is vastly changed to use simple emissions from NURBS surfaces, even without Generate Sample Set node. As usually, this is an advantage, and disadvantage. It's faster in interaction, I - guessing - because geometry queries have a shortest way for work, also setups looks more 'logic'. But it wouldn't be easy to shrink wrap NURBS surface around complex objects, that's a reason to keep NURBS emitters for hair only.

There are a lot of other improvements, clean ups, a few more options for splitting-grouping hairs, a few more nodes... everything, including updated tutorial, is ready, I'm pretty sure I'll post it tomorrow or day after. Sorry for delay.

Cheers

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

Re: Kristinka C

Post by Mathaeus » 04 Feb 2010, 00:26

Hi,

Downloads for version 1.1 are:
Samples and compounds
Tutorial with support files
Tutorial online


Beside the changes mentioned in previous post,

The 'main' deformer is still 'Follow NURBS' - this time, it don't need NURBS surface to be too close to hair roots. Even it's a slower than CrossSections, because of lot of geometry queries for every strand segment, it also provides a lot of info for later deformations.

I've added one of these 'sub-deformers' in sample model called 'Follow-Two-NURBS-Offset-Curves', where main shape of hair is deformed by another layer of curves. It's a bit wild because it's double deformation, it requires yet another point cloud to work, but generally, it's something I tring to achieve from start: to always keep main shape of hair, together with deformation that respect correct layering of hairs.

'Cross Sections' has a cleaner interface, and now with single NURBS emitter, I believe it can be easilly used for other purposes than hair creation.

For general NURBS modeling, perhaps compound called 'NURBS UV Density" may be interesting, it's a very simple compound that allows sliding of NURBS surface along itself.

Tutorial is updated, also I've added a few more tips about shading, NURBS modeling, so on...

For anything related, don't hesitate to ask, nothing is set in stone with these ICE compounds.

Also I would like to say a BIG thanks to RRay for diving into this stuff - shame on me, I've figured out just before few days that this is the same :) RRay who made RCTools, which I continuously using from XSI 4.


Cheers

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

Re: Kristinka C

Post by rray » 07 Feb 2010, 01:01

You are welcome! I'm enjoying your hair toolkit a lot (Diving into it is also a nice way to learn more ICE)
The updates make a lot of sense, I noticed the improvements in the follow NURBS compound right away - for the other nodes to check out I need some more time. The curve editing feature seems particulary useful, also the decision to go back to NURBS for hair I think is good. Cross section styling with a poly emitter was tricky =)

Btw I started writing up a little node reference, at least for the few nodes that I learnt how to use. I'll post it here when it's finished---let me know if there's something else I can do in terms of promoting your toolkit (maybe some editing of the Kristinka entry at rray.de/xsi, or some head models might be useful for web renders, see rray.de/sp)

Thanks for sticking with them ole RCtools for so long!=)

Oh the "10001" issue happened with the Softimage factory strands demo scene also, it must be some sort of limitation or bug in the rasterizer.
softimage resources section updated Jan 5th 2024

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

Re: Kristinka C

Post by Hirazi Blue » 07 Feb 2010, 10:02

A node reference would be most welcome... :ymhug: :-bd
Stay safe, sane & healthy!

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

Re: Kristinka C

Post by Mathaeus » 07 Feb 2010, 23:50

Yeah, node reference may be cool :) Honestly I've avoided to add something like that, because all these nodes are some kind of work in progress. So only a few deserves writing about them, I think. Here's brief description:

Emitters for first and second point cloud, also two 'strand profile generators': Follow NURBS and Cross Sections, are here for relative long time. Both profile generators were designed for creating main shape of hair in one go, avoiding using of many guides/curves.

Deformers such as Curls, Static Turbulence, Randomize, Push, all were builded using same pattern, strands are just moved along two vectors.

'Emit Hair'- it's compound for second, filler point cloud - has a lot of 'Emit Filler Strands' and 'Constrain To Guide Hairs' from PhilPack.

General way for hair parting/grouping rely on method described here, actually on second method described by Ronald Beirouti. I'm pretty sure I'll keep this method in the future.

'Strand fCurve' compound is taken from MT Strands samples, it may be interesting because something like that doesn't exist with factory strand nodes. It allows modulating of almost any scalar value along strand length, such as hair thickness, weight of deformers and such, also keeping PPGs clear of many function curves all around.' Get emitter UV' is doing the same, but this time, along U or V of emitter. Both are some kind of 'portable function curves'. Just these two, I think, may be important for figuring out the modular, 'lego bricks' concept of ICE nodes.

'Offset Curve' compound from 'Follow-Two-NURBS-Offset-Curves', it's something I found in last minute when working on update - as some kind of multiple, 3d function curve, it seems to be very useful. I just working on cleaner version that may be plugged where ever it makes sense, for yet another, small update.

'Big' simulation, the one from 'Simulation-PhilPack-xsibase-08aug09' is taken from PhilPack. Another one called One Point Dynamics, it's just simple implementation of Hooke's law, performed only on points.


Cheers

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

Re: Kristinka C

Post by rray » 10 Feb 2010, 12:22

Node reference is still work in progress but I'll post it tonight.

What I don't understand at all is the whole concept of spiltting offsets, including the kH Splitting Offset compound.
:-t

Any chance you got a minute to give me some clues as to how this works? I'm stumped :ymblushing:
softimage resources section updated Jan 5th 2024

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

Re: Kristinka C

Post by Mathaeus » 10 Feb 2010, 20:28

Thank You!

kH Splitting Offset is for proper hair interpolation around hair parting areas. It adds custom attribute to points, which is used later by kH Emit Hair, or kH Grouping compound. Emit Hait is doing a search for three closest UV points on guides, then it interpolates strands in between. If some of these points are on opposite side of line of parting, strands are interpolated in wrong way, like in last image. To prevent this, there is a way to 'cheat' ICE point locators, such as Get Closest Points, or Get closest Location node - at searching stage, points are grouped and moved to ensure that 'closest' point match to desired groups of hair. After taking attributes, points are moved back to their original positions.

Also, there is general styling purpose for splitting offset groups. In image, IDs, created by searching for closest location on 'subcurves point cloud', were used as splitting offset value.

Image


With Kristinka Hair nodes, both kH Emit Hair and kH Grouping compound are doing a search from UV point at emitters (instead from point position, as in PhilPack), which means this value, after conversion to 3d vector, is always somewhere inside point cloud's XY 0-1,. Splitting Offset value is able to change this (only at searching stage).

Modifiers such as Follow NURBS are able to set it's own splitting offset value, but this isn't enough when some parts of NURBS surface, used for modifier, are close to each other. For this case, kH Splitting Offset node is able to take modifer's UV, and create 'splitting groups'.
In image bellow, this somewhere in middle of Y(V) of modifier's NURBS surface. Another way may be using two modifiers on same NURBS surface, like before the last update, which isn't so convenient.

Previous version from September had a very limited way for proper splitting, dependent on shape of NURBS emitter. First version had alomost nothing. I've tried some automatic way, where every modifier adds splitting value to result of previous, but this wasn't enough, so there is a separate node, also values in modifier's PPG. Now it's possible to create splittng groups by weighmaps on emitter or influence nulls.

When using only one point cloud, all that Splitting Offset story has effect only when using kH Grouping node.

By the way, Softimage hair system has a way to do splitting that 'overlaps', which looks strange in viewports, but seems to be a nice option for covering the hair parting lines in rendering. I have a few nodes that doing something similar, but nothing as a definite solution, for now.


Cheers

Image

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

Re: Kristinka C

Post by rray » 10 Feb 2010, 21:59

Thanks a lot for the explanation! I have uploaded the first version of the node reference,

viewtopic.php?f=15&p=3139

I will work in the new info from your post when I have some more time.

Of course feel free to put the node ref on your site when finished (and corrected :ymblushing:)
softimage resources section updated Jan 5th 2024

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

Re: Kristinka C

Post by Hirazi Blue » 10 Feb 2010, 22:10

I promoted your new "node reference" thread to "Sticky"-status (at least until "owei" tells me otherwise :D )...
And must congratulate you on the effort!!! :-bd ;)
Stay safe, sane & healthy!

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

Re: Kristinka C

Post by Mathaeus » 14 Feb 2010, 01:48

Hi

First I need to say thanks to RRay again. I would say, that's a help and motivation that worth for a few thousands of nice words on forums!
I've added a link to Node Reference from my site, I hope I'll have a time to write more about these ICE nodes.

Here is a short changelog of new, small update:

- Nodes for making offsets on Follow NURBS and Cross Sections modifiers, are improved. Now it's possible to use multiple curves as input, there is no need for merged curve list or separate point cloud. The 'old' way is still possible, for now compound that takes the attributes for curve list and separated point cloud is called "kH Offset Curvelist".

- The same interface for using many input curves is present with 'Follow Curve' node. Note that this node, even it looks like a 'standard' hair styling tool, is designed mostly for slight offsets from main shape. It doesn't set both up vectors and tangents as Follow NURBS or Cross Sections does, so later deformers might look wrong with some wild usage of kH Follow Curve compound.

- There is compound that allow to use fur with NURBS emitters, inside the 'ussual' hair ICE tree. It's mainly for short hair, or mixing short and long hair. Sample with last two features is called 'Follow-Curve_Hair-Fur-From-NURBS' (what a name... :) )

- Random emission from Emit Hair and Emit Guides nodes is modified, to behave more like a emission from Generate Sample Set factory node. Now, when changing emission rate, points won't slide along emitters.

Downloads:
Samples and compounds


Cheers

caledonian_tartan
Posts: 253
Joined: 17 Feb 2010, 15:13

Re: Kristinka C

Post by caledonian_tartan » 17 Feb 2010, 15:27

this is absolutely great! thank you very much.
now i've a little question:

first i have a few discs assembled to one nurbs surface.
i'd like to use the assembled discs as an emitter for kristinka hair. (plugging in neighter multiple emitters nor a group of nurbs discs didn't work, so i tried to assemble them.)
second i have a few tubes to use the follow nurbs compound on. same problem...

so the problem is obvious. somehow the hair gets emitted only on one disc. and the follow nurbs does not work anymore.

is there any solution for this?
Attachments
nurbsemitter.jpg
nurbsemitter.jpg (44.39 KiB) Viewed 4861 times
SI 2015 @ WIN7-64

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

Re: Kristinka C

Post by Mathaeus » 17 Feb 2010, 20:21

Hi,

thank you for using these nodes

So short answer is: no, there isn't solution with this pack. Only one, single NURBS surface may be used for point cloud emitter. Only one, single NURBS surface may be used with kH Follow NURBS compound - of course, it's possible to modify strands with more than one Follow NURBS modifier, using different NURBS surface for each compound.

Long answer is, I didn't tried to allow using of NURBS assemblies together with Follow NURBS modifier, because I found problems at lower levels. There is Get Clocest Location node inside the compound, which may not work correctly with single NURBS surface which is merged, snipped multiple times, so on. Looks like a heritage from old problems when using Shrink Wrap operator on NURBS surfaces. I mentioned these problems in tutorial on my site. Generally, only single, open, fresh-lofted NURBS surface is "supported".

Also, modifier is designed for layers of hairs that are parallel to emitter's surface, with a few built-in options that produces look that you probably don't want here.

If you want strands to only follow the NURBS subsurfaces, simple way would be something like ICE tree in image. Only UV To Location node is used for point and strand positions, "Build Linearly Interpolated Array" compound is from Phil Pack.

Cheers

Post Reply

Who is online

Users browsing this forum: No registered users and 30 guests