Closed2

Unity MCPを試してみた

nekoconekoco

ClineのMarketplaceからUnity BridgeというUnity MCPをダウンロードしました
https://github.com/justinpbarnett/unity-mcp

UVはインストールしてたので、Unity Packageを追加でダウンロードした感じですね
色々設定し終わったあと初回は通信エラーが出ていたのですが、PC再起動したら動きました

今回は特にファイアウォールとかもいじってません

デモ動画
https://x.com/nekoco_vrc/status/1907761928912462017

参考:
https://zenn.dev/bamboohouse/articles/d8df41a995f818
https://bibinbaleo.hatenablog.com/entry/2025/03/28/213109#Unity

nekoconekoco

出来たら便利そうだな~って構想の中に、HoudiniでFBXを出力しUnityに配置するというのがありました
なのでやってみたら、謎に難しそうでした

躓いたところ1

HoudiniとUnityで保存ドライブが異なっていたのですが、そのせいなのかファイルの移動ができませんでした?

PS G:\マイドライブ\Vault2> Copy-Item -Path "C:\Users\neko\3D Objects\Houdini\Sandbox\TOP_Test\1.fbx" -Destination "D:\UnityProject\AI_Test\Assets\Imports\1.fbx" -Verbose
詳細: 対象 "項目: C:\Users\neko\3D 
Objects\Houdini\Sandbox\TOP_Test\1.fbx コピー先:      
D:\UnityProject\AI_Test\Assets\Imports\1.fbx"
に対して操作 "ファイルのコピー" を実行しています。    
Copy-Item : パス 'D:\UnityProject\AI_Test\Assets\Impo 
rts\1.fbx' の一部が見つかりませんでした。
発生場所 行:1 文字:1
+ Copy-Item -Path "C:\Users\neko\3D Objects\Houdini\S 
andbox\TOP_Test\1. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Cop  
   y-Item], DirectoryNotFoundException
    + FullyQualifiedErrorId : System.IO.DirectoryNot  
   FoundException,Microsoft.PowerShell.Commands.Cop   
  yItemCommand

まあコマンドプロンプトのコードを少し修正したら移動できたので、いつも通りのAIの考えすぎかもしれません

copy "C:\Users\neko\3D Objects\Houdini\Sandbox\TOP_Test\1.fbx" "D:\UnityProject\AI_Test\Assets\"

躓いたところ2

Unity MCPでFBXをシーン上に配置してもらったのですが、何も見えません!
なぜならMesh FilterとMesh Rendererが設定されていないからです

そう、Mesh FilterとMesh Rendererはシーン上に配置したときに自動で付与されるようなのです
なのでCLIで配置するとその自動化が働かないのかもしれませんね

メッシュアセットをインポートすると、メッシュがスキンされる場合に、Unity が自動的に スキンメッシュレンダラー を作成し、そうでない場合は、メッシュレンダラー とともに、メッシュフィルターを作成します。
Mesh Filter - Unity マニュアル

まあ、コンポーネントの追加くらいなら命令すれば追加してくれます
問題はMesh FilterのMeshプロパティです!

なんと、ここで指定するメッシュファイルは少々特殊な構造(サブアセット)なようで、MCPからは検索し特定することが難しいようです!

例えば、“Space Frigate ”モデルを含むこの FBX アセットファイルを Project ウィンドウで展開すると、サブアセットとしてマテリアルとメッシュを持っていることがわかります
アセットデータベースワークフローのカスタマイズ - Unity マニュアル

AIに聞いてみたところ、やはり難しいとのことでした
解決手段としては、「Unity側では操作することが出来るはず(Unity API)なのでエディタ拡張を作成して、それをMCPで実行させろ」とのこと


いや~、FBXを配置するだけでこんなにやらないといけないのか…、ちょっと残念
ちなみにエディタ拡張は作成してません、汎用性のあるプログラムを作成するのがめんどくさかったので…
またやりたくなったら考えますね~

このスクラップは5ヶ月前にクローズされました