Tuesday, February 23, 2016

Convert curves (guide set) to Yeti Groom

If you need convert curves to Yeti Groom, you must create from curves maya Set and know shape name of object the guides are to be growing from. Then type MEL command:

pgYetiConvertGuideSetToGroom( "set1", "pPlaneShape1", "0.2" )

where: set1 - your set name, pPlaneShape1- shape name your object the guides are to be growing from,  0.2-  step size (less value - strands will be more detailed).

Script in action


10 comments:

  1. hey man, thanks for this tip! i dont see it anywhere on their site, this command!
    though, for some reason, its kinda exploding... would you mind taking a look, if you faced this issue before?
    https://postimg.org/image/8jgl8qrm9/

    much appreciated!

    ReplyDelete
  2. nevermind, figured it out. was an issue of the curves not having their base on the mash, but were reversed, some of them, haha... anyway, if you ever find yourself in the same boat..
    '''
    - go through each curve
    - get the first and last CV
    - get the first and last CV's translateX xform
    - if the last CV's ty is higher than the first, reverse curve
    '''

    allCurves = mc.ls(sl = True)

    for eachCurve in allCurves:

    curveShape = mc.listRelatives(eachCurve, s = True)[0]
    spans = mc.getAttr(curveShape + '.spans')
    firstVertex = eachCurve + '.cv[0]'
    lastVertex = eachCurve + '.cv[' + str((spans + 3)) + ']'

    firstVertexPosY = mc.xform(firstVertex, q = True, ws = True, t = True)[1]
    lastVertexPosY = mc.xform(lastVertex, q = True, ws = True, t = True)[1]

    if lastVertexPosY > firstVertexPosY:

    mc.reverseCurve(eachCurve, ch = 0, rpo = 1)

    ReplyDelete
  3. Any chance of this melscript available somewhere? Dropbox says not available :(
    Otherwise any other way to convert custom guides (exported from a groom made in houdini) to a groom in Yeti?

    Cheers!

    ReplyDelete
    Replies
    1. Hello, try to download from this link https://drive.google.com/open?id=0B14N76GLCatKVkRkX0MtVFgzd2s

      Delete
    2. Cheers! Is this any different than the command here - http://peregrinelabs-deploy.s3.amazonaws.com/Documentation/Yeti/1.2.0/scriptingref.html

      Or did they impliment your script? ;)

      Delete
    3. Yes, my script uses internal pgYetiConvertGuideSetToGroom Yeti command

      Delete
  4. This comment has been removed by the author.

    ReplyDelete
  5. i made a Groom in this way, but grooms are doesn't follow the mesh. Is there any way? i want solve the problem..plz

    ReplyDelete
    Replies
    1. For anyone who can't seem to find a fix for this anywhere:

      Create a groom node on the mesh as you normaly do, so you have the connections and nodes you need in the node editor.
      Then you can run the mel script and stuff.
      After that open the Node Editor and graph the inputs of the created groom node of the beginning and you can see the proper ShapeDeformer. Expand the nodes so you can view all it's outputs. Middle Mouse Drag your script generated groom node in the Node Editor and connect the World Mesh connection into the input Mesh.

      This should solve the problem. Also check the simulation checker in the groom toolbox and change your timeslider to player every frame.

      Hope that helped a few people.

      Delete
  6. How to convert yeti to polygon mesh??
    Will you please tell me..

    ReplyDelete