Help Needed for Achieving Better Randomness

 
 
 
Posted by:afite1
Data created:19 August 2019

This is a general question on how to achieve more believable randomness with the various operators available in Ornatrix.  I have been playing with beta of C4D ornatrix for a while and am excited about having another grooming option for C4D.  While the procedural work flow for Ornatrix seems really powerful, I keep finding myself with results that look very unnatural and uniform.  Everything from clumping, frizz, and so forth.  The default controls in the operators don't seem to be able to generate actual randomness on any given effect.

For example, if you are creating clumps.  I don't want every clump to look uniform and come to the exact same peak or same scale of clump.  I figured with the procedural nature of ornatrix you'd be able to have a way to input a randomness multiplier that could apply to the peak of a clump for example or a random phase value for a curl operator that would then be applied uniquely for every guide/strand.  Is there any easy way to do this?  I know there is a strand data generator and maybe that's the way to create the data I need, but it just seems more complicated then it needs to be.

Anyhow, I would be open to any suggestions including using the generate strand data operator.  There is just isn't a lot of good documentation on randomness that I can find for Ornatrix.  Any help is appreciated.

Hi, Thank you for your feedback. 

Frizz and Clump are both random (If you are using random clumps). In Frizz there is no way to generate uniform frizz, is difficult to give you an advice without looking at your groom but maybe you have set a Uniform Root distribution in HairFromGuides and GuidesFromMesh. If that's the case change it to any other distribution method. 

In the case of Clump, the clumps will be generated randomly across the surface. However, we let to users decide how to randomize other aspects of the clumps: Like Clump amount per guide or per guide clump, the length, size, etc. There is not a single parameter for randomization because that would limit the posibilities. To accomplish this, we added multiplier map and strand channel slots so the user can randomize certain parameter. For example, you can add a procedural noise map to the clump amount parameter, or use Generate Strand Data to create a random strand channel that you can feed to the amount channel, twist channel, etc. Another option you have to get a more natural effect is Preserve Strand Length and Attract to Closest Stem Point. 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

Hi Jeordanis,

Thanks for the reply.  Some of your points have helped a little as I experimented more with Clumps.  I tried using Random instead of guides and I got better results in terms of clump size variation.  That being said I was hoping for a more art directable approach to using guides as the basis for clumps but still have randomness in clump sizes.  

Secondly, while you can certainly use a procedural noise to add some variability as an overall multiplier, it doesn't truly provide unique curve shapes for the individual clumps regardless of whether the clumps are created via guides or at random.  For example, I could use a procedural noise to drive the Amount Multiplier and provide and overall strength variation of a clump shape via the Amount Ramp but all the clumps will still carry the same curve shape attributes with just a variation in uniform strength.  What I am looking for is something that would actually change the shape of the Amount Ramp.  For example, It would be like having a separate mulitplier for the shape of the base, middle, and peak of a clump.  In essence, you could get truly unique looking shapes for each clump not just size/length.  Does this make sense?

Lastly, procedural noise images aren't always a great solution for randomness because they tend to smoothly interpolate between variation values.  So again it doesn't look truly random but mathematical because you can see the underlying noise pattern driving the variability.  It's not to say procedural noises aren't a good method to have available, but it would be nice to have other mathematical approaches that are not strictly pattern based which is exactly what procedural noises do.