Add support for normal maps in mujoco file format plugin

PiperOrigin-RevId: 771992722
Change-Id: Ifeae9e12f1071018112e697402361caa84095ff2
This commit is contained in:
Google DeepMind
2025-06-16 06:00:14 -07:00
committed by Copybara-Service
parent 3969cac614
commit bb1b2db3a9
4 changed files with 64 additions and 17 deletions
@@ -148,15 +148,28 @@ TEST_F(MjcfSdfFileFormatPluginTest, TestMaterials) {
EXPECT_PRIM_VALID(stage,
"/mesh_test/Materials/material_texture/PreviewSurface");
EXPECT_PRIM_VALID(stage, "/mesh_test/Materials/material_texture/uvmap");
EXPECT_PRIM_VALID(stage, "/mesh_test/Materials/material_texture/texture");
EXPECT_PRIM_VALID(stage, "/mesh_test/Materials/material_texture/diffuse");
ExpectAttributeHasConnection(
stage,
"/mesh_test/Materials/material_texture/"
"PreviewSurface.inputs:diffuseColor",
"/mesh_test/Materials/material_texture/texture.outputs:rgb");
"/mesh_test/Materials/material_texture/diffuse.outputs:rgb");
ExpectAttributeEqual(
stage, "/mesh_test/Materials/material_texture/texture.inputs:file",
stage, "/mesh_test/Materials/material_texture/diffuse.inputs:file",
pxr::SdfAssetPath("textures/cube.png"));
EXPECT_PRIM_VALID(stage, "/mesh_test/Materials/material_layered");
EXPECT_PRIM_VALID(stage, "/mesh_test/Materials/material_layered/uvmap");
EXPECT_PRIM_VALID(stage, "/mesh_test/Materials/material_layered/diffuse");
EXPECT_PRIM_VALID(stage, "/mesh_test/Materials/material_layered/normal");
ExpectAttributeHasConnection(
stage,
"/mesh_test/Materials/material_layered/"
"PreviewSurface.inputs:normal",
"/mesh_test/Materials/material_layered/normal.outputs:rgb");
ExpectAttributeEqual(
stage, "/mesh_test/Materials/material_layered/normal.inputs:file",
pxr::SdfAssetPath("textures/normal.png"));
}
TEST_F(MjcfSdfFileFormatPluginTest, TestGeomRgba) {
+8 -2
View File
@@ -1,8 +1,14 @@
<mujoco model="mesh test">
<asset>
<texture name="texture" file="textures/cube.png" type="2d" />
<texture name="diffuse_tex" file="textures/cube.png" type="2d" />
<texture name="normal_tex" file="textures/normal.png" type="2d" />
<material name="material_red" rgba="0.8 0 0 1" />
<material name="material_texture" texture="texture" />
<material name="material_texture" texture="diffuse_tex" />
<material name="material_layered">
<layer texture="diffuse_tex" role="rgb"/>
<layer texture="normal_tex" role="normal"/>
</material>
2d texture="diffuse" normal="normal" />
<mesh name="tetrahedron" vertex="0 0 0 1 0 0 0 1 0 0 0 1"/>
</asset>
<worldbody>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB