見出し画像

仮想アバター入門(VRoid Studio、Blender、Unity、cluster)


本記事の主旨

はじめに

自分だけのオリジナルアバターで、メタバースを歩いてみたい🐥 

本記事は、そんな願望を無料ソフトで叶えるまでの実践記録です(個人的な備忘録も兼ねてます)。

具体的には、pixivでおなじみのピクシブ株式会社が提供する『VRoid Studio』で3Dアバターを自作し、国産ソーシャルVR『cluster』にアップロードして動かします。

さらに後半では、書き出したVRMファイルを「Blender」と「Unity」に持ち込み、AI(Blender MCP / Unity MCP)に作業してもらいながら改良するところまで踏み込みます。

📝 登場するソフトはすべて無料で利用できます(Unityは個人向けの無料プランを想定)

ちなみに筆者は、VRoidもclusterも今回が初体験です🐥

初心者が実際に手を動かして「つまずいたポイント」や「ハマった落とし穴」も、そのまま記録しています。これから始める方の道しるべになれば幸いです。

動作としてはこんな感じ。

🎞️ noteの仕様上、動画ファイルの直接アップロードができず、GIF画像も20MBの容量制限があるため、今回はX(旧Twitter)の投稿を埋め込んで代用しています


👩‍💻 こんな方に向けた内容です
・オリジナルの3Dアバターを無料で作ってみたい方
・自作アバターをcluster(メタバース)で動かしてみたい方
・VRMファイルをBlenderやUnityで軽量化・改良してみたい方
・補足的にVRChatやVTuberアバターについて知りたい方。

🛠️ 動作検証環境
・macOS Tahoe 26.5.1
・VRoid Studio 2.13.0
・Blender 5.1.1
・Unity 6.4(6000.4.0f1)
・cluster 3.90


本記事の構成

ざっくり言うと『VRoid Studioで作る → clusterで動かす → Blender / UnityでAI改良 → 再びclusterで確認』という流れです。

📑 VRoidでの作成から、VRプラットフォームへのアップ、AIを用いた改良までの流れ

「とりあえず自作アバターをclusterで動かしたい!」という方は、前半だけでも完結します。BlenderやUnityと聞くとハードルが高く感じますが、実作業の多くはAIにお任せするので、興味のある方はぜひ後半もどうぞ。

なお、途中のコラム(バ美肉とは?など)は読み飛ばしても支障ありません。まずは次の「用語集」で基本用語をざっくりおさえてから、本編に進みましょう。


用語集

この記事に登場する基本的な用語を、初心者向けにざっくりと解説します。「3Dモデルとかよく分からない……」という方は、ここだけ軽く目を通しておいてください。

仮想アバター・3D制作用語集
  • アバター
    インターネット上の仮想空間(メタバース)で動かす『自分の分身』のこと。(「VRゲームの中で自分が操作するキャラクター」「VTuberが配信で使っているキャラクター」など)

  • ソーシャルVR(メタバース)
    世界中の人たちがアバターの姿で集まり、おしゃべりしたり、ゲームで遊んだり、イベントに参加したりできる「インターネット上の3D空間」のこと。世界最大の『VRChat』や、スマホからも手軽に入れる日本の『cluster(クラスター)』などがある。

  • VRoid Studio(ブイロイド スタジオ)
    イラストサイトのpixivが提供している、アニメ風3Dアバターを作れる無料ソフト。

  • .vroid形式(ブイロイド 形式)
    VRoid Studio専用の作業中のセーブデータ。

  • .vrm形式(ブイアールエム 形式)
    VRMはピクシブが主導して作ったVR向けの独自拡張フォーマット。

  • Blender(ブレンダー)
    3D制作ソフト。VRoid Studioで作ったアバターに対し「オリジナルの服を着せる」「猫耳やシッポをくっつける」など大掛かりな改造(モデリング)を行いたい時に使う。

  • Unity(ユニティ)
    ゲーム開発ソフト(ゲームエンジン)。アバター作りにおいては、髪の毛やスカートが自然にフワッと動くようにする「揺れモノ」の設定を行ったり、肌や服の質感をアニメっぽく綺麗に整えたりする。

📝 補足:ボーンとポリゴンについて
・ボーン(Bone):
アバターの中に仕込まれている「骨」のこと。これがあるおかげで、人間の動きに合わせてアバターの手足が動きます。
・ポリゴン(Polygon): 3Dモデルを作っているカクカクとした「面」のこと。この面(ポリゴン数)が多ければ多いほど滑らかで綺麗なアバターになりますが、データが重くなるため、clusterなどのプラットフォームでは「ポリゴン数は〇〇以下にすること」という制限が設けられています。


