binzume / aframe-vrm

VRM components for A-Frame
MIT License
49 stars 19 forks source link
aframe vr vrm webvr

VRM Components for A-Frame

A-FrameVRM のモデルを動かすコンポーネントです.

Features

Demo

AliciaSolid

Usage

<html>
<head>
  <script src="https://cdn.jsdelivr.net/gh/aframevr/aframe@v1.0.4/dist/aframe-master.min.js"></script>
  <script src="https://binzume.github.io/aframe-vrm/dist/aframe-vrm.js"></script>
</head>
<body style="background-color: black; color:white;">
  <a-scene>
    <a-entity vrm="src:assets/AliciaSolid/AliciaSolid.vrm;blink:true" vrm-anim="" rotation="0 180 0"></a-entity>
    <a-camera position="0 1.6 2"></a-camera>
  </a-scene>
</body>
</html>

npm: @binzume/aframe-vrm

Components

vrm

Attributes:

name type default desc
src string None VRM model URL
blink boolean false Auto blink
blinkInterval number 5 Auto blink interval
lookAt selector None look at target element
firstPerson boolean false Hide head meshes

Properties:

avatar : VRMAvatar

Events:

name event.detail desc
model-loaded {format:'vrm', model: Object3D, avatar: VRMAvatar} Loaded event
model-error {format:'vrm', src: URL, cause: object} Error event

Compatible with gltf-model component: https://aframe.io/docs/1.0.0/components/gltf-model.html

vrm-poser

Pose editor.

Attributes:

name type default desc
color color green box color
enableConstraints boolean true Enable bone constraints

vrm-anim

Play bvh/vmd animation.

Attributes:

name type default desc
src string '' BVH file url
format string '' vmd or bvh (default: auto detect)
convertBone boolean true Convert bone name

srcを空にすると待機アニメーションが再生されます(テスト用).

Building aframe-vrm

cd aframe-vrm
npm install
npm run lint
npm run build

VRMAvatar API

See: avatar.ts

import {VRMLoader} from "./dist/aframe-vrm.module.js"

const scene = new THREE.Scene();
const avatar = await new VRMLoader().load("test.vrm");
scene.add(avatar.model);

Property:

Methods:

TODO

License

MIT License