top of page

まるで命が吹き込まれるよう

  • 執筆者の写真: snackvirtual
    snackvirtual
  • 4月7日
  • 読了時間: 2分

パーツが少しずつできてきた。


前回では

呼吸、カメラワーク、キーボード入力が完成していたが、再度システムを見直した。


結論としては、BackEndとして、Python/Flaskのローカルサーバーを作り、Unityがローカルでここにアクセスする形に変えた。

これは将来の拡張性(例えばUnity WebGLでInternet上に公開するなど)を考えた時、Gemini APIのアクセスキーをBackEnd側に持つべきだと考えたからである。

他にもAivisSpeechの再生がローカルPCでしかできない等を考えると、BackEndとしてGemini APIへのアクセス→Unityに投げるレスポンスの加工をPythonで実行→同時にAivisSpeechで音声合成→返信とすることで、まとまったシステムとなった。


機能としてまとめると、

FrontEnd:Unity

 機能:

  VRMモデルの表示

  合成音声ファイルの再生

  プリセットされた表情の切り替え

  プリセットされたポーズの切り替え

  マウスでの視点移動

  Geminiへのテキスト入力

  Gemini用のシステムプロンプト(キャラクタ設定、表情制御、ポーズ制御用)

  呼吸、まばたき、カメラ追跡目線、LipSync(uLipSync)


BackEnd:Python+Flask+Gemini API+AivisSpeech

 機能:

  Gemini APIによるAI会話生成

  AivisSpeechによる合成音声ファイル生成

  Geminiによる感情分析を元に表情制御

  

特にUnityで機能をひとつひとつ動かしていくときが楽しい。

最初は全く動かなかったVRMモデルが、

呼吸をし、まばたきをし、言葉を話し、口が動くと命が吹き込まれたようだった。

さらにカメラワークで近くに寄り、そのカメラを追うように視線と首が動くと、もう可愛くて仕方なくなる。


そうやって少しずつ手をかけ、少しずつ命を吹き込んでいくのが楽しい。


コメント


bottom of page