1
0

emoteController.ts 855 B

123456789101112131415161718192021222324252627
  1. import * as THREE from "three";
  2. import { VRM, VRMExpressionPresetName } from "@pixiv/three-vrm";
  3. import { ExpressionController } from "./expressionController";
  4. /**
  5. * 感情表現としてExpressionとMotionを操作する為のクラス
  6. * デモにはExpressionのみが含まれています
  7. */
  8. export class EmoteController {
  9. private _expressionController: ExpressionController;
  10. constructor(vrm: VRM, camera: THREE.Object3D) {
  11. this._expressionController = new ExpressionController(vrm, camera);
  12. }
  13. public playEmotion(preset: VRMExpressionPresetName | string) {
  14. this._expressionController.playEmotion(preset);
  15. }
  16. public lipSync(preset: VRMExpressionPresetName | string, value: number) {
  17. this._expressionController.lipSync(preset, value);
  18. }
  19. public update(delta: number) {
  20. this._expressionController.update(delta);
  21. }
  22. }