Open pablode opened 1 month ago
I've made some efforts to fix the issues, most of them are trivial. Unfortunately, there is no equivalent for the ND_hmtlxcircles2d_float
node in MaterialX 1.38 (and only partially in 1.39).
The asset can only render the same outside of Houdini if this node is replaced with logic that only uses the MaterialX standard nodes
Some other observations:
Invalid value: <input name="clampoutput" type="boolean" value="0">
usually come from unifiednoise2d/unifiednoise3d
nodes. Here, the inputs are exported as type int
. I checked my local Houdini 20.0.563 files, and the input is declared as boolean
. So either the export is wrong, or perhaps the type can be changed in the UIThanks very much again Pablo, that's very helpful. For starters I have updated the "cyc_wall" asset to use the native MtlX Tiled Circles node. I'll need to do the same for the "egg_patterns" asset.
@pablode Whenever you find some time, would you mind taking another look and seeing what errors remain after the recent commits? Thank you.
Sure! Most has indeed been resolved π some minor ones left:
egg_ore_swirl
Node interface error: Input 'position' doesn't match declaration: <noise3d name="mtlxnoise3d1" type="float" nodedef="ND_noise3d_float"
Node interface error: Input 'in1' doesn't match declaration: <add name="mtlxadd9" type="float" nodedef="ND_add_float">
egg_damascus (6x), egg_lava_stone (5x), egg_patterns (3x), egg_pickle (6x)
Invalid value: <input name="clampoutput" type="boolean" value="0">
egg_patterns
Node interface error: Input 'in' doesn't match declaration: <convert name="mtlxconvert1" type="float" nodedef="ND_convert_boolean_float">
Node interface error: Input 'in' doesn't match declaration: <convert name="mtlxconvert2" type="float" nodedef="ND_convert_boolean_float">
Node interface error: Input 'in' doesn't match declaration: <convert name="mtlxconvert3" type="float" nodedef="ND_convert_boolean_float">
Fantastic, thanks very much Pablo. It's not apparent to me what I can do on the Houdini side to fix "ore_swirl" and "damascus". For "patterns" I can revert the mtlx convert nodes to the previous Signature.
egg_patterns looks good now π
regarding egg_ore_swirl:
<convert>
node which converts the float
type from mtlxadd9 to vector3
consumed by the mtlxnoise3d1:position
inputregarding the unifiednoiseXd:clampoutput
issues:
false
boolean for the input? (instead of 0
). Or if it's incorrectly type-restricted to an int, connect a <constant>
node?
Hey, this may be an exporter problem, but there are a few errors when it comes to MaterialX nodes in the standalone USD files (respective mat.usdc, viewed with usdview 24.05):
clamshell
Node interface error: Input 'in' doesn't match declaration: <convert name="mtlxconvert1" type="float" nodedef="ND_convert_boolean_float">
countertop
Node interface error: Input 'base_color' doesn't match declaration: <standard_surface name="mtlxstandard_surface_grout" type="surfaceshader" nodedef="ND_standard_surface_surfaceshader">
Node interface error: Input 'in2' doesn't match declaration: <add name="mtlxadd23" type="vector3" nodedef="ND_add_vector3FA">
Node interface error: Input 'in2' doesn't match declaration: <add name="mtlxadd24" type="vector3" nodedef="ND_add_vector3FA">
Node interface error: Input 'in2' doesn't match declaration: <add name="mtlxadd19" type="vector3" nodedef="ND_add_vector3FA">
Node interface error: Input 'in2' doesn't match declaration: <add name="mtlxadd20" type="vector3" nodedef="ND_add_vector3FA">
cyc_wall
NodeDef not found for Node 'ND_hmtlxcircles2d_float'
Node interface error: Input 'mix' doesn't match declaration: <mix name="mtlxmix2" type="color3" nodedef="ND_mix_color3">
Node interface error: Input 'in1' doesn't match declaration: <multiply name="mtlxmultiply14" type="float" nodedef="ND_multiply_float">
Node interface error: Input 'in1' doesn't match declaration: <multiply name="mtlxmultiply15" type="float" nodedef="ND_multiply_float">
egg_amber
NodeDef not found for Node 'standard_surface'
Node interface error: Input 'opacity' doesn't match declaration: <standard_surface name="Surface" type="surfaceshader">
Invalid value: <input name="clampoutput" type="boolean" value="0">
(5x)egg_damascus
Node interface error: Input 'in' doesn't match declaration: <separate3 name="mtlxseparate3c1" type="multioutput" nodedef="ND_separate3_color3">
egg_geode
Node interface error: Input 'in' doesn't match declaration: <separate3 name="mtlxseparate3c1" type="multioutput" nodedef="ND_separate3_color3">
egg_lava_stone
Invalid value: <input name="clampoutput" type="boolean" value="0">
(5x)egg_normals
Node interface error: Input 'in' doesn't match declaration: <hsvadjust name="mtlxhsvadjust1" type="color3" nodedef="ND_hsvadjust_color3">
egg_ore_swirl
Node interface error: Input 'in' doesn't match declaration: <hsvadjust name="mtlxhsvadjust1" type="color3" nodedef="ND_hsvadjust_color3">
Node interface error: Input 'in2' doesn't match declaration: <add name="mtlxadd9" type="vector3" nodedef="ND_add_vector3">
egg_patterns
Warning: in _AddMaterialXNode at line 241 of F:\USD-24.05\pxr\imaging\hdMtlx\hdMtlx.cpp -- NodeDef not found for Node 'ND_hmtlxcircles2d_float'
(many times, crashes Storm)egg_pickle
Invalid value: <input name="clampoutput" type="boolean" value="0">
(6x)For reference, here is the 1.38 specification: https://github.com/AcademySoftwareFoundation/MaterialX/tree/v1.38.10/documents/Specification
Implementation (e.g. standard surface): https://github.com/AcademySoftwareFoundation/MaterialX/tree/main/libraries