这是indexloc提供的服务,不要输入任何密码
Skip to content

🚀 AgentVRM v0.4.0 リリース

Latest

Choose a tag to compare

@Sunwood-ai-labs Sunwood-ai-labs released this 09 Sep 18:01
· 12 commits to main since this release
image

🚀 新機能

🎭 アニメーション再生機能の追加

  • VRMAアニメーション対応: VRMAファイルのドラッグ&ドロップ再生に対応
  • FBXアニメーション対応: Mixamo形式のFBXファイル再生に対応
  • 初期モーション設定: 環境変数NEXT_PUBLIC_MOTION_FILENAMEで起動時のアニメーションを指定可能
  • スムーズなアニメーション切り替え: 0.5秒のフェードイン/フェードアウトで自然な遷移

📡 新しいAPI

  • /api/play_animation: 外部からアニメーション再生を制御する新しいAPIエンドポイント
  • WebSocketアニメーション制御: play_animationメッセージタイプによるリアルタイム制御

🎵 豊富なアニメーションアセット

新しいFBXアニメーションファイルを追加:

  • Breathing Idle.fbx - 自然な待機アニメーション
  • Old Man Idle.fbx - 落ち着いた待機ポーズ
  • Samba Dancing.fbx - サンバダンス
  • Standing Idle.fbx - 立ち姿の待機ポーズ
  • Swing Dancing.fbx - スウィングダンス
  • Talking1.fbx / Talking2.fbx / Talking3.fbx - 話している時のジェスチャー
  • Wave Hip Hop Dance.fbx - ヒップホップダンス

🐍 Python制御サンプルの拡充

新しいサンプルスクリプトを追加:

  • play_animation_api_sample.py: アニメーション再生APIの基本的な使用例
  • play_animation_podcast_sample.py: ポッドキャスト風会話でのアニメーション連動機能
  • podcast_simulation.py: 高度なポッドキャスト会話シミュレーション

🎪 高度なポッドキャスト機能

play_animation_podcast_sample.pyの特徴:

  • アクション別実行方式: 話すアクションとアニメーション変化を完全分離
  • 同時アニメーション機能: 話者は自動的にTalkアニメーション、非話者はDanceアニメーションを同時実行
  • 視覚的に豊かな表現: ため息やジェスチャーなど多彩なアニメーション
  • プログレスバー表示: アニメーション・音声再生の進行状況を可視化
  • 音声ファイル自動保存: assets/podcast_anim_{A|B}_{番号}.wav形式で保存

🔧 改善点

🎯 環境設定の強化

  • Docker環境の改良: docker-compose.podcast.ymlでポッドキャスト用設定に対応
  • 環境変数の追加: 初期モーションファイル指定のサポート
  • Pythonプロジェクト管理: pyproject.tomlによるパッケージ管理

📁 プロジェクト構造の整理

  • アニメーション専用ディレクトリ: public/anim/フォルダの新設
  • Pythonパッケージの除外: .gitignoreでPythonビルドファイルを適切に除外
  • ドキュメントの充実: README.mdの大幅な更新と使用例の追加

🛠️ 技術的改善

  • Three.jsライブラリ統合: FBXLoaderとMixamoアニメーション変換機能の追加
  • リグマッピング: MixamoからVRMへの自動ボーンマッピング機能
  • メモリ最適化: アニメーション切り替え時の適切なクリーンアップ

🔄 変更点

ファイル構造

public/anim/          # 新規追加: アニメーションファイル格納
├── *.fbx            # Mixamo形式FBXファイル
└── *.vrma           # VRMAファイル

src/lib/fbxAnimation/ # 新規追加: FBXアニメーション処理
├── loadMixamoAnimation.ts
└── mixamoVRMRigMap.ts

example/             # 大幅拡張
├── anim/           # サンプルアニメーション
├── assets/         # 音声ファイル保存先
├── play_animation_*.py  # 新規サンプル
└── pyproject.toml  # Python依存関係管理

API拡張

// 新しいAPIエンドポイント
POST /api/play_animation
{
  "animation": "/anim/Samba Dancing.fbx"
}

// WebSocketメッセージ拡張
{
  "type": "play_animation",
  "name": "/anim/Talking1.fbx"
}

🚨 破壊的変更

特になし(既存のAPIとの互換性は維持されています)

📋 マイグレーションガイド

環境変数の更新

.envファイルに新しい設定を追加してください:

# 初期モーションのファイル名(オプション)
NEXT_PUBLIC_MOTION_FILENAME=/anim/Breathing Idle.fbx

Dockerイメージの更新

既存のDockerコンテナを再ビルドしてください:

docker-compose down
docker-compose build
docker-compose up

🐛 修正したバグ

  • アニメーション切り替え時のメモリリーク問題を修正
  • FBXファイルのドラッグ&ドロップが正常に動作しない問題を解決
  • Docker環境でのファイルパス解決問題を修正

📚 ドキュメント

  • README.mdを全面的に更新し、新機能の使用方法を詳細に説明
  • サンプルコードのドキュメントを充実
  • API仕様書にアニメーション制御の情報を追加

🙏 謝辞

このリリースは、VRMコミュニティとpixiv/ChatVRMプロジェクトの基盤の上に構築されています。


ダウンロード: v0.4.0 Release

詳細な変更履歴: v0.3.0...v0.4.0