top of page

Procedural modeling 3D objects - Research l Nona Bocheva Week 8&9

Ideate, Define

I. Basics


Generative modeling techniques have rapidly gained attention throughout the past few years. Many researchers enforced the creation of generative models due to its many advantages. All objects with well-organized structures and repetitive forms can be described procedurally. In these cases, generative modeling is superior to conventional approaches. (PDF) Know the Rules – Tutorial on Procedural Modeling. Available from: https://www.researchgate.net/publication/288668420_Know_the_Rules_-_Tutorial_on_Procedural_Modeling.

This research aims to provide an overview of the fundamentals of procedural modeling, specifically concentrating on essential concepts and critical nodes within the Houdini software. By understanding these basics, artists, designers, and 3D professionals can leverage Houdini's capabilities for procedural modeling effectively.

For this research, I will start with watching some YouTube tutorials and taking notes, and after try to apply everything learned and create a procedural mid-detailed desk that is easily changeable and navigated.




Procedural modeling is a modeling technique that relies on a set of rules and parameters to generate 3D objects. Instead of manual sculpting, artists define a series of operations, which results in the final model. This approach provides advantages such as:

  • Non-Destructive Workflow: Procedural modeling enables changes at any stage without destroying prior work, encouraging experimentation and creativity.

  • Parameter-Driven Design: Objects can be refined by adjusting parameters, facilitating quick and flexible design iterations.

  • Automation and Repetition: Procedural models can be easily replicated or automated, saving time and effort.

With the high demand for asset production, procedural workflow is a great way to optimize your workflow, which will be considered a valuable skill when I apply for jobs in the future.


2. Important nodes


A. Geometry Node

The "Geometry" node is a fundamental component of the procedural modeling process. It serves as a container for the 3D model, encapsulating the entire modeling operation.

B. Box Node

The "Box" node is a basic shape generator. It allows artists to define the width, height, and depth of 3D objects, serving as the building blocks for more complex models.

C. Copy to Points Node

The "Copy to Points" node is crucial for replicating objects across multiple points. This node is commonly used to create repetition, whether it involves stacking objects or populating surfaces.

D. Transform Node

The "Transform" node provides precise control over an object's position, rotation, and scale. It is indispensable for refining the overall appearance and arrangement of objects within the model.

E. VOP Noise Node

The "VOP Noise" node introduces randomness and organic variation into procedural models. This node is used to create realistic imperfections, adding depth and complexity to objects.

F. Material Node

The "Material" node is used for material and texture assignment. It defines the visual properties of objects, including color, reflectivity, and transparency, enhancing the realism of the model.

G. UV Texture Node

The "UV Texture" node is essential for accurate texture mapping on object surfaces. It ensures that textures adhere seamlessly to the geometry, enhancing the model's visual appeal. However, additional tweaking will probably be needed, like adding more seams to achieve realistic and high-detailed textures later in the process. I will also be focusing on whether to UV map each element separately, immediately after modeling it or it is best to leave UV mapping for later when the whole model is finished.


3. Notes from (PDF) Know the Rules – Tutorial on Procedural Modeling. Available from: https://www.researchgate.net/publication/288668420_Know_the_Rules_-_Tutorial_on_Procedural_Modeling


The benefit of procedural modelling is that in recent years with the development of new techniques, all kinds of buildings can be produced in 3D. This allows for the recreation of both new and older styles of objects such as buildings, furniture, and everything else related to architecture.



Figure 1. C. Schinko, U. Krispel & T. Ullrich, 2015 9Figure 3: Gothic architecture flourished during the high and late medieval period. It is defined by strict rules with its characteristics: pointed arcs, the ribbed vaults, and the flying buttresses. These building blocks have been combined in various ways to create great churches and cathedrals all over Europe. The generative description of Gothic cathedrals encodes these building blocks and the rules on how to combine them. The result is an algorithm that takes a few high-level parameters. By modifying these parameters, it is easy to generate a family of Gothic examples (left, middle, right). The building blocks have been created by Michael Curry

(PDF) Know the Rules – Tutorial on Procedural Modeling. Available from: https://www.researchgate.net/publication/288668420_Know_the_Rules_-_Tutorial_on_Procedural_Modeling


The process:


Same as in concept art, the first step of the process will surely be to gather enough references, choose a suitable style, and consider shapes and texture too if needed.

