マテリアル グループ

V2 API でマテリアルを使用する場合は、マテリアルとマテリアルノードの違いを理解することが重要です。vrdMaterial は、vrdNode から派生していないため、シーングラフに表示できません。

これは、いずれも vrdNode から派生するライトやカメラとは異なります。この違いは、UI には直接表示されません。マテリアル エディタは、マテリアルをグラフの階層構造で表示します。ただし、この視覚的表現には真の構造が反映されません。

マテリアル エディタ グラフには vrdMaterialNodes が保持されます。これらのノードには、リアルなマテリアルが保持されます。

このことを示すために、次の例ではグループとプラスチック マテリアルを作成し、グループの下にマテリアルを移動します。最初にグループを作成し、これを createMaterial() の materialGroup パラメータとして使用することもできます。

materialgroups.py

Move a material under group

# Create the material
mat1 = vrMaterialService.createMaterial("plastic1", vrMaterialTypes.Plastic)

# Create the group (it will automatically get a unique name, but we rename it afterwards)
group1 = vrMaterialService.createMaterialGroup()
group1.setName("matgroup")

# Access the vrdMaterialNode that has been automatically created for the plastic material
mat1Node = vrMaterialService.findMaterialNode(mat1)

# Hierarchy modifications on vrdNodes are done by manipulating it's children class member
group1.children.append(mat1Node)

# Now the material will appear under the group. We can also move it back out to the top level
vrMaterialService.getMaterialRoot().children.append(mat1Node)

グループ ノードの階層操作を実行するには、子クラス メンバを操作します。詳細については、「vrdNodeList」も参照してください。