YETI and Instancing Issue


#1

Can any one tell me why I am not getting the desired result on instanced geometry while using yeti fur system?My instance geometry is not following the length map I have painted i.e when I scale down or scale up the values the instance geometry remains unaffected by any change I make.
I am trying to follow “yeti_deformingInstanceExample” file which come with yeti.

Anyother sugeestions are also welcome.


#2
  1. Create sphere.
  2. Attach Yeti node to it.
  3. Attach groom node to it.
  4. add groom guides on groom node.
  5. brush groom guides on groom node.
  6. create cylinder with some (eg. 10) subdivs in height
  7. Add groom node to Yeti node.
  8. Add cylinder to yeti node.

Now Yeti graph part:

  1. Create network like in the example:
    Import sphere -> scatter ->grow -> comb0 -> instance0
    groom -> comb0
    import cylinder -> transform (not needed) -> instance0

Modify Instance node:
Instance -> “Instance To” set to “Elements”
Objects -> Deform - checked

Probably you are just interested in the last 2 lines though because all others are quite straight forward. Anyways - it works for me.


#3

Does scaling works with instance geometry in yeti?


#4

Thanks Benio for your reply,

As I have already mentioned that I followed the tutorial/example file which is basically what you have written in your reply but unfortunately for me scaling isn’t working on the instance geometry,not even in the example file.

Please check yourself, may be I miss something.


#5

Scaling works fine. Put in the “Instance” node in the “instance” tab, in “scale” field this
“[1.5,0.5,0.5]” without the quotes. Scales all the instances asymethrically up. If you wish to have per groom scaling you’d need to add an scale attribute and paint it on the mesh, and put your custom painted variable in the Scale field. Like [$scaleUp, 0.5, 0.5].

edit: Actually if you needed the length attribute and wish to spawn instances just where the groom fibers are just make 5 node setup:
import groom -> (up) convert0
import mesh -> (down) convert0
convert0 -> (up) instance0
import mesh4instance -> (bottom) instance0

in instance node in scale value enter “[length, 0.5,0.5]”


#6

Oh, my friend here explained what you might need - I guess all you need is to put “[length, 0.5,0.5]” in the instance node. Nevertheless in the “yeti_deformingInstanceExample.ma”, “instance” node does not know about “length” attribute because you did not pass it in the grow node. All you need to do is plug groom node at the bottom of the “grow0” node. That way you’re passing the length information to the network and you can use it later on in the instance0 node.

Cheers,
M.


#7

Hey Benio it worked fine Thanks.
Could you also explain me how I can use multiple clump in yeti .I mean one clump node over another clump node.
It is separate from my above question but what would you suggest I should do to achieve variation in the strength of my clumps apart from painting clump map.


#8

If you are trying to clump hair to a clumped hair - sort of like layered clumping, you need to convert first clump hair to strands using convert node, then clump, and convert back to the fiibers.

But if you just need “different” clumping in some areas there are multiple ways you could tackle the problem:

  1. use texture or groom attribute for the attribute you’re clumping.
  2. use texture, groom attribute, expression or bounding object to divide hairs to groups and then clump with groups.
  3. scatter and grow separate hair in the areas the clums should behave differently (the ugliest solution).

Probably there are more solutions maybe using parting somehow, but I’m not fond of using parting.


#9

Thanks Man I’ll try the methods you suggested.
Being a new to Yeti,I might again raise my queries related to Yeti’s function .I hope you wouldn’t mind answering them.


#10

No problem. Great source of knowledge provides yeti central community.


#11

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.