This package is deprecated. Use @pixiv/three-vrm instead. (@pixiv/three-vrm is NOT our product and it is NOT compatible with this package.)
本パッケージは開発を停止しています。 @pixiv/three-vrmを使用してください。 (本パッケージとは開発者が異なり、互換性がありません。)
VRM file loader and utilities for three.js, written in TypeScript.
VRM 形式の 3D モデルを three.js で描画するためのパッケージです。
yarn add threeInstall the package from npm and import it.
yarn add three-vrmThis 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.model);
// 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.model);
// 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.
Model data loaded by VRMLoader.
A glTF asset property.
A Object3D.
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.
VRM bone mapping.
VRM model information.
VRM blendShapeMaster with an array of BlendShapeGroups to group BlendShape.
VRM first-person settings.
VRM swaying object settings.
Returns a reference to the Object3D in .model, corresponding to the node index.
Morphs the mesh.
Morphs all meshes in the BlendShapeGroup.
A Physics handler for VRM.
const clock = new THREE.Clock();
const physics = new VRMPhysics(vrm);
function render() {
const delta = clock.getDelta();
physics.update(delta);
renderer.render(scene, camera);
}Creates a new VRMPhysics.
deltaTime - Time in second.
Advances Physics calculation and updates bones.
yarn
yarn startOpen localhost:8080 with a browser.