-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
9a6b6da
commit 1d2a62c
Showing
150 changed files
with
2,346 additions
and
100,158 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,72 +1,3 @@ | ||
<p align="center"> | ||
<a href="https://zalo.github.io/mujoco_wasm/"><img src="./examples/MuJoCoWasmLogo.png" href></a> | ||
</p> | ||
<p align="left"> | ||
<a href="https://github.com/zalo/mujoco_wasm/deployments/activity_log?environment=github-pages"> | ||
<img src="https://img.shields.io/github/deployments/zalo/mujoco_wasm/github-pages?label=Github%20Pages%20Deployment" title="Github Pages Deployment"></a> | ||
<!--<a href="https://github.com/zalo/mujoco_wasm/deployments/activity_log?environment=Production"> | ||
<img src="https://img.shields.io/github/deployments/zalo/mujoco_wasm/Production?label=Vercel%20Deployment" title="Vercel Deployment"></a> --> | ||
<!--<a href="https://lgtm.com/projects/g/zalo/mujoco_wasm/context:javascript"> | ||
<img alt="Language grade: JavaScript" src="https://img.shields.io/lgtm/grade/javascript/g/zalo/mujoco_wasm.svg?logo=lgtm&logoWidth=18"/></a> --> | ||
<a href="https://github.com/zalo/mujoco_wasm/commits/main"> | ||
<img src="https://img.shields.io/github/last-commit/zalo/mujoco_wasm" title="Last Commit Date"></a> | ||
<a href="https://github.com/zalo/mujoco_wasm/blob/main/LICENSE"> | ||
<img src="https://img.shields.io/badge/license-MIT-brightgreen" title="License: MIT"></a> | ||
</p> | ||
# Interactive MUJOCO | ||
|
||
## The Power of MuJoCo in your Browser. | ||
|
||
Load and Run MuJoCo 2.3.1 Models using JavaScript and WebAssembly. | ||
|
||
This repo is a fork of @stillonearth 's starter repository, adding tons of functionality and a comprehensive example scene. | ||
|
||
### [See the Live Demo Here](https://zalo.github.io/mujoco_wasm/) | ||
|
||
### [See a more Advanced Example Here](https://kzakka.com/robopianist/) | ||
|
||
## Building | ||
|
||
**1. Install emscripten** | ||
|
||
**2. Build the mujoco_wasm Binary** | ||
|
||
On Linux, use: | ||
```bash | ||
mkdir build | ||
cd build | ||
emcmake cmake .. | ||
make | ||
``` | ||
|
||
On Windows, run `build_windows.bat`. | ||
|
||
*3. (Optional) Update MuJoCo libs* | ||
|
||
Build MuJoCo libs with wasm target and place to lib. Currently v2.3.1 included. | ||
|
||
## JavaScript API | ||
|
||
```javascript | ||
import load_mujoco from "./mujoco_wasm.js"; | ||
|
||
// Load the MuJoCo Module | ||
const mujoco = await load_mujoco(); | ||
|
||
// Set up Emscripten's Virtual File System | ||
mujoco.FS.mkdir('/working'); | ||
mujoco.FS.mount(mujoco.MEMFS, { root: '.' }, '/working'); | ||
mujoco.FS.writeFile("/working/humanoid.xml", await (await fetch("./examples/scenes/humanoid.xml")).text()); | ||
|
||
// Load in the state from XML | ||
let model = new mujoco.Model("/working/humanoid.xml"); | ||
let state = new mujoco.State(model); | ||
let simulation = new mujoco.Simulation(model, state); | ||
``` | ||
|
||
Typescript definitions are available. | ||
|
||
## Work In Progress Disclaimer | ||
|
||
So far, most mjModel and mjData state variables and functions (that do not require custom structs) are exposed. | ||
|
||
At some point, I'd like to de-opinionate the binding and make it match the original MuJoCo API better. | ||
When building new models, make sure to run `generate_index.py` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.