- It also helps to consider what in the specific object could be made procedural and basically try to break the object into all the possible parts, a pretty similar process to the normal 3D modeling in Maya or Blender.


1. Modelling basics


- Extrude

- Bevel

- Bend


- Groups to stay procedural


2. Modelling Boolean

In Houdini, the modeling boolean operation is a powerful tool used for combining or subtracting geometric shapes to create complex 3D models. It is based on constructive solid geometry (CSG) principles, allowing you to perform operations like union, intersection, and difference on objects.


In Houdini, the modeling boolean operation is a powerful tool used for combining or subtracting geometric shapes to create complex 3D models. It's based on constructive solid geometry (CSG) principles, allowing you to perform operations like union, intersection, and difference on objects. Here's an explanation of modeling booleans in Houdini:

Types of Boolean Operations: Houdini offers three primary Boolean operations:

  • Union:

    • The union operation combines two or more objects into a single, cohesive shape.

    • It's often used to merge objects to create complex assemblies or to combine simple shapes into more complex ones.

  • Intersection:

    • The intersection operation results in a new object that retains only the parts where the input objects overlap.

    • It's useful for creating intricate cutouts or intersections in models.

  • Difference:

    • The difference operation subtracts one object from another, effectively cutting away one shape from the other.

    • It's commonly used for creating holes, indentations, or removing parts of objects.

· Geometry created for these purposes should always be separated and non-overlapping!

  • Boolean operations in Houdini work best when the input objects are clean and well-defined. Complex or overlapping geometry may result in unexpected outcomes.

  • For non-destructive modeling, Houdini allows you to use the boolean operation in a procedural manner, retaining the original objects while creating a new one, based on the boolean operation's result.







In summary, boolean modeling is a valuable tool for 3D modeling, particularly when dealing with precise cuts, intersections, or repetitive patterns. It can significantly speed up the modeling process and maintain accuracy, especially in applications where geometric precision is essential, such as architectural modeling, engineering, or product design. However, the choice between boolean and manual modeling depends on the specific requirements of the project and the artist's familiarity with both techniques.


II. Voronoi modelling


Voronoi modeling in Houdini is a technique used to create complex and organic-looking structures based on Voronoi diagrams. A Voronoi diagram is a mathematical concept that divides a space into regions, each associated with a specific point. In 3D modeling, these regions can be used to generate intricate and irregular geometric patterns. This technique is not exactly used for modeling but is more about adding organic-like details to an existing 3D model. For now, I will not go into depth with Voronoi since it is not something I plan to use in this project, however depending on the details it might be necessary.



III. UV mapping and unwrapping for procedural 3D objects


UV mapping is the process of translating a 3D surface with volume and shape onto a flat 2D texture image. A way to visualize how that works is to consider an object that was wrapped the same as a gift. A UV map is similar to the careful unwrapping of the object and pressing the wrapping paper flat (much like a map of the earth that has the same constraints as a UV map).

The actual execution of the UV mapping process requires some science and much art, but, like modeling, texturing, or even rendering, understanding the tools is an important part of understanding the process.

More about this part of the process will be described at a later stage when an actual procedural model will be made.



IV. Transfer finished assets to Unreal

Node Sync is a feature for the Houdini Unreal Engine Plugin that enables sharing assets between Unreal and Houdini Session Sync. It works for Skeletal and static meshes.

A person can send and receive data to and from Unreal without a dedicated HDA. It works with Static and Skeletal meshes as well as Actors.

The first step of this process will be to install the Node Sync included in the Houdini engine and copy the nodes needed for Houdini. In Unreal there is a toolbar with which you can open a Houdini Sync session.

The Fetch from Houdini tool allows you to send your current Houdini output node into Unreal as a Skeletal or Static mesh.

  1. In Houdini, select the output node you want to export.

  2. Click CTRL + C to copy the node.

  1. In Unreal’s main toolbar, click Houdini Engine then Houdini Sync Session. A Houdini Engine window pops up.

  2. In the Houdini Node Path to Fetch section, paste your node.

  3. In the Name and Path Asset of Unreal, set your desired name and path. If you create a path that doesn’t exist, a new folder is created.

  4. Click Fetch. Your asset should appear in the content browser under the named folder.



Plan for next steps: model a simple, procedural 3D model in Houdini that can at least be tweaked procedurally based on the following parameters: thickness, height, and possibly add some proceduralism in the smaller details too.














































Comentarios


bottom of page