[X3D-Ecosystem] Thought on X3D -> MuJoCo
Don Brutzman
don.brutzman at gmail.com
Wed Dec 10 11:50:16 PST 2025
Thanks for thinking about these things. As you requested, here are
comments on your proposed approach.
Please think about how to map MuJoCo to X3D. We have a standard for many
reasons, aligning with it provides much value. Defining correspondences
for export, import and conversion is powerful. Writing prototypes is
another powerful approach.
Redesigning X3D is not a goal. Redefining X3DUOM (which matches the X3D
Architecture specification) is not a goal. X3DPSAIL x3d.py Python and
X3DJSAIL Java will continue to map to X3D exactly, autogenerated by X3DUOM,
and so redefining them is not a goal. Issue reports that identify
implementation gaps when producing valid X3D eventually get fixed.
May I suggest focusing on an example model independently in MUJOCO and X3D
that does the kind of things you want. X3D has a great many capabilities,
so exercising them is always interesting. Using a language to express what
you are thinking is an effective way to use that language.
all the best, Don
--
X3D Graphics, Maritime Robotics, Distributed Simulation
Relative Motion Consulting https://RelativeMotion.info
On Wed, Dec 10, 2025 at 5:23 AM John Carlson <yottzumm at gmail.com> wrote:
> My current thought is to export X3D as MuJoCo using X3DPSAIL, with any
> added MuJoCo "niceities" added to the X3DPSAIL API, and provide another X3D
> encoding export method called MuJoCo() for lack of a better name. Perhaps
> I will subclass existing X3D stuff and add the MuJoCo methods. So I'm
> looking at extending X3DUOM to include MuJoCo's unique features. This will
> provide a smooth migration for X3DPSAIL and X3DUOM to an eventual soft body
> physics standard (currently avoiding HAnim), if anything doesn't already
> exist.
>
> Does this approach sound feasible, without consideration for
> computationally expensive actions?
>
> So the main thing would be to subclass or complement existing X3D nodes.
> I expect that existing X3D field types can be used.
>
> I don't quite know what will happen to x3d.py, but I might require
> assistance on the X3DPSAIL generating stylesheet.
>
> My first plan is to use the X3DUOM.xsd to create a fully MuJoCo-compatible
> object model using the schema. Then, I will attempt to combine the
> MuJoCo-COM with X3DUOM. Then I will attempt to create X3DMUJOCOSAIL.
>
> Then, the task of integrating MuJoCo and X3D begins, by unifying
> MuJoCo-COM with X3DUOM.
>
> Thus we will be following a similar method that we took when we added
> glTF's PBR Next to X3DUOM. Once the neo-X3DUOM is created, and
> neo-X3DPSAIL is done, we will move to JavaScript, Pascal, Java, C++ and
> other languages.
>
> Another approach might be to plaster a x3d.py compatible layer on the
> MuJoCo python API, (or Java, I guess)..
>
> Hmm!
>
> John
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-ecosystem_web3d.org/attachments/20251210/7d0929c3/attachment-0001.html>
More information about the X3D-Ecosystem
mailing list