I've been trying to use the mtlx2hda.py to create a HDA from a materialX definition. I managed to create and install the HDA, but it has no effect.
Here are the steps I followed:
I tried with the following very simple materialX:
<?xml version="1.0"?>
<materialx version="1.38">
<nodedef name="ND_basic_color" node="basic_color_shader">
<input name="input_base_color" type="color3" value="1, 0, 0"/>
<output name="out" type="surfaceshader"/>
</nodedef>
<nodegraph name="NG_standard_surface_surfaceshader" nodedef="ND_basic_color">
<standard_surface name="standard_surface_surfaceshader" type="surfaceshader">
<input name="base_color" type="color3" interfacename="input_base_color" />
<input name="base" type="float" value="1" />
</standard_surface>
<output name="out" type="surfaceshader" nodename="standard_surface_surfaceshader"/>
</nodegraph>
</materialx>
It is basically a standard surface shader where I just expose the base color as an input (with a red default value), and set the "base" attribute to a value of 1.
I then use
hython mtlx2hda.py -o <directory_of_the_mtlx_file>/basic_color_shader.hda -p <directory_of_the_mtlx_file>
I get `Processing 1 node definitions`
And the HDA is created.
In Houdini-20, I use a small scene in Solaris, where I create a sphere, and assign a material to it (see attached base_scene).
I then install the HDA (see attached hda_install).
I replace the standard_surface by my new HDA but nothing can be seen, whereas the standard_surface shader node included with houdini works as excepted(see attached assign_mtlx_hda.mp4)
The HDA is created with the correct inputs and outputs, but it acts like an empty shell.
Is there a step I missed ?
Thank you in advance