This package is still under development. The usage may be destructively changed.
TypeScript/JavaScript VRM library for three.js
VRM 形式の 3D モデルを three.js で使用するためのパッケージです。
For TypeScript
yarn add three @types/three
For JavaScript
yarn add three
Install the package from npm
and import it.
yarn add three-vrm
This TypeScript code loads a VRM file with VRMLoader
.
You have to create a Camera
, a Light
, and a WebGLRenderer
to render the Scene
.
See the usage of three.js.
import * as THREE from 'three';
import { VRM, VRMLoader } from 'three-vrm';
const scene = new THREE.Scene();
const vrmLoader = new VRMLoader();
vrmLoader.load(
'model.vrm',
(vrm: VRM) => {
scene.add(vrm.scene);
// Render the scene.
},
(progress: ProgressEvent) => {
console.log(progress.loaded / progress.total);
},
(error: ErrorEvent) => {
console.error(error);
}
);
Alternatively, if you work with HTML and a copy of three.js
, you may copy only node_modules/three-vrm/lib/index.js
and include it.
Rename the file as necessary.
This file assigns all exported classes to THREE
.
<script src="js/three.js"></script>
<script src="js/three-vrm.js"></script>
<script>
var scene = new THREE.Scene();
var vrmLoader = new THREE.VRMLoader();
vrmLoader.load(
'model.vrm',
function (vrm) {
scene.add(vrm.scene);
// Render the scene.
},
function (progress) {
console.log(progress.loaded / progress.total);
},
function (error) {
console.error(error);
}
);
</script>
A loader for VRM resources.
Creates a new VRMLoader.
Loads a VRM model.
VRM model data.
A glTF asset property.
A Scene
.
A GLTFParser
created by GLTFLoader
.
A dictionary object with extension data.
Raw json of VRM extensions is in .userData.gltfExtensions.VRM
.
An array of VRM material properties.
.textureProperties
and .vectorProperties
are converted to THREE.Texture
objects and THREE.Vector4
objects.
VRM bone mapping.
VRM model information.
VRM blendShapeMaster with an array of BlendShapeGroups to group BlendShape.
VRM first-person settings.
VRM swaying object settings.
yarn
yarn start
Open localhost:8080
with a browser.