VRoid Studio

VRoid Studioとは

■ VRoid Studio

VRoid Studioは、イラスト投稿サイト「pixiv」でおなじみのピクシブ株式会社が開発/提供している、人型の3Dキャラクター(アバター)を作成できる無料のソフトウェアです。

■ アバターの用途

VRM形式に書き出し「アバター(VRChatやclusterなど)」「VTuberモデル」「ゲーム内アセット(Unityなど)」「映像作品やイラスト制作の参考資料」などに使えます。

■ さらに作り込みたい場合

なお、書き出したVRMをさらに細かく作り込みたい場合は、Blenderなどの本格的な3Dソフトに読み込んで、衣装の追加やボーンの微調整を行うクリエイターも多くいます。「VRoid Studioでベースを作り、Blenderで仕上げる」は定番のフローになっています。

■ Blenderとの比較

VRoid Studio と Blender の比較

3D制作ソフトといえば「Blender」が有名ですが、基本スキルで1年、中級スキルで3年ほど習得期間が掛かります。一方『VRoid Studio』は簡易アバター特化のため、基本スキルなら1日、中級スキルでも1週間ほどで習得できます。

VRoid Studio 習得スキルマップ

今回は、ゲーム内アセットとして動作確認したいだけなので、サクッと基本のみとなります。


VRoid Studioをインストールする

https://vroid.com/studio

公式サイトからダウンロードします。

インストールします。

■ チュートリアル

「VRoid Studioをはじめよう」クリックで公式チュートリアルに遷移します。

