メインコンテンツまでスキップ

VRM モジュール

Vrm クラスは @hmcs/sdk のコアモジュールです。VRM 3D キャラクターの完全なライフサイクルを管理します -- スポーン、検索、アニメーション、表情制御、ポインタ/ドラッグイベントの処理、リップシンクスピーチなどを提供します。

import { Vrm, repeat, VrmEventSource } from "@hmcs/sdk";

staticメソッド

メソッド説明
Vrm.spawnMOD アセット ID から新しい VRM をスポーンします。Vrm インスタンスを返します。
Vrm.findByNameモデル名で VRM を検索します。見つからない場合はスローします。
Vrm.waitLoadByNameVRM の読み込み完了を待ってから返します。
Vrm.findAll読み込み済みのすべての VRM インスタンスを Vrm[] として取得します。
Vrm.findAllEntities読み込み済みのすべての VRM エンティティ ID を number[] として取得します。
Vrm.findAllDetailedすべての VRM の詳細スナップショット(状態、トランスフォーム、表情、アニメーション、ペルソナ)を取得します。
Vrm.streamMetadata既存および今後作成される VRM インスタンスの生の VrmMetadata をストリームします。
Vrm.stream既存および今後作成される VRM インスタンスを Vrm オブジェクトとしてストリームします。

インスタンスメソッド

メソッド説明
despawnこの VRM をシーンから削除します。
position画面座標(globalViewport)とワールド座標の両方で位置を取得します。
state現在の状態文字列を取得します(例:"idle"、"drag"、"sitting")。
setStateキャラクターの状態を設定します。
nameVRM モデル名を取得します。
findBoneEntity名前付きボーン(例:"head"、"leftHand")のエンティティ ID を取得します。
playVrmaリピート、トランジション、完了オプション付きで VRMA アニメーションを再生します。
stopVrmaアセット ID で指定した VRMA アニメーションを停止します。
listVrmaこの VRM にアタッチされたすべての VRMA アニメーションを一覧表示します。
vrmaState特定のアニメーションの再生状態(再生中、速度、経過時間)を取得します。
setVrmaSpeedアニメーションの再生速度を変更します。
springBonesすべてのスプリングボーンチェーン(髪、衣服の物理)を取得します。
springBoneエンティティ ID で特定のスプリングボーンチェーンを取得します。
setSpringBoneスプリングボーンの物理プロパティ(剛性、抵抗、重力)を更新します。
expressionsすべての表情とその現在のウェイトを取得します。
setExpressions表情のウェイトを設定し、以前のすべてのオーバーライドを置換します。
modifyExpressions表情のウェイトを部分的に更新します(他のオーバーライドは維持)。
clearExpressionsすべての表情オーバーライドをクリアし、VRMA アニメーションに制御を戻します。
modifyMouthリップシンク用の口の表情を設定します(口以外のオーバーライドは維持)。
lookAtCursorキャラクターの目をマウスカーソルに追従させます。
lookAtTargetキャラクターの目を特定のエンティティに向けます。
unlook視線追従動作を無効にします。
personaキャラクターのペルソナ(プロフィール、性格、OCEAN 特性、メタデータ)を取得します。
setPersonaキャラクターのペルソナデータを設定します。
speakWithTimelineWAV オーディオをフレーム同期された表情キーフレームで再生し、リップシンクを行います。
eventsリアルタイムイベントストリーミング用の VrmEventSource を開きます。

repeat 名前空間

関数説明
repeat.foreverアニメーションを無限にループします。
repeat.neverアニメーションをちょうど1回再生します。
repeat.countアニメーションを固定回数再生します。

VrmEventSource

メソッド説明
VrmEventSource.onイベントリスナーを登録します。
VrmEventSource.closeSSE 接続を閉じます。