You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MuJoCo网格错误渲染为球体问题排查求助

MuJoCo自定义模型渲染问题:球体替代自定义网格的解决方法

我正在修改现有MuJoCo环境,添加自定义机器人模型用于后续Gymnasium开发。目前仅尝试渲染模型,但MuJoCo.viewer中只显示球体——我已经导出了机器人主外框的.obj模型,且确认该模型不是球体。

当前表现

我的bot.xml资产文件内容如下:

<mujoco>
  <asset>
    <texture name="grid" type="2d" builtin="checker" rgb1=".1 .2 .3"
     rgb2=".2 .3 .4" width="300" height="300" mark="none"/>
    <material name="grid" texture="grid" texrepeat="1 1"
        texuniform="true" reflectance=".2"/>
    <mesh file="eggbot1d.obj" name="body"/>
    <mesh file="eggbot1dpendulum.obj" name="pendulum"/>
  </asset>

  <worldbody>
    <light name="light" pos="0 0 10"/>
    <geom name="floor" type="plane" pos="0 0 -.5" size="1 1 .01" material="grid"/>                                  
    <camera name="fixed" pos="0 -100 100" xyaxes="1 0 0 0 1 2"/>
    <body name="egg1d" pos="0 0 0">
        <geom name="body" pos="0 0 0" mesh="body"/>
    </body>
  </worldbody>

  <actuator>
  </actuator>
</mujoco>

Viewer中仅显示球体。

已尝试的排查步骤

  • 缩放网格,确认模型从Fusion导出时单位为米
  • 导出为.stl格式替代.obj,结果仍为球体
  • 验证文件名及资产文件夹路径正确
  • 在Mac Preview中打开.obj文件,确认模型并非球体
  • 用文本编辑器打开.obj文件,确认仅包含一个组

解决方案

需在body节点下的geom标签中添加type="mesh"属性,MuJoCo才会识别并渲染指定的网格模型。修改后的代码片段如下:

<body name="egg1d" pos="0 0 0">
    <geom name="body" pos="0 0 0" type="mesh" mesh="body"/>
</body>

添加该属性后,模型即可正常渲染。

内容的提问来源于stack exchange,提问作者Peter Klemperer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 20:37:01