There are two types of procedurals:

For ASS files, you use an Arnold Procedural node.

For a compiled procedural plugin like Mandelbulb, you need to create a Geo object as a placeholder in your Houdini scene, and tell HtoA to translate that Geo object into a Mandelbulb node. Don't worry, it's not as a hard as it sounds.

Let's get started...

Getting Started

Download the start scene and open it in Houdini. The scene contains a Point Light and a Camera

 

Creating the Mandelbulb Node

 

 

Edit the Parameters Interface

Select the geo node and click on the gear icon and choose Edit Parameter Interface... 

 

Add a new Folder  

Drag Folder from the Create Parameters list over to the root above the Render folder and name it Mandelbulb 

 

Add the mandelbulb parameters

To add parameters, click the By Type tab on the left side. Select the type of parameter you want to add, then drag it into the Existing Parameters pane, or click the “move right” button.

Use the options under Parameter Description on the right side of the window to customize the parameter's Name and Label. HtoA detects user parameters that start with ar_ and uses them to translate to the parameters of the procedural in Arnold.

 

First, add the parameters that tell HtoA to translate this Geo object into a mandelbulb node.

  • ar_translate_as tells HtoA that this is a compiled Arnold procedural
  • ar_procedural_type is the name of the procedural. In this case, "mandelbulb"
    The mandelbulb compiled procedural ships with HtoA, and is in the HtoA arnold/plugins folder.

Parameter Name

Parameter Label

Parameter Type

Default Value *

 ar_translate_as

Translate As 

String 

arnold_procedural 

 ar_procedural_type

Procedural Type 

String 

mandelbulb 

 

 

 

Now add the parameters that control the mandelbulb:

 

Parameter Name

Parameter Label

Parameter Type

Default Value *

 ar_gridsize

Grid size 

Integer

100 

 ar_max_iter

Max Iterations 

Integer

10

 ar_chunks

Chunks 

Integer

30 

ar_threads

Threads

Integer

__import__('multiprocessing').cpu_count()

This is a Python expression, so you need to set the channel by changing the default language from literal to python

ar_power

Power

Float

8

ar_spheremult

Sphere Multiplier

Float

1

ar_orbitthresh

Orbit Threshold

Float

0.05

ar_Cval

C Value

Float Vector 3

-0.161224, 1.04, 0.183673

ar_julia

Julia

Toggle

0

 

 

 

Set the defaults by going to the channels tab and putting the value into the appropriate field.

Once completed, the parameters should be listed as below.

 

Test the Procedural
Export as Digital Asset

With the procedural working you can now create a reusable asset, 

 

 

 

After this you may be presented with another dialog for you to confirm the parameters and remove any "spare" ones, it should be safe to allow the spare parameters to be removed. Once this is all done you should see your new Asset available in the Digital Assets menu.

 

 

The next part of this tutorial discusses the Mandelbulb parameters and the effects of changing them.