Unity MCPを試してみた

ClineのMarketplaceからUnity BridgeというUnity MCPをダウンロードしました
UVはインストールしてたので、Unity Packageを追加でダウンロードした感じですね
色々設定し終わったあと初回は通信エラーが出ていたのですが、PC再起動したら動きました
今回は特にファイアウォールとかもいじってません
デモ動画
参考:

出来たら便利そうだな~って構想の中に、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を配置するだけでこんなにやらないといけないのか…、ちょっと残念
ちなみにエディタ拡張は作成してません、汎用性のあるプログラムを作成するのがめんどくさかったので…
またやりたくなったら考えますね~