Krakatoa + Hairfarm questions

Hi Guys,

Im new to krakatoa and i have a few questions im hoping someone can help me out with when it comes to hairfarm and prt hair. Please see the attachments which hopefully illustrate my issues.

  1. Im following bobo’s 3 part hair tutorial which is great. However, when using 3ds Max hair it passes the length of the spline to prt hair in world space. When you use hairfarm the coordinates system seems to be different. This becomes a problem when i want to control the thickness from root to tip which i can’t seem to do. I have attached an example of my magma flow, the hairfarm example and also the 3ds max hair and fur. How can i edit my magma flow to control the thickness? I believe i need to convert hair farm from object space into world space but im not sure how to do this.

  2. Secondly, when i render elements the normals pass doesn’t seem to include the thickness adjustments i have made and only renders the normals of the splines used to generate the hair as opposed to the final hair result. Do i need to do something in order to force the render elements to update the thickness?

Any help on this would be greatly appreciated!

Regards,

Mark


Hi Mark,

When the tutorial was made, we did not have a built-in Density control in the PRT Hair itself.

In the release version of Krakatoa you are using, you are getting the thickness (which is a Density falloff) calculated automatically without MagmaFlow.
Since you added MagmaFlow on top, and also multiplied the incoming Density by your calculation, you are getting the falloff set twice!
So the result in the rendered image reflects both the built-in Density Falloff of the PRT Hair, and your linear falloff on top of that.

Just enter the desired “Density Falloff” under “Data Controls” - a value of 1.0 means linear falloff (as in the flow you posted), a value of 2.0 brings the value to the power of 2, the default of 5 produces a thicker hair except for the very tip, and values between 0.0 and 1.0 produce a very thick root and then a very thin hair.
Disable your Density output and you should be able to get the expected result. It has nothing to do with the coordinate system (which IS different, but that affects only the Root position channel). The Disance and HairLength are in world units, but are not affected by the coordinate system changes.

Alternatively, if you want to keep on using your MagmaFlow, set the Density Falloff of the PRT Hair itself to 0. Any number to the power of 0 is 1.0, so the built-in falloff will produce a multiplier of 1.0 along the whole hair and your Magma will be the only thing affecting the output.

Regarding the Normals Render Element, you are NOT going to get the “Thickness” reflected in it. There is NO thickness (and There Is No Spoon! :wink: ) - you are setting the Density of the particles to fall off, so a particle is affecting the pixels it covers differently in the RGBA pass (the Alpha is getting weaker at the tips). But the Normals Render Element is supposed to provide you with RGB values that represent a vector in space! So changing their intensity would mean changing their direction, and you are NOT changing their direction anywhere in the flow. So most Krakatoa Render Elements output unfiltered data where all pixels touched by a particle get set to a full non-anti-aliased value. Same applies to Velocity, Z-Depth etc. Imagine if the Z-Depth value was anti-aliased - it would produce an incorrect distance if a pixel’s value was dimmed to account for coverage.
See here for some more details: thinkboxsoftware.com/krak-pa … ring-mode/

So in general, Krakatoa Render Elements are a very rough representation of the actual data, since Krakatoa is a Volumetric Renderer, and a Render Element’s pixel shows only data about the particle that is closest to the camera, not about the whole volume behind it. We added Render Elements because people asked for them, not because they make any sense :wink: Should Deep Compositing become reality in the future, we might be able to provide all data everywhere, but right now you can consider this an approximation…

Thanks very much for the quick response Bobo, much appreciated. Going to see if i can action this now.

Cheers,

Mark