This tutorial will cover how to paint geometry and isolate the parts that you paint. The isolated parts will be turned into points and will copy geometry onto this points. This lesson will also cover copystamping and manipulation of copy stamp variables such as variation, rotation and random scale.



CREATED BY

ALEJANDRO ROBLEDO

RMA, founded by Alejandro Robledo Mejia is a visionary where direction works by technical and artistic excellence. Producing stunning visual effects, 3D development, and animation for mediaplatforms across feature films, commercials enterprises and entertainment industries.

More from Alejandro Robledo

COMMENTS

  • zoey222 3 years, 11 months ago  | 

    How do you separate out the mesh variants that you receive from Quixel using Houdini? I have 10 mushroom meshes stacked on top of each other.

    • zoey222 3 years, 11 months ago  | 

      As in, the single mushroom.fbx contains 10 meshes stacked on top of each other. I am able to give each mesh an ID attribute [integer] using the "connectivity" node. But now I cannot figure out how to randomly pick one of the meshes based on its ID and copy per point?

      • zoey222 3 years, 11 months ago  | 

        Sweet Obiwan Kenobi, I finally figured out a solution. Once you have separated the copies out by using a connectivity node (which assigns the same integer to every face that shares an edge), you need to assign a random integer between the range of (0, number_of_mushrooms) to each point that we made with the scatter node. The idea is that, after copying all the mushrooms to each point, we delete all the mushrooms whose ID node does not match the point's integer.

        In order to do that, you use a "for each" loop on the points, and then copy all the mushrooms onto every point. Then, you use a delete node set to "delete by expression" and do something like "@point_id != @mushroom_mesh_id". BUT in order to do that, you have to promote the mushroom's mesh ID from a primitive attribute to a point attribute, because you apparently are not allowed to compare attributes of points with primitives.

        Thats a big ol' Uffda, from me, there, boss.

  • vinyvince 3 years, 10 months ago  | 

    Zoey222: It works but be carefull using a for each loop is computing intensive if you are dealing with a decently complex asset/env.
    In h18 copytopoint has the option you need if you are just aiming to scattering different variants. Would be much faster than a loop(image you wanna run it on trees with millions of different connected pieces...
    )MOP is also another option


    ________________________________________________________________
    Vincent Thomas   (VFX and Art since 1998)
    Senior Env artist & Lighting & MattePainter & Creative Concepts
     http://fr.linkedin.com/in/vincentthomas

Please log in to leave a comment.