Houdini 17 Quicktip: Packing Geometry Using the UV-Layout SOP

comments 11
Featured Video Play Icon

W ith the Houdini 17 party still going, let’s have a look at a somewhat hidden gem in H17’s tools: The UV-Layout SOP. “Wait! I don’t care about ’em UVs!” you might say. We hear you, but they are not really the focus of this tutorial. The very same tech underpinning decent UV layouts can be hijacked and used to pack something other than UV Islands. That’s right, we’re talking geometry packing!

It took us a bit by surprise, but it makes sense: The UV-Layout SOP can decently pack any piece of geometry into a (2D) bounding region. Be aware however that any 3D object’s outline will be projected onto a flat plane and used for packing. So not true 3D packing but a 2.5D solution in a way.

Download Project File (.hip)

Here are some renderings created using this technique:

packer01 (00151)

packer02 (00151)

packer03 (00151)

packer04 (00151)

packer05 (00151)

Share on FacebookTweet about this on TwitterPin on PinterestEmail this to someoneShare on LinkedInShare on Google+


  1. Alan K says

    That’s a very useful and cool technique Moritz.
    Be prepared for a lot of packed geo images I’d say πŸ™‚

  2. fantastic work, I made a game with a long word that could only see the small letters in jpg version which allows to expand it : )

    • Moritz says

      Interesting! Do you have a link to that? πŸ™‚
      Cheers, Mo

  3. jindrich_nov says

    Great technique, Mo!
    LetΒ΄s pack it all now !

  4. Nick says

    Wow! Packing is really a very difficult problem to solve – Of course Houdini delivers again
    Great work Entagma guys! Beautiful renders to guys – Mantra?

  5. Mo, you idea and work here is genial, it is original : )

    you just have to make a long word, then in the jpg format with the highest definition you can the letters will be small inside, that’s the point, the game is to “expand it with your fingers” to find the alphabet soup with different colors with a random “attribute from map” , because nobody knows that there are letters inside, just it is the single game with friends.
    but not in video format because it does not allow to reach expand with the fingers !

  6. Paul says

    This is really cool!

    Do you have any idea how to do something like this in Processing? Packing arbitrary polygons? I’ve seen circle packing, but nothing about complex shapes.

  7. Will says

    Great tutorial! Thank you so much.
    How would I populate the first uvlayout input with a number of different strings?

  8. Gregor says

    Hey! As Always Danke!

    But instead of gouping by what is out of the bounding box, to delete the unpacked primitives, have you seen the “Output groups & Attributes” section at the end of the UV-Layout properties?

    Saves you the “hassle” of getting the “right ones” together.

    Aber sonst alles bestens… πŸ˜‰

  9. len says

    this tech can even be used for city generation, amazing!

Leave a Reply

Your email address will not be published. Required fields are marked *