2026-03-04
VRMキャラクターをAI会話システムとして動かす
自作VRMモデルをUnity・FastAPI・OpenAI APIと連携し、会話できるAIキャラクターとして試作している構成と進捗をまとめました。

自作3DモデルをAIキャラクターとして動かす試作
概要
Blenderで制作した自作3Dモデル(VRM)を、
Unity上で会話可能なAIキャラクターとして動作させる試作を行っています。
このプロジェクトでは、
- 3Dキャラクター表示
- AIによる会話生成
- 音声合成
- リップシンク
- 表情・視線制御
を組み合わせ、AIキャラクターとして会話できるアプリケーションの構築を目的としています。
使用技術
本プロジェクトでは以下の技術を使用しています。
| 分類 | 技術 |
|---|---|
| ゲームエンジン | Unity |
| UI | UI Toolkit |
| 3Dモデリング | Blender |
| モデル形式 | VRM 1.0 |
| VRM表示 | UniVRM |
| 非同期処理 | UniTask |
| リップシンク | uLipSync |
| JSON処理 | System.Text.Json |
| AI応答 | OpenAI API |
| 音声生成 | VOICEVOX |
| バックエンド | FastAPI |
Unityはキャラクター表示・UI・音声再生などのクライアント処理を担当し、
AI応答生成や音声生成はFastAPI側で処理する構成になっています。
システム構成
システム全体は以下のような構成になっています。
Unity(クライアント)
↓
HTTP通信
↓
FastAPI(バックエンド)
↓
OpenAI API(会話生成)
↓
VOICEVOX(音声生成)
AI応答生成や音声合成などの処理をサーバー側に分離することで、
- AIモデル変更
- 音声システム変更
- 処理負荷分散
などに柔軟に対応できる構造にしています。
システムの処理フロー
会話処理は以下の流れで動作します。
ユーザー入力(Unity UI)
↓
Unity → FastAPIへHTTPリクエスト送信
↓
FastAPI → OpenAI APIへ問い合わせ
↓
AI応答生成
↓
VOICEVOXで音声生成
↓
FastAPI → Unityへレスポンス返却
↓
キャラクターが発話・表情変化
Server-Sent Events(SSE)を利用し、
AIの応答をストリーミングでUnityへ返す構成にしています。
Unity側のコンポーネント構成
Unity側では機能ごとにコンポーネントを分割して実装しています。
| コンポーネント | 役割 |
|---|---|
| ChatController | FastAPIとの通信とチャット処理 |
| VoicePlayController | 音声再生とリップシンク制御 |
| EmotionController | AI応答に応じた表情制御 |
| VoiceInputController | マイク入力と音声送信 |
| MouseLookAtController | 視線追従とまばたき制御 |
これにより、
- 会話処理
- 音声再生
- キャラクター表現
を独立した構造で管理しています。
実装内容
Techpitの教材
「UnityとFastAPIで作るAIキャラクターアプリ開発」 をベースに実装しています。
教材の内容を土台にしつつ、以下の機能を実装・調整しています。
教材ベースの機能
- UnityとFastAPIのHTTP通信
- OpenAI APIによる会話生成
- Server-Sent Eventsによるストリーミング応答
- VOICEVOXによる音声生成
- VRMキャラクター表示
- 音声再生処理
- リップシンク
追加実装
教材に加えて以下の機能を実装しています。
- Blenderで制作した自作VRMモデルの使用
- 表情アニメーション制御
- 視線追従
- 自動まばたき
- Unity UIの調整
- コンポーネント分割による構造整理
3DキャラクターはBlenderでモデリングし、
VRM形式に変換したモデルをUnityへ取り込み、AIキャラクターとして動作させています。
現在の実装状態
現在、以下の機能が動作しています。
- VRMキャラクター表示
- AIチャット
- 音声生成(VOICEVOX)
- 音声再生
- リップシンク
- 表情制御
- 視線追従
- 自動まばたき
- ストリーミング応答表示
ユーザー入力に対してAIが応答を生成し、
キャラクターが音声と表情で反応する基本的な会話体験を実装しています。
今後の予定
現在は試作段階のため、今後以下の機能を追加予定です。
- ポートフォリオの3D ROOMへの統合
- YouTubeコメント連携
- ライブ配信対応
- 音声入力機能の安定化
まとめ
Unity・FastAPI・OpenAI API・VOICEVOXを組み合わせることで、
VRMキャラクターをAI会話システムとして動作させる基本構成を構築しました。
今後は機能拡張や改善を進めながら、
AIキャラクターとしての表現力やインタラクションを強化していく予定です。