【VRC】Claude Codeにアバターを最適化させてみる

投稿日: 更新日:

MCP for Unityの導入

あまり詳しくは解説しません。以下の公式サイトの手順に沿ってセットアップしてください。

公式サイト:https://coplaydev.github.io/unity-mcp/getting-started/install

だいたいはこんな感じ。

  1. pythonとuvをインストールする
  2. Unityのwindowからパッケージマネージャーを開きgitのURLを追加する
  3. claudeにMCP for Unityを登録する

mcp for unityを起動してからClaudeを起動しないとclaudeがmcpを認識してくれないようです。

「Unityに接続できますか?接続できたら画面に何が出ていたか教えてください。」などのクエリを打って動作確認してみましょう。

1. 機能・見た目をほとんど変えずに軽量化させる

今回使ったアバターはぷらすわんさん作の真冬です。

まず、最適化前のパフォーマンスです。

最適化前のパフォーマンス

では、Claude Codeで最適化を行います。

なんの知識も渡さずに最適化をさせるとさすがに上手くいかないのでAvatorOptimization by using Unity.mdをClaude Codeに渡します。

そして、MotionProbeをVCCのパッケージに追加し導入しておきます。

設定などは以下の通り。

  • Opus 5.5 超高
  • Unityのプロジェクトがあるフォルダーを追加
  • AvatorOptimization by using Unity.mdを渡す

プロンプトは以下のとおりです。

AvatorOptimization by using Unity.mdに従いUnity上に表示されているアバターの最適化を進めてください。必要パッケージが無いなどの問題が生じた場合は教えてください。

これで実行させます。

結果はこのようになりました。

最適化後のパフォーマンスその1

主な変化としては以下の通りです。最適化の内容としてはAAOやMeshiaにを使って非破壊かつ見た目や機能をほぼ維持したまま軽量化したようです。

項目最適化前最適化後差分
ポリゴン数10421771232-29.1 %
Bones348237-31.9 %
PhysBone Components9476-19.1 %
PhyBone Transforms280208-25.7%
Texture Memory93.65 MB33.65 MB-64.1%

2. 機能を削り軽量化させる

デフォルトの状態だとアクションメニューで衣装や髪型などを切り替えられます。しかしこれは軽量化を行う上ではかなり相性が悪いです。 アバターをデフォルトの衣装の状態から切り替えないことにしすべてのアクションメニューを撤廃し軽量化させます。

プロンプトは以下の通りです。

アクションメニューからの着せ替えは使用する予定がなく、現状のまま使用することにします。この場合の軽量化を進めてください。

さらに軽量化されました。ほとんどの項目はGoodになりPhys関連がどうしても限界なようです。

最適化後のパフォーマンスその2

3. Phys関連の軽量化をさせる

今までの軽量化はできる限り見た目を維持することに重点を置いていましたがこれだとどうしてもPhys関連の軽量化に消極的になります。

次はできる限り挙動を維持させつつも、Phys関連の軽量化に注力させランクMediumを目指して軽量化を行わせてみます。

プロンプトは以下の通りです。

次は見た目の変化を極力抑えつつPhys関連の軽量化をおこなってください。目標はMediumです。

結果はこんな感じです。

実際にUnity上で揺れを確認しながらPhys関連の削減を行っており、実際にアバターを確認したところ違和感のない範囲内で十分に最適化できていました。

最適化後のパフォーマンスその2

感想

思っていたより優秀で改変後の前と後の見た目の違いを確認しながら作業が行えるようでした。 Phys関連の軽量化は自力でやろうとすると削減作業と見た目確認を往復することになるのでこれはかなり手助けになりそうです。

Blenderと連携させることでUnity上ではできないような軽量化をさせれそうとも思ったのでやってみるかも。

推論レベルは超高だったが、そんなに必要ないかもしれません。

書いた人

profile_image

お茶の葉

物理とプログラミングが好きな人