• In 3d

    Creating procedural game assets with Houdini. Part 4

    PDG (Procedural Dependency Graph) is a recently added feature in Houdini. It is meant for building networks (not just chains) of tasks, where each task might have some sort of dependency on others and Houdini then knows how to execute the graph in an optimal way – by executing some operations in parallel or distributing them on multiple machines. It works by processing “work items”. Each work item is passed down the network from node to node and can hold attributes (similar to geometry attributes – strings, numbers etc.). A task in a PDG network can be, for example – […]
  • In 3d

    Creating procedural game assets with Houdini. Part 3

    JTNDZGl2JTIwY2xhc3MlM0QlMjJza2V0Y2hmYWItZW1iZWQtd3JhcHBlciUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2lmcmFtZSUyMHRpdGxlJTNEJTIyQSUyMDNEJTIwbW9kZWwlMjIlMjB3aWR0aCUzRCUyMjEyMDAlMjIlMjBoZWlnaHQlM0QlMjI3MDAlMjIlMjBzcmMlM0QlMjJodHRwcyUzQSUyRiUyRnNrZXRjaGZhYi5jb20lMkZtb2RlbHMlMkY0YjVmOWYwOWQwMTM0OTg3OTNmN2QyZWNiOTlkYjdlNiUyRmVtYmVkJTIyJTIwZnJhbWVib3JkZXIlM0QlMjIwJTIyJTIwYWxsb3clM0QlMjJhdXRvcGxheSUzQiUyMGZ1bGxzY3JlZW4lM0IlMjB2ciUyMiUyMG1vemFsbG93ZnVsbHNjcmVlbiUzRCUyMnRydWUlMjIlMjB3ZWJraXRhbGxvd2Z1bGxzY3JlZW4lM0QlMjJ0cnVlJTIyJTNFJTNDJTJGaWZyYW1lJTNFJTBBJTBBJTNDcCUyMHN0eWxlJTNEJTIyZm9udC1zaXplJTNBJTIwMTNweCUzQiUyMGZvbnQtd2VpZ2h0JTNBJTIwbm9ybWFsJTNCJTIwbWFyZ2luJTNBJTIwNXB4JTNCJTIwY29sb3IlM0ElMjAlMjM0QTRBNEElM0IlMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NhJTIwaHJlZiUzRCUyMmh0dHBzJTNBJTJGJTJGc2tldGNoZmFiLmNvbSUyRjNkLW1vZGVscyUyRnByb2NlZHVyYWwtcm9ja3MtaW4taG91ZGluaS00YjVmOWYwOWQwMTM0OTg3OTNmN2QyZWNiOTlkYjdlNiUzRnV0bV9tZWRpdW0lM0RlbWJlZCUyNnV0bV9zb3VyY2UlM0R3ZWJzaXRlJTI2dXRtX2NhbXBhaWduJTNEc2hhcmUtcG9wdXAlMjIlMjB0YXJnZXQlM0QlMjJfYmxhbmslMjIlMjBzdHlsZSUzRCUyMmZvbnQtd2VpZ2h0JTNBJTIwYm9sZCUzQiUyMGNvbG9yJTNBJTIwJTIzMUNBQUQ5JTNCJTIyJTNFUHJvY2VkdXJhbCUyMHJvY2tzJTIwaW4lMjBIb3VkaW5pJTNDJTJGYSUzRSUwQSUyMCUyMCUyMCUyMGJ5JTIwJTNDYSUyMGhyZWYlM0QlMjJodHRwcyUzQSUyRiUyRnNrZXRjaGZhYi5jb20lMkZrdXJ6ZW1uaWVrcyUzRnV0bV9tZWRpdW0lM0RlbWJlZCUyNnV0bV9zb3VyY2UlM0R3ZWJzaXRlJTI2dXRtX2NhbXBhaWduJTNEc2hhcmUtcG9wdXAlMjIlMjB0YXJnZXQlM0QlMjJfYmxhbmslMjIlMjBzdHlsZSUzRCUyMmZvbnQtd2VpZ2h0JTNBJTIwYm9sZCUzQiUyMGNvbG9yJTNBJTIwJTIzMUNBQUQ5JTNCJTIyJTNFa3VyemVtbmlla3MlM0MlMkZhJTNFJTBBJTIwJTIwJTIwJTIwb24lMjAlM0NhJTIwaHJlZiUzRCUyMmh0dHBzJTNBJTJGJTJGc2tldGNoZmFiLmNvbSUzRnV0bV9tZWRpdW0lM0RlbWJlZCUyNnV0bV9zb3VyY2UlM0R3ZWJzaXRlJTI2dXRtX2NhbXBhaWduJTNEc2hhcmUtcG9wdXAlMjIlMjB0YXJnZXQlM0QlMjJfYmxhbmslMjIlMjBzdHlsZSUzRCUyMmZvbnQtd2VpZ2h0JTNBJTIwYm9sZCUzQiUyMGNvbG9yJTNBJTIwJTIzMUNBQUQ5JTNCJTIyJTNFU2tldGNoZmFiJTNDJTJGYSUzRSUwQSUzQyUyRnAlM0UlMEElM0MlMkZkaXYlM0U=In theory, COPs could replace Substance Designer and be even more powerful, because you have full access to other Houdini networks and your 3D data. You could use it to generate texture details based on geometry and even other adjacent objects in the scene. Unfortunately COPs are slow – very slow. Most of advanced texturing work is done via COP VOPs and when working in that context – as soon as you modify or add new node – Houdini recompiles everything and re-cooks your COP network. While doing that, it becomes unresponsive for quite a long time, making working with […]
  • In 3d

    Creating procedural game assets with Houdini. Part 2

    First let’s start with a little demo of what I achieved with rock generation. Here I demonstrate two different rock styles generation from the same input geometry – rendered in Blender Eeevee. To play with one of the demo asset styles in real time, you can check it out on Sketchfab here! To see how it looks in “The Collector” project demo, which was the project I created this for – check out this link.Object hierarchy and naming in Blender outlinerFor my project, as an user input, I had a basic geometry blockout of the cave, exported as FBX from Blender. […]
  • In 3d

    Creating procedural game assets with Houdini. Part 1

    During development of the project “Collector”, while sculpting cave walls and stones by hand, I once again decided that I need to find more efficient – procedural way of building assets. As they say – proceduralism is the future. In this series of posts, I will try to show my experiments and explain how to use Houdini to create automated pipelines for generating procedural game assets.Natural formations — such as cliffs, stones, sand dunes, are hard to create manually. Sure, skilled artist can come up with workflows and sculpt an amazing rock, but it takes a lot of time and is […]
  • In 3d

    Procedural N-Gon Blender shader

    Recently I saw that someone was selling procedural hexagon tiles Blender shader. I became very curious about how this was achieved and spent couple days trying to figure this out on my own. Turns out you don’t need much more than just a bunch of math nodes and UV coordinates as an input. The rest is just basic geometry and basic math. No OSL. Works on GPU and in the viewport! Updated!:  Recently I updated this to Blender 2.8 and was pleasantly surprised that It also compiles and works in Eeevee exactly as in Cycles. That’s crazy awesome, if you ask […]
  • In 3d

    Substance painter rocks

    Lately my favorite application has been Substance Painter. If you don’t know what it is – you should drop whatever you are doing now and go and check it out! Initially created for real time games model texture painting, it is also incredibly useful for rendered imagery – thanks to it’s awesome PBR workflow. It is a very new product, but it is being developed very actively and each new update brings awesome new features and speed improvements. It will not replace Mari for high resolution UDIM texture painting on high poly meshes (for now), but It still does a good job […]