34
34

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Unity MCP + CodexでAIにUnityを操作させてキャラクターを踊らせてみた

34
Posted at

Unityの AI Assistant v2.0.0-pre.1 から、
Unity MCP(Model Context Protocol) が使えるようになりました。

MCPを使うと、AIからUnity Editorを操作できるようになります。

今回は

  • Codex CLI
  • Unity MCP

を使って、AIにUnityを操作させてキャラクターを踊らせるところまで試してみました。


1. Unity AI Assistant v2 を知る

Xを見ていて、Unityの AI Assistant v2.0.0-pre.1 が使えることを知りました。

image.png

https://x.com/nowsprinting/status/2029670999768326334

このバージョンでは Unity MCP が使えるようになり、
AIからUnity Editorを操作できるようになります。

「AIがUnityを操作する」というのが面白そうだったので試してみました。


2. ローカル環境で Codex + Unity MCP を試す

ローカル環境で以下の構成を作ります。

Codex CLI

MCP

Unity MCP Bridge

Unity Editor

使用したものは

  • Codex CLI
  • Unity 6.3
  • Unity MCP

です。

しかし最初はかなり苦戦しました。

  • MCPの設定
  • relay設定
  • config.toml設定

など、接続するまでに色々ハマります。

image.png

Package Managerから Package Nameで追加
Unityメニュー
Window → Package Manager
左上の +ボタン
Add package by name...
下を入力

Name
com.unity.ai.assistant

Version
2.0.0-pre.1

Add
これでインストールされます。

最終的にUnity側で

Edit → Project Settings → AI → Unity MCP

を開き、

Unity Bridge : Running

になればUnity側の準備は完了です。
image.png


3. Codex CLI の MCP 設定

Codex CLIでは、MCPサーバーの設定を
config.toml に記述する必要があります。

Windowsの場合は

C:\Users\ユーザー名\.codex\config.toml

にあります。

Unity MCPに接続するため、以下の設定を書き込みました。

config.toml
[mcp_servers.unity]
command = "C:\\Users\\hoge\\.unity\\relay\\relay_win.exe"
args = ["--mcp"]
startup_timeout_sec = 20
tool_timeout_sec = 120

command は Unity MCP の relay 実行ファイルです。
args は MCPモードで起動するための引数です。

startup_timeout_sec は MCPサーバー起動待ち時間、
tool_timeout_sec は MCPツール実行のタイムアウト時間です。

relayはUnity AI Assistantをインストールすると自動で配置され、
以下の場所にあります。

C:\Users\ユーザー名\.unity\relay\

設定を書き込んだ後、Codex CLIを再起動します。


4. MCP接続確認

Codexで

/mcp

を実行すると、接続されているMCPサーバーが表示されます。

ここに

unity

が表示されれば接続成功です。

その後Unity側で

Edit → Project Settings → AI → Unity MCP

を開くと

Pending Connection

が表示されるので

Accept

を押して接続を許可します。


5. テスト用のモデルを探す

MCPのテストをするため、
アニメーション付きのモデルを探しました。

するとXで

キズナアイのモデルとモーションが配布されているのを発見しました。
image.png

https://x.com/KizunaAIinc/status/2028742179448082560

配布データには

  • モデル
  • モーション
  • Unityシーン

が含まれています。

MCPのテストには非常にありがたいデータです。

※本記事ではモデルデータの再配布は行っていません。
使用する場合は公式配布ページから取得してください。

https://kizunaai.com/


6. Unity 6.3でShaderエラーが発生

Unity 6.3系でインポートすると
Shaderエラーが大量に発生しました。
image.png

原因は

URP(Universal Render Pipeline)

でした。

配布プロジェクトは Built-in Render Pipeline前提だったため、
URPパッケージを削除することで解消しました。
image.png


7. 自分の3Dスキャンモデルもインポート

さらにテストとして
自分の3DスキャンモデルもUnityにインポートしました。

状態は

  • T-Pose
  • モーションなし

です。
image.png

私のモデルデータは下記にあります。(いらないだろw)
https://firestorage.jp/download/de8fcb39f2f7ffe2f7d1d3cdf8f574c9a6544155
ダウンロードパスワード ig9b3077

モデルデータをいい感じに躍らせれるための記事は下記の記事に書いてあります。


8. Codex + MCPでUnityを操作

ここから AIにUnityを操作させます。

Codexに対して以下のような指示を出しました。

まず

1)Kizuna_AI_KAMATTEと3dData@T-Poseをシーン上に置いて
2)カメラとライトがないかな。
3)timelineでアニメーション制御したいからKizuna_AI_KAMATTE_Kamacho_Motionを2体のオブジェクトをあたっちして躍らせて
4)基本カメラとライトの設定はKizuna_AI_KAMATTE.unityの設定を参照して
5)timelineを再生すると同じ位置でアニメーションしてしてしますから3dData@T-Poseの方をx:1 y0 z:-2の位置で下がった位置で踊るようにして

2)1の段階だとモデルデータをシーン上に置いただけだったのでカメラとライトを追加してもらった
4)キズナアイちゃんのサンプルシーンのような見た目にしたかったので値を参照してもらった
5)アニメーションデータはrootのgameobjectにもアニメーションデータが入っていたので階層を一階層深くしてもらってオフセットを設けました。
こんな感じ
image.png


結果

無事

キズナアイと自分のモデルの2人が同時にダンスするシーン

を作ることができました。

しかも

Unity Editorをほとんど触らず、AIからの指示だけで構築できました。


やってみた感想

Unity MCPを使うと

  • Unity操作の自動化
  • シーン構築の高速化
  • AIエージェントによる開発

といった可能性を感じました。

特に

「AIがUnity Editorを操作する」

という体験はかなり新しいです。


デモ動画


参考

Unity MCP
https://docs.unity3d.com/Packages/com.unity.ai.assistant/

KizunaAI Guideline
https://kizunaai.com/guideline/

34
34
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
34
34

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?