11
edits
Changes
no edit summary
== 1. Install emscripten ==
First, you need to install emscripten, which is a compiler toolchain for WebAssembly.
=== 1.1. Get the emsdk repo ===
<code>
git clone https://github.com/emscripten-core/emsdk.git
</code>
=== 1.2. Enter that directory ===
<code>
cd emsdk
</code>
=== 1.3. Download and install the latest SDK tools ===
<code>
./emsdk install latest
</code>
=== 1.4. Make the "latest" SDK "active" ===
<code>
./emsdk activate latest
</code>
=== 1.5. Activate PATH and other environment variables ===
<code>
source ./emsdk_env.sh
</code>
=== 1.6. Now just try it! ===
<code>
emcc
</code>
== Build the mujoco_wasm Binary ==
First git clone
<code> https://github.com/zalo/mujoco_wasm </code>
Next, you'll build the MuJoCo WebAssembly binary.
<syntaxhighlight lang="bash">
mkdir build
cd build
emcmake cmake ..
make
</syntaxhighlight>
[[File:Carbon (1).png|800px|thumb|none|emcmake cmake ..]]
[[File:Carbon (2).png|400px|thumb|none|make]]
'''Tip:''' If you get an error with "undefined symbol: saveSetjmp/testSetjmp" at the build step, revert to:
</code>
== 2Running in Browser == Run this in your mujoco folder to start a server. <code>python -m http.server 8000</code> Then navigate to: <code>http://localhost:8000/index.html</code>[[File:Wasm screenshot13-40-40.png|800px|thumb|none|MuJoCo running in browser]] == Running in Cloud/Cluster and Viewing on Local Machine ==Add extra parameter to your ssh command: <code>ssh -L 8000:127. Build 0.0.1:8000 my_name@my_cluster_ip</code> Then you can open it on the mujoco_wasm Binary browser on your local machine! == Adding New Models ==NextAll the models are stored in the folder examples/scenes, as seen below:[[File:Example folder.png|400px|thumb|none]]You can add your own model XML and meshes here. For example, you'll build here we add the MuJoCo WebAssembly binarystompy folder.
<code>
</code>
to update file indexes.
Then copy all the content in <code>index.json</code> to <code> mujocoUtils.js</code>, as shown below:
[[File:Add model1.png|400px|thumb|none]]
In the end, again at file <code> mujocoUtils.js</code>, add the name and scene file
[[File:Add model2.png|600px|thumb|none]]
Then reload again and you can see new models have been added:
[[File:Add model3.png|800px|thumb|none]]