WebGL-based humanoid model rendering engine.
This project aims to be an easy-to-use library for rendering 3D and pseudo-2D humanoid models. We choose WebGL because of its portability across platforms, as well as the broad support from JavaScript community.
- Contains one simple API for interacting with scene and models
- Supports
.vrm
file loading, including:- Unity Humanoid bone mapping
- BlendShape morphing
- Secondary Animation
- MToonMaterial
npm install v3d-core
Some older browsers may not be supported.
Please see examples/browser for an example.
A more complicated example can be found in examples/classroom.
Currently, this is not possible since we use a modified Babylon.js fork.
All modules support ES6 imports.
Please see index-test.ts for an example.
See CONTRIBUTING.md.
-
Clone this repo and submodules:
git clone https://github.com/phantom-software-AZ/v3d-core.git --recurse-submodules
If your Internet connection is slow, try the following instead:
git clone https://github.com/phantom-software-AZ/v3d-core.git --recurse-submodules --shallow-submodules
-
Build Babylon.js
cd lib/Babylon.js && git checkout master-custom && npm install cd Tools/Gulp && npm install gulp typescript-libraries --noGlobalInstall && gulp npmPackages-es6 --noGlobalInstall cd ../../../..
-
Build v3d-core
npm install npm run build
Output files will be under
dist
folder.
Go to root folder of this repository and run:
$ npm run debug
The debug page can be opened in any browser with http://localhost:8080/
.
See this demo video.
see LICENSE.
Babylon.js is licensed under Apache License 2.0.