Skip to content

Commit 18217af

Browse files
committed
Fix material emission
1 parent 5696fb3 commit 18217af

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

mujoco_usd_converter/_impl/material.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ def convert_material(parent: Usd.Prim, name: str, material: mujoco.MjsMaterial,
6565
surface_shader.CreateInput("useSpecularWorkflow", Sdf.ValueTypeNames.Int).Set(1)
6666
surface_shader.CreateInput("specularColor", Sdf.ValueTypeNames.Color3f).Set(Gf.Vec3f(specular_color))
6767

68-
emissive_color = material.emission
69-
if emissive_color != data.spec.default.material.emission:
68+
emission_scalar = material.emission
69+
if emission_scalar != data.spec.default.material.emission:
7070
surface_shader: UsdShade.Shader = usdex.core.computeEffectivePreviewSurfaceShader(material_prim)
71-
surface_shader.CreateInput("emissiveColor", Sdf.ValueTypeNames.Color3f).Set(Gf.Vec3f(emissive_color))
71+
surface_shader.CreateInput("emissiveColor", Sdf.ValueTypeNames.Color3f).Set(emission_scalar * color)
7272

7373
if main_texture_name := material.textures[mujoco.mjtTextureRole.mjTEXROLE_RGB]:
7474
texture_path: Sdf.AssetPath = convert_texture(data.spec.texture(main_texture_name), data)

tests/testMaterial.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ def test_specular_material(self):
4646

4747
def test_emissive_material(self):
4848
shader = self._get_shader("RedEmissive")
49-
self.assertEqual(shader.GetInput("emissiveColor").Get(), Gf.Vec3f(0.5))
49+
self.assertEqual(shader.GetInput("diffuseColor").Get(), Gf.Vec3f(1, 0, 0))
50+
self.assertEqual(shader.GetInput("emissiveColor").Get(), Gf.Vec3f(0.5, 0, 0))
5051

5152
def test_textured_material(self):
5253
shader = self._get_shader("Grid")

0 commit comments

Comments
 (0)