公式チュートリアル(https://vroid.pixiv.help/hc/ja/articles/4405597663385-VRoidをはじめよう)

一通り、目を通しておくと良いでしょう。

■ Dock

最大化でもDockが被る

macOSの最大化に上手く対応していないのかDockが邪魔になるので自動表示にしておくと良いでしょう。

⚙️設定:「デスクトップとDock」→「Dockを自動的に表示/非表示」→「オン」


VRoid Studioを使う

トップ画面

「新規作成」を選択

上段メニューより「顏」「髪型」「体型」「衣装」「アクセサリー」「ルック」を切り替え

最初は「プリセットを選択」「パラメータ調整」ぐらいで良いかと思います。

テクスチャ編集

慣れたらテクスチャ編集やカスタムアイテム作成などにもチャレンジしたいところ🎨

インポートなどの調整も出来る。

何というか、Blenderで人間の形をした、いわゆる「Humanoid型モデル」の制作って凄く大変なんですよ。一方、VRoid Studioはサクサク簡単にできます。操作方法も直感的に理解できる。そして、何より楽しい。

■ ファイルの保存(.vroid形式)

「左上のハンバーガーメニュー」→「名前をつけて保存」
VRoid Studio専用のプロジェクトファイル(.vroid形式)として保存できます。

📝 保存したデータの読み込みは、先述の「VRoid Studioを使う」のトップ画面から行えます。

■ VRMファイルのエクスポート(.vrm形式)

「右上のアップロードボタン」→「VRMエクスポート」
UnityやBlenderなどの他の3Dソフトで使えるアバター用ファイル(.vrm形式)として書き出すことができます。

「VRM1.0」は新しい規格なのですが、色々と対応していないケースがあるので「VRM0.x」の方が無難とされてます(筆者はVRM0.xの方を選択しました)

📝 ファイル名は日本語を使わず英数字にしてください。UnityやBlenderに持ち込む際、日本語パスが原因でエラーになるケースがあるためです。

なお、VRMはピクシブが主導して作ったVR向けの独自拡張フォーマットです。glTFという汎用3D形式をベースにしてはいますが、ボーン命名規則・表情(BlendShape)・SpringBone・利用許諾メタデータなどVRM独自の仕様が上乗せされてます。したがって、UnityやBlenderなどで直接読み込むことはできません。

  • Blender
    VRM対応のアドオン(VRM Addon for Blenderなど)を使ってインポート

  • Unity
    「UniVRM」というプラグインを使ってインポート

という流れになります。


補足:撮影機能

ついでに、撮影機能も使ってみましょう。

右上の「カメラ」ボタン押下

「ボーズ&アニメーション」選択。

  • アニメーション機能
    各プリセットより、モーション(ジャンプ・走るなど)を選んで再生が可能。ただし、VRoid Studioではユーザーが独自のアニメーションを1から作るタイムラインやキーフレーム編集機能は備わっていません。

一般的には、出力したVRMファイルをBlenderにインポートし、ボーンにキーフレームを打ってアニメーションを作成、FBXとして書き出してUnityに読み込む方法が用いられます。

💡 自作が難しい場合は、BOOTHで配布されているモーションデータ(.vrma形式)や、Unity Asset Storeで販売されているHumanoid対応アニメーションパックを活用するのがおすすめです。

  • ボーズ機能
    コントロールポイント(手首、肘、足首、腰などに配置されている点)をドラッグしてポーズを作ることができます。

ポーズは.vroidpose形式ファイルとして保存/読み込みが出来ます。また、BOOTHで販売や購入も出来ます。

📝 もっとも、この.vroidpose形式はVRoid Studio内で完結するものです。ポーズ付きのVRMを作成したい場合は、一度Blenderにモデルをインポートし、ポーズモードでキーフレームを打ってから、FBX形式でUnityへ持っていくといった作業が必要になります。


ファイル形式の違い

VRoid Studio 関連の3形式の違いと使い分けの目安
  • .vroid「作業ファイル(VRoid Studioの中だけで使う)」
    作業中のキャラクターデータがまるごと入っています。何度でも開いて編集できますが、UnityやBlenderには持っていけません。作業が終わるまでこまめに保存しましょう。

  • .vrm「完成品ファイル(外のソフトやサービスに持ち出せる)」
    Unity・Blender・VRChat・clusterなど、さまざまなツールやサービスで使えます。ただしVRoid Studioに読み戻して再編集することはできません。

  •  .vroidpose「ポーズだけ保存したファイル(撮影用の素材)」
    撮影画面で「ポーズを保存」すると作られます。ポーズの姿勢情報だけが入ったファイルで、モデルデータは含まれません。

📝 ちなみに衣装素材の .vroidcustomitem、アニメーションデータの .vrma という形式もあります。BOOTHではこれら5種類すべてが売買されており、ひとつのマーケットとして機能しています。


コラム:バ美肉とは?

※ 画像はGeminiで生成したものです

バ美肉(バーチャル美少女受肉)とは、主に男性が仮想空間において、美少女の3Dモデルや2Dアバターを自身の「肉体(器)」として活動することを指します。

VTuber業界では、配信者本人を「魂」、まとっているキャラクターの絵や3Dモデルを「肉体」と呼ぶ慣習があります。そして、新しいアバターを手に入れることを「受肉」と表現します。

💡「バ美肉」という言葉自体は、もともとVTuber文化圏で生まれたものですが、昨今はVRChatをはじめとするメタバース空間全般にでも使われてます。

バーチャル美少女として配信する人気VTuberに、画面の向こうから投げ銭が飛んでくるという、オッサンがオッサンに貢ぐという奇妙な世界線きらびやかな光景がそこにはあるのです。


VRプラットフォーム

VRChatとcluster

VRChatは言わずと知れた、世界最大のソーシャルVRプラットフォームで、アメリカ企業「VRChat Inc.」が運営(コンセプトは「じっくり暮らす」)。

一方、clusterは日本企業「クラスター株式会社」が運営となります(コンセプトは「イベント広場」)。

アバターのテストですが、最初は「VRChat」の予定でしたが、macOSで直接出来ないようなので『cluster』にしました。

■ 比較表その1

■ 比較表その2

本記事ではアバター動作確認に留めますが、ゆくゆくはビジネス活用とかもしてみたいものです。


操作方法の比較

ここで、Robloxも含めた操作方法の比較をしてみましょう。

基本操作

基本操作はほぼ一緒。

応用操作(乗り物・アイテム・アクション)

VRChatはVR前提の身体操作、Robloxはゲーム機文化のためでしょうか、応用操作はそれなりに変わってきます。clusterは手軽さ重視ですかね。


cluster

clusterのインストールと登録

■ インストール

いよいよ、自作アバターのテストです。まずはインストールします。

https://cluster.mu/

公式(https://cluster.mu/)よりダウンロード。

cluster.pkg(macOSの場合)をダブルクリックして、ぽちぽちとクリックしていく。

「新しくはじめる」を選択すると、こんな風に出るので『デスクトップでPLAY!』を選択。

生年月日は後から変更できない!

生年月日の入力が求められる。うーん、いきなりハードルが高い。

cluster側が用意しているアバターを選択。「ニックネーム」を入力すると。

チュートリアルがはじまる。

基本操作が学べる。

その後、いざ、バーチャル空間へ。
…… 、と言いたいところだが、ここで何となく再起動をしてみる。


■ 登録

このままだと「一時的なアカウント」なので『アカウント連携』を勧められる。

「Google」「Apple」「X」「Facebook」から選択。

予めcluster用のGoogleアカウントを用意しておくと良さげ。

「次へ」押しても、全然進まない(ソーシャルログインあるある)
その場合は、再起動などもう一度やり直すと良いでしょう。


クラフトガイド

さっさと、自作アバターをアップしたいのだが ……

アカウント連携をして、再スタートすると「クラフトガイド」が表示される。チュートリアルですね。

・ワールドクラフト:3D空間の制作機能(フレンドとの共同制作も可)
・クラフトアイテム:配置する壁や家具などの部品

「クラフト」とは、clusterのアプリ内で空間(ワールド)を作る機能群の総称です。


色々いじっているが、アバターのアップ方法が見つからん!と悶々としながら、Claude先生に聞いてみると衝撃の事実が発覚。

アプリではなくWebサイト(ブラウザ)からのみアップロード可能という点が重要です。

By Claude先生

「Webサイト(ブラウザ版)のログイン」→「右上のアバターアイコン」をクリック

アバターを登録するにはメールアドレス認証が必要です。

『アバターを登録するにはメールアドレス認証が必要です。』とある。

メールアドレス認証を済ませると、アバターをアップロード出来るようになる。

やっぱり、自作アバターっていいですよね!

流れで、バ美肉デビューをしたものの、格ゲーで女キャラを使っている?程度な感覚。まだ、軽くロビー(エントランス広場)をぶらぶらしただけと言うのものありますけど。


VRChat

VRChatとmacOS

現在のmacOSですが、直接、VRChatを遊ぶことはできません。

一応「GeForce NOW」というクラウドゲーミングサービスを経由すれば、遊ぶことは出来ます。

📝 NVIDIA(GeForce NOWの運営)のサーバー上でVRChatを動かし、その映像だけをパソコン(macOS)に送ってくるという仕組みです。

ただし「VRモードでは遊べない」「(GeForce NOWの)無料プランだと制限がある」などのデメリットもあります。


アバターをVRChatにアップロードする(備忘録)

🖋️ 筆者はmacOSなのでVRChat関連は未検証です。簡単な備忘録となります。

VRMファイル(VRoid Studioで制作したアバター)ですが、VRChatに直接アップロードすることは出来ません。VCC (VRChat Creator Companion)という、VRChat公式が提供している、アバターやワールド制作の環境を管理するソフトウェアを使います。

📝 VCCが指定するバージョンのUnityも必要となります(2026年7月時点では「Unity 2022.3.22f1」)

  1. VCCで「アバター用のプロジェクト」を作成。

  2. 『VRChat SDK』『VRM変換』などのツールを追加する。

  3. VCC上からUnityを呼び出して起動。

  4. そうすると、Unity上で『VRChat SDK』『VRM変換』が使えるようになる。

📝 なお、VCCはWindows版のみです(macOSは非対応)。
macOSで、VCC以外の方法でVRChatへアップロードする方法もありますが、本記事では割愛します。


VRMを改良してみる(BlenderとUnity)

折角なので「ソーシャルVR」や「ゲームアセット向け」にVRMアバターを改良したいと思います。

・Blender(3D制作ソフト)
・Unity(ゲーム開発エンジン)

上記2つのソフトを使用します。

VRMアバター改良ワークフロー

なお、両方使う場合は

  1. Blender
    形、ウェイト、表情を完全に確定させる。

  2. Unity
    質感を作り、揺れモノを設定し、VRMとして出力する。

この役割上「Blender → Unity」の順となります。


Blender

VRMファイルをインポートする

VRMファイルをインポートするため、今回は「VRM Add-on for Blender」という無料アドオンを追加したいと思います。

手順などは、チュートリアルに書かれてますが、ここでも説明します。

メニュー「編集」 → 「プリファレンス」で設定を開きます。

まずは「システム」→「オンラインアクセスを許可 」されているか確認します。

次に「エクステンションを入手」に行きます。
検索欄に「VRM」と入力し「VRM format」の「インストール」を選択。

インストールされると「ファイル」→「インポート」でVRM選択欄。
サイドバーも「VRM」機能の追加がされます。

首や腰あたりの黒い線は「リレーションシップライン(骨(ボーン)と当たり判定(コライダー)の繋がりを表示する補助線)」と呼ばれるもの

VRoid Studioで制作したVRMファイルをインポートします。

・作業ディレクトリ:/Users/macbook/work_blender/AI/note_vroid
・ファイル名:note_vroid.blender

インポート後、一旦、保存する

Blender MCPでモデルを改善する

本記事ではAIを使いたいと思います。

📝 Blender MCPについては、拙稿『【Blender MCP】実践ノート』をご参考ください。

なお、現在のBlender MCPは、AIがスクショを撮って画面を視覚的に解析できるようになりました。これにより「画面が見えない」というかつての弱点を克服し、「操作 → スクショで確認 → 次の操作」というサイクルが回せるようになっています。

…… が、しかし作業ごとの得意・不得意は明確に残っています。

そこで、本記事ではAIに調査をしてもらいながら、改善をしていきたいと思います。


■ 接続確認

Blenderと繋がってますか? 

まず、接続確認をします。

Blender MCPとの接続確認

■ 改修方針 / モデル構造解析 / 改修案

### 目的
VRMファイルを改良したい。
指示は後ほどします、まずは「技術要件」の把握からお願いします。
### 技術要件
#### Blender
Blender5.1において、今の注文通りのモデル制作においての最適解をWeb上よりリサーチしながら最高品質のものを。
#### リサーチ事項
常に最新情報を調査してください。
#### 改修
各々の改修については、こちらが指示をしますので、それまではお待ちください。
#### 保存先
- 作業ディレクトリ:/Users/macbook/work_blender/AI/note_vroid
- ファイル名:note_vroid.blender
- フェーズ完了ごとにファイル追記(サフィックスをつける)。例:note_vroid_20260706_123059.blend
#### 視覚作業
- 必要に応じスクショを撮って確認しながら、作業を進めること、スクショの保存先はプロジェクト内とする
例:/Users/macbook/work_blender/AI/note_vroid/screenshots

改修方針や保存先などを伝えます。

1. 今Blenderに読み込んであるVRMアバターについて教えてください。
  - オブジェクト構成の一覧
  - 総ポリゴン数、マテリアル数、ボーン数
2.  Cluster(ソーシャルVR)のアバター制限などを調査してください。
  - VRMアバターについて、Cluster活用に向けての改良案をお願いします。

AIは構造解析やリサーチが得意です。

見やすくレポート表示してくれる。


■ プロンプト
プロンプトも作ってもらいます。

今の改良案についてBlenderMCPに操作させたいと思います。
成功例と失敗例を網羅的に調査してください(海外も含め、最新情報で)。
1. 調査内容を簡単にまとめ分かりやすく解説してください。
2. 調査内容をもとにプロンプトを作成してください(プロンプトは日本語と英語)

先人達の体験談(成功だけなく失敗例も)を最新情報にてリサーチさせる。これ重要。

■ Claudeが提示したプロンプト案

# VRMアバター Cluster向け最適化 作業指示書(BlenderMCP用)

## 前提
- 環境: Blender 5.1.1 / VRMアドオン v4.3.2 / macOS
- 対象: /Users/macbook/work_blender/AI/note_vroid/note_vroid.blend
- モデル: VRM 0.x(Body/Face/Hair、計39,034三角ポリ、マテリアル17、ボーン146、
  Faceにシェイプキー58個、スプリング15グループ・コライダー10グループ)
- 目標: Cluster VRM1.0制限内(72,000ポリ・マテ25・テクスチャ合計12Mピクセル以下)で
  自動リダクションを受けない高品質アバターにする

## 絶対ルール(全フェーズ共通)
1. MCP経由の変更はUndo不可。各フェーズ開始前に必ず
   note_vroid_YYYYMMDD_HHMMSS.blend 形式で別名保存してから作業する
2. コードは小さく分割して実行する(タイムアウト防止)。1回の実行で1目的
3. 破壊的操作(デシメート適用・削除・変換)は実行前に内容を報告し、私の承認を待つ
4. 各フェーズ完了時に変更前後の数値(頂点数/ポリ数/マテ数/シェイプキー数/
   スプリング数/テクスチャ合計ピクセル)を必ず比較報告する
5. スクショを /Users/macbook/work_blender/AI/note_vroid/screenshots/ に保存し
   目視確認を挟む
6. API名・ノード名・ソケット名は記憶で書かず、実環境から列挙してから使う
7. 「成功」の自己申告を信用せず、実測値で検証してから次へ進む

## フェーズ1: テクスチャ最適化
- 全画像の解像度と合計ピクセル数を列挙して現状報告
- 本体2048×2048テクスチャは維持、ノーマルマップ・小物を縮小して合計12M以下に
- リサイズ後は必ず再パック(pack)し、is_dirtyな画像がないことを検証

## フェーズ2: Hairポリゴン削減(承認制)
- Faceはシェイプキー58個があるため絶対に削減しない
- Hair(シェイプキーなし)にデシメートを提案比率つきで適用案を提示→承認後に実行
- 適用後スクショで髪の見た目を確認させる(崩れていれば復元)

## フェーズ3: VRM 1.0変換(最重要・検証必須)
- アドオンのVRM0→1変換には表情・スプリングボーン非継承の既知問題がある
- 変換後、Expression数(元14グループ相当)とSpring数(元15グループ・
  コライダー10グループ相当)を必ずカウント検証する
- 欠落があれば手動移行スクリプトで補完、それも困難なら中断して
  「VRM0.xのまま32,000ポリ以下に収める代替案」に切り替えを提案する

## フェーズ4: メタ整備とエクスポート検証
- メタ情報(名前・作者・ライセンス)を私に確認してから設定
- 同名シェイプキーの重複がないか検証(あるとエクスポート失敗する)
- MToonのテクスチャノード接続を列挙検証(Lit Color Texture Colorに接続されているか)
- VRMエクスポート後、ボーン数を比較しリーフボーン消失がないか確認

各フェーズは私の「次へ」の指示を待ってから進めてください。

上記は日本語版ですが、使うのは英語版プロンプト。

📝 プロンプトは英語の方が精度が上がるとされます。また、必要に応じSkillsを登録して育てていきましょう。


■ フェーズごとに進めていく

フェーズごとの確認をします。
事前調査で、VRM 0.x形式が無難となっているので、今回は「VRM1.0変換はなし」とします。

メタ整備についても、今回は記事用のテストなので、仮のままにしておきます。

タスク完了。「VRM1.0変換」「メタ整備」は無しとしたので、「テクスチャ最適化」「ポリゴン削減」がメインの改善となりました。

この2つならアドオン使ったほうが、手っ取り早く確実ではありますが、本記事の趣旨は「Blenderを通す手順」の掲載なので、これで良しとします(本来は髪型や服などを作らせたいところ)。

なお、何故かVRMエクスポートが失敗(指示の仕方がダメだった?)するようなので、それに関してはこちらで手作業しました。


で、改善したVRMをclusterにアップロード

うーむ、ぱっと見はよく分からんね。今回は軽量化しただけですし。そもそもVRoid自体が色々な最適化していそうですし。


Unity

新規プロジェクトを作成

Unityでモデルを改善しましょう。
まずは、新規プロジェクトを作成します。

・プロジェクト名:NoteVroid
・シーン名:Example_0001

※ バージョンは「Unity 6.4」を例とする。 

UniVRMでVRMを読み込む

UnityでVRMを扱うには「UniVRM」というパッケージを導入します。

VRM形式と推奨UniVRMバージョン

今回「VRM0.x」を使っているので、v0.61.1にします。
……と言いたいところですが、v0.61.1にしたら失敗しました。

なっ… なんだと…… !?

そもそも「v0.61.1」は7年前のもので、Unity 6の標準である UPM(Unity Package Manager)に対応してません。URP環境用のMToon(MToon10)ではなく、古いBuilt-in環境用の旧MToonがマテリアルに設定されてしまっているため「マテリアルのエラー(シェーダーの不適合)」を引き起こしてます。

📝 シェーダー:質感や影などを描画するプログラム

ここからシェーダーを手作業でポチポチと選択し直して、修正する手もありますが、あまりにも面倒臭過ぎて非効率的です。

で、思い切って「v0.131.1」にしたら、あっさり解決!

🖋️ 教訓:例え「VRM0.x」でも、新しいUnityを使っている場合、パッケージも新しいものを使用すべき。

新しいUniVRMは、現在のレンダーパイプラインを見てマテリアルを生成してくれるようですね。

■ 導入手順
UniVRMのリリース一覧(https://github.com/vrm-c/UniVRM/releases)にアクセス。

て言うか、「VRM0.x」版も用意されているじゃん!

使うVRNのバージョンにより「VRM1.0」か「VRM0.x」を選択。現時点での最新は「v0.131.1」。

・VRM1.0版:VRM-0.131.1_6655.unitypackage
・VRM0.x版:UniVRM-0.131.1_6655.unitypackage

「v0.131.1」の場合

ダウンロードしたunitypackageファイルをプロジェクト欄のAssets内にドラッグ&ドロップ。

本来はAssets内にAvatarsを作成し、その中に各アバター用のフォルダを作成すべきなんですよね。例えば、model_testアバターの場合……

📁 model_test関連ファイルを入れる場所
・本来:
Assets/Avatars/model_test/ フォルダ内に格納
・今回:Assets/Avatars/ フォルダ内に格納

てな感じで、失敗。まあ、アバターは1つしかないですし、今回このまま続けるものとします。

ゲームオブジェクトとしてシーンに配置します。


補足:clusterで使えるシェーダー

なお、clusterで使えるシェーダー(質感や影などを描画するプログラム)は「MToon」や「Unlit」は使えますが、VRChat界隈で人気の「lilToon」などは使えません。

📝 MToon(エムトゥーン)
日本の二次元(Toon)文化を3Dで完璧に表現するために開発された「Unity用のシェーダーパッケージ(プログラム)」。 基本はアニメ調の綺麗さを保つ描画を出来るようになる。

📝 Unlit(アンリット)
「Light(光)が無い(Un)」という意味。
暗い場所でもアバターが真っ暗にならず、眩しい場所に行っても白飛びしないようになる。3D空間で「アニメ調のイラストをそのまま立体で動かしたい時」の基本となる設定です。

📝 lilToon(リルトゥーン)
多機能なトゥーンシェーダー。 アニメ調の可愛さをベースにしつつ、高機能な肌の質感表現、服のフチを光らせる(リムライト)設定、衣装を部分的に透明化する(カットアウト)機能などを網羅している。
※ ただしclusterでは使えません


Unity MCPでモデルを改善する

本記事ではAIを使いたいと思います。

📝 Unity MCPについては、拙稿『Unity MCP(CoplayDev/unity-mcp)|「AI駆動ゲーム開発」基礎ノート』をご参考ください。

■ 接続確認

Unityと繋がってますか? 

まず、接続確認をします。

■ リサーチ / 提案 / プロンプト

### 目的
VRMファイルを改良したい。
指示は後ほどします、まずは「技術要件」の把握からお願いします。
### 技術要件
#### Unity
Unity6.4において、指示どおりVRMモデル改良(cluster用)の最適解をWeb上よりリサーチしながら最高品質のものを。
#### リサーチ事項
常に最新情報を調査してください。
#### 改修
各々の改修については、こちらが指示をしますので、それまではお待ちください。
#### 保存先
- 作業ディレクトリ:/Users/macbook//Users/macbook/work_unity_study/NoteVroid
- プロジェクト名:NoteVroid
- シーン名:Example_0001
- シーン保存ディレクトリ:Assets/Scenes
- フェーズ完了ごとにファイル追記(サフィックスをつける)。例:Example_0001_20260712_123059.unity
- アバター名(改良するVRM):model_test
- アバター保存ディレクトリ:Assets/Avatars
##### 備考
- シーンのExample_0001は作成済み。
- 今回 Assets/Avatars直下にmodel_testプレハブを格納してしまったが、アバターは1体のみなのでこのまま進める。
- model_testがゲームオブジェクトとしてシーンに配置済み

改修方針や保存先などを伝えます。

1. 今Unityに読み込んであるVRMアバターはVRM0.0です。(VRM0.x系のままClusterにアップ予定)
  - Unity MCP(CoplayDev/unity-mcp)を使います。
2. Cluster(ソーシャルVR)のアバター制限などを調査してください。
  - VRMアバターについて、Cluster活用に向けての改良案をお願いします。
  - BlenderにはないUnity特有の改良をしたいです。
3. その改良案ついてUnityMCPに操作させたいと思います。
  - 成功例と失敗例を網羅的に調査してください(海外も含め、最新情報で)。
  -  調査内容を簡単にまとめ分かりやすく解説してください。
  - 調査内容をもとにプロンプトを作成してください(プロンプトは日本語と英語)
見やすくレポート表示してくれる。

リサーチや提案、プロンプト作成もさせます。
うーん、こうして見るとVRM0.xでなく、VRM1.0にした方が良かったかも?

■ Claudeが提示したプロンプト案

あなたはCoplayDev/unity-mcp(MCP for Unity)のツール群でUnity 6.4エディタを直接操作し、VRM 0.xアバターを「VRM 0.xのまま」cluster向けに改良するテクニカルアーティストです。VRM 1.0への移行は行いません。

# 環境
- プロジェクト: NoteVroid (Unity 6.4 / Built-in RP)
- シーン: Assets/Scenes/Example_0001.unity(開いた状態)
- 対象: シーン上のGameObject「model_test」(VRM 0.x)。プレハブ: Assets/Avatars/model_test
- UniVRM: 導入済み(バージョンはPhase 0で確認し、以後そのAPIに合わせる。VRM 0.x API = `VRM`名前空間)
- 使用ツール例: find_gameobjects / manage_gameobject / manage_components / execute_code / read_console / batch_execute / create_script / validate_script / refresh_unity / manage_editor / unity_reflect / unity_docs

# 到達目標(cluster向けVRM 0.x設計目標)
- 合計ポリゴン数 32,000以下(品質「中/低」で削減・形状崩れを起こさないため。最優先)
- マテリアル数 8以下を目標(自動統合による見た目変化を最小化)
- テクスチャ: 1枚2,048px以下、合計ピクセルは可能な限り4M(=4,000,000)以内、上限12M
- 必須Humanoidボーン17本(hips/spine/chest/neck/head/両upperArm・lowerArm・hand/両upperLeg・lowerLeg・foot)
- シェーダーは VRM/MToon に統一(Standardはcluster上でUniUnlitに変換されるため不可)
- Animation Type=Humanoid / 正面Z+ / Tポーズ / Meta(Title・Version・Author)必須 / コンストレイント使用禁止(0.x非対応)
- 表情(BlendShapeClip): Neutral, Joy, Angry, Sorrow, Fun, Surprised + Blink + A/I/U/E/O
- 揺れもの: VRMSpringBone+VRMSpringBoneColliderGroupで調整(品質「中/低」で停止する仕様は前提とし、揺れなくても破綻しない状態を目指す)

# 作業ルール(厳守)
1. 読み取り先行: 変更前に必ず現状(コンポーネント構成・SerializedPropertyの実名・数値)を取得する。実名が不明な場合はunity_reflectで型を確認してから書き込む。
2. 小さく変更・都度検証: 1ステップ=1目的。各ステップ後にread_consoleでエラー/警告を確認し、解消してから次へ進む。同種の大量操作はbatch_executeにまとめる。
3. GUI禁止: モーダルダイアログ/ウィザードを開くメニュー(VRM0のExportメニュー等)をexecute_menu_itemで実行しない。VRMエクスポートはexecute_codeで `VRM.VRMExportSettings`(InitializeFromで初期化)+`VRMEditorExporter.Export(path, settings)` を直接呼ぶ。Meta未設定なら先に設定する。
4. コンパイル対応: create_script等でC#を追加・変更したらrefresh_unityでリコンパイルし、完了を待ってから次を実行。ツールが「busy/compiling」を返し続けたら無限リトライせず、状況を報告して指示を仰ぐ。
5. Playモード最小化: 動作検証で必要な場合のみ入り、入る前にシーンを保存する(ドメインリロードによる接続不調の既知問題があるため)。
6. バックアップ: メッシュ結合・一括マテリアル変更等の破壊的操作の前に、プレハブを複製(model_test_backup_YYYYMMDD)する。各フェーズ完了時にシーンを保存する。
7. 報告形式: 各フェーズ終了時に「変更点 / 計測値 / 上記目標との差分」を表で報告する。

# フェーズ
- Phase 0(今回実行・変更禁止): execute_codeで model_test の以下を集計し、目標との照合表と優先度付き改良計画を提示せよ。
  合計ポリゴン数 / マテリアル数とシェーダー内訳 / サブメッシュ数 / テクスチャ一覧(各解像度・合計ピクセル) / VRMSpringBoneとColliderGroupの構成 / BlendShapeClip一覧(cluster用6表情+Blink+AIUEOの充足) / VRMMeta / Humanoid17ボーンとTポーズ状態 / UniVRMの導入バージョン
- Phase 1以降: 私が承認・指示した項目のみを上記ルールで実行せよ。

まずPhase 0を実行してください。

上記は日本語版ですが、使うのは英語版プロンプト(精度が上がる)。
また、必要に応じSkillsを登録して育てていきます。


■ 改良後の出力

フェーズごとに進めていき、改良が終わったら出力します。

1. 対象ゲームオブジェクトを選択。
2. 上段メニューの「VRM」→「エクスポート」。


で、改善したVRMをclusterにアップロード

うーむ、なんか光の反射が変?
暗いワールド対策とやらをしたようだが、明るい場所では改善前の方が良いかなあ。


コラム:VRoid製モデルは改良の必要はない?

VRoid製モデルの各種アバター別の改良比較表

そもそも、VRoid製モデルは、すでにソーシャルVR用の機能(骨組み、揺れモノなど)は詰め込み済みなんですよね。特にcluster用途では最適化そのもの。あまりやることが無いし、下手に軽量化すると劣化する。

📝 補足
VRChat用アバターならAvatars 3.0(表現力やギミックを制御するためのVRChat専用のシステム規格)があるので、Unityは役立つかと思います。

逆に、VTuber用アバター(PCでのローカル動作)の場合、データ容量やポリゴン数の制限を一切気にせず、とにかくリッチな表現を追求できます。むしろ「表現力」との戦いとなりますので、BlenderやUnityによる改良の出番がくる。

しかし、VTuberとかする予定ないし、記事のためにトラッキングソフトや配信ソフトを揃えるのも億劫。よって、本記事ではVTuber用アバターの改良に関しては割愛しました。


ちなみに、次回は【Unity上で人型モデルを動かす】を執筆する予定です。こちらは『ゲーム開発』関連の記事となります。Unity初心者の方は乞うご期待🎮

いいなと思ったら応援しよう!

辛島信芳 ここまで読んでくれてありがとうございます!記事は基本的に無料で出していくので、気が向いたら応援してもらえると嬉しいです☕

この記事が参加している募集