VRM porting to babylon.js.
This is Work In Progress.
This loader is used as THE SEED ONLINE web VRM/VCI/glb viewer.
- Supports
.vrm
file loading- with
extensions.VRM
glTF Extension
- with
- Supports
.vci
file loading - Supports MToonMaterial
- Get bone(TransformNode) from Unity Humanoid bone mapping name
- TODO: BlendShape morphing
- TODO: Secondary Animation
- TODO: WebXR sample with First Person
- Supports VCI features(partial support)
VCAST_vci_material_unity
- TODO:
VCAST_vci_meta
- TODO:
VCAST_vci_embedded_script
- TODO:
VCAST_vci_audios
- TODO:
VCAST_vci_colliders
- TODO:
VCAST_vci_rigidbody
- TODO:
VCAST_vci_joints
- TODO:
VCAST_vci_item
example is here.
$ npm install --save @babylonjs/core @babylonjs/loaders babylon-vrm-loader
# or
$ yarn add @babylonjs/core @babylonjs/loaders babylon-vrm-loader
import * as BABYLON from '@babylonjs/core'
// has side-effect
// ref. https://webpack.js.org/guides/tree-shaking#mark-the-file-as-side-effect-free
import 'babylon-vrm-loader'
// vrmFile is File object retrieved by <input type="file">.
const scene = await BABYLON.SceneLoader.LoadAsync('file:', vrmFile, engine);
const vrmManager = scene.metadata.vrmManagers[0];
const hips = vrmManager.getBone('hips'); // returns Nullable<TransformNode>
hips.translate(BABYLON.Vector3.Right(), 1.0);
See CONTRIBUTING.md.
$ yarn build
$ yarn debug
You can see inspector on http://localhost:8080/
- BabylonJS/Babylon.js: Babylon.js: a complete JavaScript framework for building 3D games with HTML 5 and WebGL
- vrm-c/UniVRM: Unity package that can import and export VRM format
- virtual-cast/babylon-mtoon-material: Unity MToon Shader WebGL porting to babylon.js.
see LICENSE.
This project uses babylon.js with Apache License, Version 2.0.