live2d-web ドキュメント
モーションと表情
モーションの連続再生、Idle の選択比率、表情の切り替えを制御します。
再生結果と切り替え
motion() は従来どおり Promise<void> を返します。自然終了、中断、再生前のスキップ、モデルの破棄を区別したい場合は playMotion() を使用します。連続再生は、途中で正常終了以外の結果になるとそこで停止します。
const result = await character.playMotion('TapBody', 0, {
fadeInMs: 250,
fadeOutMs: 400,
})
await character.sequence([
{ group: 'TapBody', index: 0 },
{ group: 'Idle', index: 0 },
])
await character.expression('smile', { fadeInMs: 500 })制作者の既定値を維持
切り替え時間を省略した場合は、model3・motion3・exp3 に設定された値をそのまま使います。motion3 にパラメータごとの設定がある場合は、再生全体に指定した値よりも優先されます。
優先度と終了状態を確認
ユーザー操作は normal、自動待機は idle、現在のモーションを必ず置き換えるときだけ force を使います。playMotion() は completed、interrupted、skipped、disposed を返します。
const result = await character.playMotion('TapBody', 0, { priority: 'normal' })
if (result.status === 'completed')
await character.expression('smile')Idle と表情の切り替えを管理
重み付き Idle はモーション数と同じ長さの配列を使い、0 の要素は選びません。新しい表情は前の表情を fade で置き換えます。clearExpression() は即時初期化が必要な場面に使います。