Skip to content
glTF VRM extension Loader for babylon.js
TypeScript JavaScript Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci ci(gh-pages): Add gh-pages publish automation May 14, 2019
.vscode chore: Add vscode files Jun 27, 2019
src
test test: Add sample AliciaSolid.vrm May 17, 2019
.editorconfig
.gitattributes Initial Commit May 13, 2019
.gitignore chore(README): add browser example with codepen Jun 5, 2019
CONTRIBUTING.md Initial Commit May 13, 2019
LICENSE Initial Commit May 13, 2019
README.md
alicia.png
package.json chore(release): 1.4.4 [skip ci] Aug 21, 2019
tsconfig.json Changed js version May 26, 2019
tslint.json Initial Commit May 13, 2019
webpack.config.js fix(webpack): external exposes as var Jun 5, 2019
webpack.test.config.js
yarn.lock fix: Upgrade dependencies Aug 21, 2019

README.md

babylon-vrm-loader

npm version Greenkeeper badge CircleCI semantic-release

alicia.png

VRM porting to babylon.js.

This is Work In Progress.

This loader is used as THE SEED ONLINE web VRM/VCI/glb viewer.

Features

  • Supports .vrm file loading
    • with extensions.VRM glTF Extension
  • Supports .vci file loading
  • Supports MToonMaterial
  • Get bone(TransformNode) from Unity Humanoid bone mapping name
  • BlendShape morphing
  • Secondary Animation
  • 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

Usage

on browser

example is here.

with npm/yarn

$ 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];

// Update secondary animation
scene.onBeforeRenderObservable.add(() => {
    vrmManager.update(scene.getEngine().getDeltaTime());
});

// Model Transformation
vrmManager.rootMesh.translate(new BABYLON.Vector3(1, 0, 0), 1);

// Work with HumanoidBone
vrmManager.humanoidBone.leftUpperArm.addRotation(0, 1, 0);

// Work with BlendShape(MorphTarget)
vrmManager.morphing('Joy', 1.0);

Contributing

See CONTRIBUTING.md.

Build

$ yarn build

Debugging MToonMaterial

$ yarn debug

You can see inspector on http://localhost:8080/

Related Links

Licenses

see LICENSE.

This project uses babylon.js with Apache License, Version 2.0.

You can’t perform that action at this time.