📚

USD で MaterialXConfigAPI で MaterialX のメモ

に公開

25.02

openusd 25.02 から MaterialXConfigAPI が追加され, Material/Shader で MaterialX パラメータの設定が可能になった模様.

Blender 4.5 での export 例

       def Material "Material_001" (
            prepend apiSchemas = ["MaterialXConfigAPI"]
        )
        {
            string config:mtlx:version = "1.39"
            token outputs:mtlx:surface.connect = </root/_materials/Material_001/Principled_BSDF.outputs:surface>
            token outputs:surface.connect = </root/_materials/Material_001/previewShader.outputs:surface>
            custom string userProperties:blender:data_name = "Material.001"

            def Shader "previewShader"
            {
                uniform token info:id = "UsdPreviewSurface"
                color3f inputs:diffuseColor = (0.8, 0.8, 0.8)
                float inputs:metallic = 0
                float inputs:roughness = 0.4
                token outputs:surface
            }

            def Shader "Principled_BSDF"
            {
                uniform token info:id = "ND_open_pbr_surface_surfaceshader"
                color3f inputs:base_color = (0.167411, 0.243348, 0.800291)
                float inputs:base_diffuse_roughness = 0
                float inputs:base_metalness = 0.458621
                float inputs:base_weight = 1

既存では .mtlx ファイル参照で面倒だったが, これにより USDZ などでも使いやすくなると思われる.

Discussion