【VRChat】2Dイラストが動く『ぷにぷにアバター』を自作絵に簡単改変する手順

VRChat内で動く改変されたぷにぷにアバター

VRChatでは、2025年2月頃からぷにぷにアバター」と呼ばれる、まるで2Dイラストがそのまま動き出したようなアバターをよく見かけるようになりました。

この流れのきっかけとなったアバターの一つが、「凪 -Nagi-【オリジナル3Dモデル】」などでお馴染みのクリエイター、rio3dさんがBoothで公開した「[3Dモデル] #ぷにぷにあばたー ナギチャン」。このアバターをベースに使うことで、自分の描いたイラストをVRChatの3D空間で動かすことができます!

ペーパーマリオのように平面的なキャラクターが立体空間を歩き回る姿は、とてもユニークで魅力的ですよね。

今回の記事では、この「#ぷにぷにあばたー ナギチャン」を例に、自分のイラストに差し替えてオリジナルのぷにぷにアバターを作成する手順を、備忘録も兼ねて分かりやすく解説します。

改変に必要なもの:

手順の概要は驚くほどシンプルです!

  1. 「#ぷにぷにあばたー ナギチャン」をUnityプロジェクトにインポートする。
  2. アバターに使われているイラスト(テクスチャ)を、自分の用意したイラストに差し替える(上書きする)。
  3. VRChatにアップロードする。

たったこれだけで、あなたの描いたキャラクターがVRChatで動き出します! それでは、具体的な手順を見ていきましょう。

[3Dモデル] #ぷにぷにあばたー ナギチャン (BOOTH)


この記事で解説する手順

  1. Unityに「ぷにぷにアバター」をインポートする
  2. 簡単!ぷにぷにアバターのイラスト差し替え手順

Step 1: Unityに「ぷにぷにアバター」をインポートする

まずは、Boothで購入した「#ぷにぷにあばたー ナギチャン」のフォルダに含まれている.unitypackageファイルを、あなたのVRChatプロジェクトのAssetsウィンドウにドラッグ&ドロップしてインポートします。

Unityにぷにぷにアバターのunitypackageをドラッグ&ドロップする

インポートが完了したら、ProjectウィンドウのAssets/PUNIPUNI_AVATARフォルダ内にある「PUNI」という名前のPrefab(プレハブ)を、Hierarchyウィンドウ(シーン)にドラッグ&ドロップして配置します。

インポート完了後、PUNI Prefabをヒエラルキーに配置

この状態でVRChat Creator Companion (VCC) の手順に従ってアバターをアップロードすれば、オリジナルの「ナギチャン」ぷにぷにアバターとして使用できます。


Step 2: 簡単!ぷにぷにアバターのイラスト差し替え手順

ここからが本番の「改変」作業です。ぷにぷにアバターの見た目と動きは、主に以下の4枚のPNG画像(テクスチャ)によって制御されています。これらの画像を自分のイラストに差し替えるだけで、簡単にオリジナルアバターが作れます。

ぷにぷにアバターを構成する4枚のPNG画像

これらの画像は、UnityプロジェクトのAssets/PUNIPUNI_AVATAR/Materialsフォルダ内にあります。

  • tex_nagi_default.png: 通常時(立っている時やアイドル状態)のイラスト
  • tex_nagi_default_talk.png: 口パク時(話している時)のイラスト
  • tex_nagi_walk_1.png: 歩行時アニメーション1枚目のイラスト
  • tex_nagi_walk_2.png: 歩行時アニメーション2枚目のイラスト

VRChat内で実際に動かすと、通常時はdefault、話すとtalk、歩くとwalk_1walk_2が交互に表示されることで、アニメーションしているように見えます。

通常の3Dアバター改変のように複雑な位置調整などは不要! 最も簡単な改変方法は、この4つのファイルと全く同じファイル名で自分のイラストを用意し、元のファイルを上書きしてしまうことです。これにより、アバター内部の参照設定を維持したまま、見た目だけを自分のイラストに入れ替えることができます。

2-1. 差し替え用イラストの準備

まずは、上記4つの状態に対応する自分のイラストを用意します。ポイントは以下の通りです。

  • 画像サイズ: 元のナギチャン画像は3035×3035ピクセルで作成されています。可能であれば、これと同じサイズでイラストを用意し、中央にキャラクターを配置するのがおすすめです。(異なるサイズでも動作しますが、表示がずれる可能性があります)
  • ファイル名: 元のファイル名(tex_nagi_default.png など)と完全に同じ名前を付けます。
  • ファイル形式: PNG形式(透過背景も利用可能)で保存します。

私は、以前作成したマヌカちゃんアバターの改変モデルを元に、以下のようなイラストを描いてみました。(当ブログのWebツール「ドット絵変換ツール」で少しドット絵風にしています)

ドット絵変換ツール

差し替え用に作成した4種類のイラスト

(左から順に、通常、口パク、歩行1、歩行2)

元になったマヌカちゃんアバター

描いた(または用意した)イラスト4枚に、それぞれ対応する元のファイル名を付けます。

用意したイラストに元のファイル名をつける

2-2. Unity上でイラストファイルを上書き

次に、Unityエディタ上で元のイラストファイルを特定し、用意した自分のイラストで上書きします。

1. UnityのProjectウィンドウで、Assets/PUNIPUNI_AVATAR/Materialsフォルダを開きます。

2. 中にある元のナギチャンのPNGファイル(例: tex_nagi_default.png)のどれか一つを右クリックし、「Show in Explorer」(Macの場合は「Reveal in Finder」)を選択します。これにより、これらのファイルが保存されている実際のフォルダが開きます。

UnityのMaterialsフォルダでPNGファイルを右クリックしShow in Explorerを選択

3. 開いたフォルダに、先ほど準備した自分のイラストPNGファイル4枚すべてをコピー&ペースト(またはドラッグ&ドロップ)します。

開いたフォルダに自作イラストをコピー&ペースト

4. 「ファイル名は既に存在します」という警告が表示されるので、「ファイルを置き換える」を選択して、4つのファイルをすべて上書きします。

ファイルの上書き確認ダイアログ

2-3. Unityでの確認とVRChatへのアップロード

ファイルの上書きが完了したら、Unityエディタの画面に戻ります。Unityがファイルの変更を自動的に検知し、インポート処理を行います。少し待つと、ProjectウィンドウやSceneビューに表示されているアバターの見た目が、自分のイラストに変わっているはずです!

Unityエディタ上でイラストが差し替わったことを確認

(↑Unity上で自分のイラストに置き換わりました!)

ここまで確認できたら、あとは通常のVRChatアバターアップロード手順と同じです。VRChat SDK Control Panelを開き、「Build & Publish for Windows」ボタンを押して、アバターをアップロードしましょう。

これで、あなたのオリジナルイラストがVRChatで動く「ぷにぷにアバター」の完成です!

VRChat内で動く完成したオリジナルぷにぷにアバター

さあ、あなたの分身をVRChatの世界で歩き回らせてみましょう!

[3Dモデル] #ぷにぷにあばたー ナギチャン (BOOTH)

CursorでClaude APIを連携する方法:プレミアムモデル制限後の設定手順

最近、多くの開発者の間で話題のAIコードエディタ「Cursor」。その便利さから、私も遅ればせながら利用を開始しました。

Cursorエディタのスクリーンショット

これまでChatGPT ProやClaude 3などを活用し、実装速度が既に10倍向上したと感じていましたが、Cursorを導入したことで、さらに10倍、つまり従来の100倍近いスピードアップを実感しています。すっかり「Cursor最高!」という状態です。

Cursorの最大の魅力は、エディタ内で直接AIと対話できる点です。コーディング中に「このコンポーネント群をリファクタリングして」とか、コンソールのエラーを貼り付けて「このエラーの原因と解決策を教えて」といった質問がその場で可能です。AIによるコード変更は、Gitのように差分が色分け表示されるため、意図しない修正を簡単に拒否できます。不足パッケージのインストールやファイルの削除も、ユーザーが「Accept」ボタンを押すことで初めて実行されるので安心です。

これらの機能はWeb版のChatGPTやClaudeでも可能ですが、Cursorはプロジェクト全体のファイル構造や依存関係をより深く理解した上で提案してくれるため、修正の精度が高く、開発体験が非常に快適です。

また、Web版のAIツールでは長い対話や大量のコード生成で応答が不安定になったり途切れたりすることがありますが、Cursorでは膨大な量の修正も一気に実行してくれます。

稀に(特に高性能モデルで)意図しない過度な修正が行われることもありますが、「Restore」機能で直前の指示時点まで簡単にファイル状態を戻せるため、安心して試行錯誤できます。(ただし、削除されたフォルダの復元は難しい場合があるので、Accept前のコードレビューは重要です)。

さて、ここからが本題です。

Cursorのプレミアムモデル使用回数制限の表示

CursorのProプランには、高性能なプレミアムモデルを高速(Fast)で利用できる回数に、月500回という制限があります。

これは、AIへの指示(リクエスト)を月に500回まで高速処理できるチケットのようなものです。通常の使い方であれば十分な回数ですが、私のようにCursorの便利さに夢中になり、ツール開発や大規模リファクタリングに没頭すると、数日で上限に達してしまうこともあります。

上限を超えると、低速(Slow)モードでの利用は可能ですが、一度高速モードの快適さを知ってしまうと、なかなか耐えられません。

Cursorでは「プレミアムモデルの利用回数を増やす」という直接的なプランは提供されていません。上限を超えて高速モードを維持したい場合は、ユーザー自身がOpenAIやAnthropicなどのAPIキーを設定し、従量課金で利用する必要があります。

この記事では、「CursorでClaude APIを連携したい」と考えている方に向けて、Anthropic ConsoleでClaude APIキーを取得し、クレジットをチャージして、Cursorに設定するまでの具体的な手順を分かりやすく解説します。


この記事の内容

  1. Cursorのプレミアムモデルとは?制限と高速利用の仕組み
  2. Anthropic APIキーの設定手順(アカウント作成からクレジット購入まで)
  3. CursorとClaude APIを連携させる具体的な方法
  4. API連携(従量課金)の仕組みと注意点
  5. Claude API連携後の実際のコスト感と代替案
  6. まとめ:CursorとClaude API連携で開発効率を維持
  7. 追記:意外と使える?SlowModeという選択肢
  8. 追記2:SlowModeの実情とGemini 2.5 Proという強力な選択肢 (2025年4月)

Cursorのプレミアムモデルとは?制限と高速利用の仕組み

Cursorには複数のAIモデルが組み込まれていますが、その中でも特に高性能なモデル群が「プレミアムモデル」と呼ばれています。代表的なものとしては以下が挙げられます。

  • Claude 3.5 Sonnet(Anthropic社製)
  • GPT-4 / GPT-4o(OpenAI社製)
  • その他、最新の高性能モデル

これらのプレミアムモデルは、複雑なコード生成、高度なデバッグ支援、的確な質疑応答に優れており、標準モデルと比較して高い精度を発揮します。

Cursorの有料プラン「Proプラン」(月額$20、日本円で約3,000円 ※為替レートにより変動)では、これらのプレミアムモデルを「fast(高速)」モードで月500回まで利用できます。fastモードでは、AIへのリクエストが優先的に処理され、待ち時間なくスムーズに開発作業を進められます。

この月500回の制限を超過すると、自動的に「slow(低速)」モードへと切り替わります。slowモードでは、AIの応答に時間がかかるようになり、特にサーバー混雑時には数秒から数分の待機時間が発生することもあります。

しかし、Cursorの設定で「Enable usage-based pricing(従量課金を有効にする)」オプションをオンにすることで、500回を超えてもfastモードを維持できます。この場合、利用したAPIのトークン量(処理したテキストの量)に応じて、連携したAPIサービス(今回はAnthropic)に追加料金が発生する仕組みです。

Cursorの従量課金設定画面

「Enable usage-based pricing」を有効にすると、上記のような設定項目が表示されます。

ここで重要なのが「Monthly Spending limit」(月間支出上限)の設定です。これは、従量課金で発生するAPI利用料金が設定した上限額に達した場合、Cursor側で自動的にAPI利用を停止してくれる安全機能です。あくまでAPI利用料金の上限設定であり、CursorのProプラン料金($20)とは別に、API連携先(AnthropicやOpenAI)へ直接API利用料金を支払う必要がある点に注意しましょう。

CursorでのAIモデル利用履歴

なお、Cursorの設定画面下部では、どのモデルを何回利用したかの詳細な履歴を確認できます。

「Included in Pro」と表示されているのが、Proプランに含まれる月500回のプレミアムモデル利用分です。一方、「User API Key」と表示されているのが、今回設定するようなユーザー自身のAPIキー(Claude APIなど)を利用した分、つまり従量課金が発生する利用分です。

履歴を見ると、「Aborted, Not Charged」(中断、課金なし)や「Errored, Not Charged」(エラー、課金なし)といった項目があることがわかります。これは、処理が途中でキャンセルされたり、エラーで完了しなかったりした場合には、API利用料金が発生しないことを示しており、利用者にとっては嬉しいポイントです。

Anthropic APIキーの設定手順(アカウント作成からクレジット購入まで)

それでは、CursorでClaude 3.5 SonnetなどのAnthropic社製モデルを従量課金で利用するために必要な、Anthropic APIキーの設定手順をステップごとに解説します。

ステップ1:Anthropic Consoleでアカウントを作成する

  • まず、Anthropicの公式サイト(console.anthropic.com)にアクセスします。
  • 「Sign Up」ボタンをクリックし、メールアドレスとパスワードを設定してアカウントを作成します。その後、登録したメールアドレスに届く認証メールを確認し、認証を完了させます。
  • ログイン後、必要に応じて氏名や組織名などの基本情報を入力します。

ステップ2:APIキーを取得する

  • ログイン後、画面左側のメニューから「API Keys」を選択します。
  • 「Create Key」ボタンをクリックします。
  • APIキーを識別するための名前を入力します(例:「Cursor-Integration」など、分かりやすい名前を推奨)。
  • APIキーが生成され、画面に表示されます。このキーは一度しか表示されないため、必ずコピーしてパスワードマネージャーなど安全な場所に保管してください。

Anthropic ConsoleでのAPIキー作成画面

ステップ3:支払い情報を設定し、クレジットを購入する

  • 左側メニューの「Plans & Billing」に移動します。
  • APIを利用するには、あらかじめクレジットを購入しておく必要があります。「Add Payment Method」をクリックし、クレジットカード情報を登録します。
  • 次に、「Purchase credits」セクションでクレジットを購入します。お試しであれば、最低購入額の$5(日本円で約750円程度 ※レートにより変動)からで十分でしょう。
  • クレジットが一定額を下回った際に自動で追加購入(チャージ)する「Auto-reload」機能もありますが、意図しない課金を防ぐため、最初は手動(OFF)にしておくことをお勧めします。

Anthropic Consoleのクレジット購入画面

Anthropicのクレジット購入ボタン

無事にクレジットの購入が完了すると、ダッシュボードに残高(例:$5.00)が表示されます。今後、Cursor経由でClaude APIを利用するたびに、ここから利用料金が差し引かれていきます。

Anthropicの自動リチャージ設定画面

「Auto Reload」設定では、「残高が$5を下回ったら、自動的に$10をチャージする」といった設定が可能です。頻繁にAPIを利用し、手動でのチャージが面倒な場合はONにすると便利ですが、まずは利用状況を見てから判断するのが良いでしょう。

CursorとClaude APIを連携させる具体的な方法

Anthropic Consoleでの準備が整ったら、いよいよCursorとClaude APIを連携させます。手順は非常に簡単です。

ステップ1:CursorにAnthropic APIキーを登録する

  • Cursorエディタを開き、メニューバー(または設定画面)から「Settings」>「Configure models」へと進みます。
  • 設定項目の中から「Anthropic API Key」という欄を見つけます。
  • 先ほどAnthropic Consoleで取得し、安全な場所に保存しておいたAPIキーをこの欄に貼り付けます。
  • 設定を保存するために、「Save」や「Apply」といったボタンをクリックします(UIはバージョンによって若干異なる場合があります)。

Cursorの設定画面でのAnthropic APIキー入力欄

ステップ2:連携を確認し、利用を開始する

  • 設定が完了したら、実際にCursorでAI機能(コード生成、チャットなど)を使ってみましょう。特に、プレミアムモデル(Claude 3.5 Sonnetなど)を選択して試してみてください。
  • もし既にProプランの月500回制限を超えている場合は、このAPI連携によって再び「fast」モードで応答が返ってくるはずです。
  • 念のため、Anthropic Consoleの「Usage」や「Billing」ページで、トークン使用量とそれに応じたコストが発生しているかを確認すると確実です。

これで、CursorでClaude APIを利用するための連携設定は完了です。先述のCursorの利用履歴画面で「User API Key」としての利用が記録されていれば、正しく連携されています。

API連携(従量課金)の仕組みと注意点

初めてClaude APIのような外部APIと連携して従量課金サービスを利用する際に、知っておくべき基本的な仕組みと注意点をまとめました。

  • 従量課金の仕組み:Cursor経由でClaude APIを利用するたびに、処理したテキスト量(トークン数)に応じて料金が発生し、Anthropic Consoleで購入したクレジット残高から自動的に差し引かれます。
  • 残高不足に注意:クレジット残高がなくなると、CursorからAPIを利用できなくなる可能性があります(fastモードが使えなくなる、またはエラーになる)。定期的にAnthropic Consoleで残高を確認しましょう。
  • 自動リチャージ(Auto Reload):前述の通り、この機能はデフォルトでOFFになっています。ONにすると、残高が指定額以下になった際に自動でクレジットカードから追加チャージされるため便利ですが、予期せぬ高額請求を防ぐため、利用状況を把握するまではOFFのままか、慎重に設定額を決めることをお勧めします。
  • コスト意識を持つ:API連携は技術的に簡単ですが、「使った分だけお金がかかる」という従量課金の性質を常に意識することが重要です。特に、大規模なコード生成や複数ファイルにまたがるリファクタリングを頻繁に行うと、想像以上にクレジットを消費する可能性があります。Anthropic Consoleで使用状況を定期的にモニタリングし、コストを把握しましょう。

これらの点を理解しておけば、安心してCursorとClaude APIの連携を活用できるはずです。

Claude API連携後の実際のコスト感と代替案

API連携後の実際のコスト感:クレジットはどれくらい持つの?

実際にCursorとClaude APIを連携させて使ってみた感想として、気になるのは「$5のクレジットでどれくらい使えるのか?」という点だと思います。

私の使い方(複数ファイルにまたがるリファクタリングや、やや複雑なコード生成を頻繁に依頼する)では、$5のクレジットは思ったよりも早く消費される印象でした。感覚的には、集中的に使うと50回程度のリクエストで$5を使い切ってしまうこともありました。

これはかなりヘビーな使い方の場合です。もしProプランの月500回を使い切ったのと同じペースでAPI連携(従量課金)を500回利用した場合、API利用料金だけで$50(日本円で約7,500円程度)かかってしまう計算になります。もちろん、簡単な質問や短いコードの修正程度であれば、もっと少ないコスト(数百円程度)で済むでしょう。(そもそも、そのようなライトな使い方であれば、Proプランの月500回制限を超えることは稀かもしれません)。

コストを抑えるための代替案

Claude API連携のコストが思ったより高いと感じる場合、以下の代替案も検討に値します。

  • 複数Cursorアカウント戦略:やや裏技的ですが、もう一つ別のアカウントでCursor Proプランを契約すれば、合計で月1,000回のプレミアムモデル高速利用枠を確保できます。API利用料金によっては、こちらの方が安上がりになる可能性があります(月額$20×2 = $40)。
  • 他のAIコードエディタやAPIの活用:例えば、最近注目されている「Cline」のようなエディタでは、Claude APIよりも利用料金が格段に安いとされる「Deepseek」モデルなどを利用できる場合があります。定型的なコード生成やリファクタリングであれば、これらのモデルでも十分なケースがあり、コスト効率が良い可能性があります。
  • ハイブリッド戦略(モデルの使い分け):もし別途ChatGPT PlusやClaude Proなどを契約している場合、複雑な仕様の検討や高度な相談はそちらで行い、具体的なコーディング作業をCursor(や他のエディタ)の低コストなAPIで行う、という使い分けも有効です。例えば、Claudeで処理の方向性を固め、その指示をDeepseek API連携したエディタに渡して実装を進める、といった方法で、精度とコストのバランスを取れるかもしれません。

これらの代替案も視野に入れ、ご自身の開発スタイルや予算に合った最適な方法を見つけることが重要です。

まとめ:CursorとClaude API連携で開発効率を維持

この記事では、AIコードエディタCursorのProプランにおけるプレミアムモデルの月500回制限に達した後も、Claude APIと連携することで高速な応答性能(fastモード)を維持し、開発効率を落とさずに作業を続ける方法について解説しました。

Anthropic Consoleでのアカウント作成、APIキー取得、クレジット購入、そしてCursorへの設定手順を具体的に紹介しました。また、API連携(従量課金)の仕組みや注意点、実際のコスト感、そしてコストを抑えるための代替案についても触れました。

プログラミング作業の効率をさらに高めたい方、特にAIアシスタントをコーディングに積極的に活用したい開発者にとって、CursorとAPIの連携は試してみる価値のある選択肢です。ご自身の利用頻度や予算に応じて、今回紹介した方法や代替案を組み合わせ、最適な開発環境を構築してみてください。

追記:意外と使える?SlowModeという選択肢

この記事を公開した後もCursorを継続して利用していますが、一つ新たな発見がありました。試しにAPI連携(従量課金)をOFFにし、プレミアムモデルの制限を超えた状態、つまり「SlowMode」でしばらく使ってみたのです。

その結果、「あれ?SlowModeでも意外と実用的なのでは?」と感じました。

多くのAIツールにおける「SlowMode」は、応答が非常に遅く、実用に耐えないことが多い印象ですが、CursorのSlowModeは、少なくとも私が試した限りでは、FastModeとの体感差がそれほど大きくありませんでした

もちろん、SlowModeでも生成されるコードの品質や精度はFastModeと基本的に同等です。そのため、API連携による従量課金に切り替える前に、一度SlowModeを試してみて、その速度が本当にストレスに感じるかどうかを確認する価値は大いにありそうです。

ただし、時間帯やCursorサーバー側の負荷状況によっては、SlowModeの応答速度が低下する可能性は否定できません。

そこから考えられるのは、「普段はSlowModeで利用し、応答が遅いと感じた時だけ一時的に従量課金をONにする」という運用です。これにより、API利用料金を大幅に節約できる可能性があります。

結論として、Cursor Proプランの月500回制限を超えたからといって、必ずしもすぐにAPI連携(従量課金)に移行する必要はなく、「SlowModeで様子を見る」という選択肢も有効である、というのが追記情報です。


追記2:SlowModeの実情とGemini 2.5 Proという強力な選択肢 (2025年4月)

前回の追記で「SlowModeでも意外と使える」とお伝えしましたが、その後の利用で状況が変化しました。ある日、SlowModeでの応答に30秒以上かかるというケースに遭遇したのです。やはり、時間帯やサーバーの混雑状況によって、SlowModeの応答速度は大きく変動するようです。

この時は、前回の追記に書いた通り、一時的にClaude APIの従量課金をONにすることで、快適な高速応答に戻すことができました。SlowModeが遅いと感じた際の回避策として、従量課金オプションは有効です。

しかし、Cursor ProのFastモード(月500回)を使い切った後の選択肢は、SlowModeの我慢やClaude API連携(従量課金)だけではありません。最近、非常に強力な新しい選択肢が登場しました!

それが、Googleが2025年3月25日に発表した最新の大規模言語モデル「Gemini 2.5 Pro Experimental」です。この発表直後から大きな注目を集めている高性能モデルが、なんとCursorのエディタ内で利用可能になりました!

実際にいくつかのプロジェクトで試してみたところ、その性能は驚くほど高く、Claude 3.5 SonnetやGPT-4oといった既存の高性能モデルと比較しても遜色ない、あるいは場面によってはそれ以上と感じています。特に、Gemini 2.5 Proの最大の特徴である広大なコンテキストウィンドウ(一度に処理・記憶できる情報量)のおかげか、複数ファイルにまたがるような大規模なリファクタリング作業も、非常にスムーズかつ的確にこなしてくれます。

そして、現時点(2025年4月3日)で最も注目すべき点は、この「Gemini 2.5 Pro Experimental」モデルが、Cursor上で無料で利用できるということです!

もしあなたがCursor ProプランのFastモード500回を使い切ってしまい、応答速度に不満を感じているなら、まずはClaude APIの従量課金や他の有料オプションを検討する前に、Cursorのモデル設定で「Gemini 2.5 Pro Experimental」を選択し、試してみることを強く推奨します。

無料で利用できるにも関わらず、非常に高い性能を持っているため、多くの場合、このモデルで十分に満足できる可能性があります。ぜひ、この新しい選択肢を活用してみてください。

Synology NAS DS218playの故障したファンを交換してみた

映像制作やゲーム制作の膨大なデータを管理するため、いくつかのNAS(Network Atacched Storage)を運用しています。複数PC間で制作した素材を、ネットワーク経由で即時受け渡しすることができるので非常に便利です。

今回、その中でも古くから使用しているSynologyNAS DS218playのファンが定期的に止まるようになってしまったので、スペアパーツを購入して交換した手順を記録します。


NAS本体+スペアパーツ


発生した問題: ファンが停止&再起動を繰り返す

今回発生したのは、SynologyNASの電源をいれてしばらくするとファンが停止し、数秒で復活して、再び停止するを繰り返す問題です。数分おきに下記のような警告が通知されました。


ファンの掃除などをしても問題が解決しなかったため、スペアパーツを購入。


スペアパーツへの交換

届いたスペアファン。AmazonのSynology販売から購入しました。

SynologyNASのネジを外します。

ファン周りの構造は非常にシンプルです。電源ケーブルを抜いて、銀ラベルを剥がします。

SynologyNASのファンはモデルによって固定方法が異なります。

例えばDS218は背面からネジで止められていますが、DS218playはこのように内側のゴムリングで固定されています。

DS218playのシステムメンテナンスページは見つかりませんでしたが、下記からDS223jの交換手順が確認できます。DS218playとほぼほぼ同じ手順で交換できます。

DS223j 製品マニュアル 4.1 故障したファンの交換 – Synologyナレッジセンター

NASの底面の4箇所のネジを取り外して、指が届かない下部のゴムリングも外してスペアファンと交換します。

取り付け完了。これで正常に動作するようになりました。

【VRChat】アバター最適化でVery Poor脱出!Mantis & MeshDeleterでポリゴン削減してPoorにする方法

VRChatで使用しているアバターのパフォーマンスランクが「Very Poor」になってしまうことがあります。Very Poorランクは、ワールドによっては表示が制限されたり、他ユーザーへの負荷となる可能性も指摘されており、可能な範囲での最適化が推奨されています。

今回は、Unityのツール「Mantis LOD Editor」と「MeshDeleterWithTexture」を用いて、アバターのポリゴン数を削減し、パフォーマンスランクを「Very Poor」から「Poor」へ改善することができたため、その手順と方法を記録としてまとめます。

【最適化結果:ビフォーアフター】

最適化前: 188,784ポリゴン / パフォーマンスランク: Very Poor

最適化前のアバター(Very Poorランク)

最適化後: 69,995ポリゴン / パフォーマンスランク: Poor

最適化後のアバター(Poorランク)

上記のように、見た目への影響を最小限に抑えつつ、ポリゴン数を63%削減することに成功しました!

具体的には、以下の方法でポリゴン数を効果的に削減しました。これらのテクニックは、アバター改変や自作モデル制作においても重要になると思われます。

  • 隠れたパーツの削除: 服の下で見えない体の一部(肘など)のメッシュを削除。
  • Mantis LOD Editorによる削減: 各パーツ(服、髪、小物など)のポリゴン数を、見た目が崩れない範囲で削減。
  • MeshDeleterWithTextureによる部分削除: 服の不要な装飾や、さらに隠れた部分のメッシュをテクスチャ指定で削除。
  • (応用)MeshDeleterによるパーツ分離: 複合パーツ(例:インナーとアウターが一体化した服)を分離し、それぞれ個別に最適化。

この記事では、これらの手順を順番に解説していきます。


この記事の内容

  1. 最適化に必要なツールと準備
  2. 知っておくと便利な専門用語(非破壊的, NDMF)
  3. Mantis LOD Editorを使ったポリゴン削減の基本
  4. Mantisだけでは難しいケースと課題
  5. MeshDeleterWithTextureを使った部分的なメッシュ削除
  6. 応用テクニック:MeshDeleterで服パーツを分離する
  7. まとめ:Very Poor脱出!最適化の成果とポイント
  8. 参考にさせていただいた情報
  9. 追記:ハイエンドモデル最適化の限界と注意点 (2025年4月)

最適化に必要なツールと準備

今回のVRChatアバター最適化(ポリゴン削減)で使用した主なツールは以下の通りです。

  • Mantis LOD Editor – Professional Edition (Unity Asset Store / 有料: 約$55)
    • 高品質なポリゴン削減(リダクション)機能を持つ定番のUnityアセット。アバターの各パーツのポリゴン数を効率的に減らせます。購入後、UnityのPackageManager > My Assetsからインポートします。
  • 【非破壊でポリゴン削減】Mantis LOD EditorのNDMF化ツール (Booth: ひつぶさん作 / 無料 ※Mantis LOD Editor本体が必要)
    • 上記のMantis LOD Editorを、VRChatアバター改変で広く使われているフレームワーク「NDMF(なでもふ)」上で、より安全かつ簡単に(非破壊的に)利用できるようにするツール。Boothからダウンロードし、unitypackageをインポートします。実際にアバターに適用するのはこちらです。
  • MeshDeleterWithTexture beta (Booth: がとーしょこらさん作 / 無料)
    • テクスチャ画像上で範囲を指定することで、対応するメッシュ部分を削除(実際には新しいメッシュを生成)できる非常に便利なUnityエディタ拡張。Mantisでは難しい、服の細かい装飾の削除や、隠れた部分のメッシュ除去に役立ちます。Boothからダウンロードし、unitypackageをインポートします。
  • anatawa12’s VRC Avatar Tools (旧: gists pack) (VCC経由で導入可能)
    • アバターのパフォーマンス統計情報を詳細に表示する機能などが含まれるツール群。特に「Actual Performance」タブは、最適化作業中の現在のポリゴン数やパフォーマンスランクをリアルタイムで確認するために必須です。VCC (VRChat Creator Companion) の「Manage Project」から簡単に追加できます。

【重要】Actual Performanceタブでの確認方法:

anatawa12’s VRC Avatar Toolsを導入すると、VRChat SDK Control Panelに「Avatars」タブが追加され、その中に「Actual Performance」という項目が表示されます。MantisやMeshDeleterで最適化を行った後、Unityを再生モード(Play Mode)にすると、このタブの情報が更新され、最新のポリゴン数やパフォーマンスランクを確認できます。目標は、ここの「Polygons」の数値を70,000以下にすることです(Poorランクの上限)。

VCCでanatawa12's VRC Avatar Toolsを追加する画面

Actual Performanceタブでポリゴン数とランクを確認

(↑この例では188,784ポリゴンでVery Poor。目標は70,000ポリゴン以下!)

知っておくと便利な専門用語(非破壊的, NDMF)

アバター最適化を進める上で、いくつか知っておくと理解が深まる用語があります。

  • 非破壊的 (Non-Destructive)
    元のデータを直接書き換えずに行う編集方法のこと。今回使うNDMF版MantisやMeshDeleterは、元のメッシュデータを保持したまま処理を行うため、「非破壊的」です。つまり、設定を間違えたり、結果が気に入らなかったりした場合でも、ツール(コンポーネント)を削除したり設定を戻したりするだけで、簡単に元の状態に戻すことができます。初心者でも安心して試せる大きなメリットです。
  • NDMF (Nade Nadenadeshiko Mod Fwk / なでもふ)
    VRChatアバター改変のためのフレームワーク(仕組み)の一つ。アバターの色々な設定や改変を「コンポーネント」として管理し、それらをビルド時に自動で適用してくれます。非破壊的な改変と相性が良く、多くの便利ツールがNDMFに対応しています。今回使う「Mantis LOD EditorのNDMF化ツール」もその一つです。

Mantis LOD Editorを使ったポリゴン削減の基本

VRChat SDKのValidation画面でポリゴン超過パーツを特定

まずは、アバターの中でどのパーツがポリゴン数を増やしている主犯なのかを特定しましょう。

1. UnityでVRChat SDK Control Panelを開き、「Builder」タブを選択します。

2. アバターを選択した状態でビルドを実行しようとすると、パフォーマンスに関する警告(Validation Results)が表示されます。「Polygons」に関する警告メッセージの横にある「Select」ボタンをクリックすると、ポリゴン数が特に多いメッシュ(衣装パーツなど)がHierarchyウィンドウでハイライトされます。

3. ハイライトされたオブジェクト(衣装パーツなど)に、「NDMF Mantis LOD Editor」コンポーネントを追加します。(Inspectorウィンドウで「Add Component」し、”Mantis”で検索すると見つかります)

4. 追加されたコンポーネントの「Quality」スライダーを調整します。この数値を下げるほどポリゴン数が削減されますが、下げすぎるとメッシュの形が崩れてしまいます。

NDMF Mantis LOD EditorコンポーネントのQualityスライダー

【ポイント】Shaded Wireframe表示を活用しよう

Qualityスライダーを調整する際は、Unityのシーンビュー表示を「Shaded Wireframe」に切り替えると、ポリゴンの削減具合やメッシュの崩れ具合が視覚的に分かりやすくなります。「Shaded」表示と適宜切り替えながら、見た目を損なわないギリギリのラインを探っていきましょう。

Shaded Wireframe表示でポリゴンを確認

この「パーツ特定 → コンポーネント追加 → Quality調整」を、ポリゴン数が多いパーツに対して繰り返していくのが基本的な流れです。

【重要】使わないパーツは完全に削除しよう

アバター改変をしていると、「元の服や髪型も、いつか使うかもしれないから一応残しておこう」と、非表示にしただけでHierarchyに残してしまうことがあります。しかし、非表示にしただけのメッシュもポリゴン数としてカウントされてしまう場合があります!

今回の私のアバターも、元のマヌカちゃんのエプロンパーツなどを非表示で残していましたが、これらをHierarchyから完全に削除したところ、約16,000ポリゴンも削減できました。

使わないパーツは思い切って削除しましょう。もし後で必要になった場合は、元のアバターや衣装のunitypackageを再インポートすれば簡単に戻せます。

Hierarchyから不要なパーツを削除する

(参考: UnityだけでVRChatアバターのVeryPoorを脱出する方法|こはだ 様

【注意】顔と素体のポリゴン削減は慎重に!

顔周りの細かいメッシュ構造

Mantisでのポリゴン削減は効果的ですが、アバターの「顔」と「素体(Body)」のメッシュは、原則として削減しない方が無難です。

特に顔周りは、豊かな表情を作るために非常に多くの細かいポリゴン(メッシュ)で構成されています。口周りのポリゴンはリップシンク(口パク)の様々な形に対応するため、目周りのポリゴンはまばたきや感情表現のために必要です。

これらの部分をMantisで安易に削減してしまうと、喋るたびに口が破綻したり、表情が崩壊したりする可能性が非常に高くなります。同様に、素体の関節部分なども、削減するとポーズを取ったときに不自然な見た目になりやすいです。

ポリゴン削減は、主に服、髪、アクセサリーなどのパーツで行い、顔と素体はできるだけ元の状態を保つようにしましょう。

【判断】時にはデザイン的な妥協も必要

尻尾パーツの削減前後の比較

どうしても目標のポリゴン数(Poorランクの70,000ポリゴン)に収まらない場合、デザインの一部を諦めるという判断が必要になることもあります。

今回のアバターでは、尻尾パーツのポリゴン数をMantisである程度削減しましたが、それでも目標達成が難しかったため、最終的に尻尾パーツ自体を削除する決断をしました。もちろん残念ですが、パフォーマンスランク改善のためには、こうしたトレードオフが必要になる場合もあります。

Mantisだけでは難しいケースと課題

Mantis LOD Editorは非常に優秀なツールですが、最適化を進める中で、Mantisだけでは対応が難しい、あるいは効率が悪いと感じる場面が出てきました。

  • 複合パーツの削減限界: インナーとアウターが一体化している服など、一つのオブジェクトに複数の部位が含まれている場合、Mantisで削減すると、先にポリゴン数が少ない部分(例: インナー)が破綻してしまい、ポリゴン数が多い部分(例: アウター)を十分に削減できないことがある。パーツを分離して個別に削減したい。
  • 隠れたメッシュの残り: 服の下に隠れている素体の一部(例: お腹周り)を非表示にしてもメッシュが残り、ポリゴン数に含まれてしまう。この隠れた部分だけを削除したい。
  • 部分的な装飾の削除: 服の特定の部分(ポケット、ベルト、フリルなど)だけを削除してポリゴン数を稼ぎたいが、Mantisでは全体的な削減しかできない。

これらの課題を解決するために役立つのが、「MeshDeleterWithTexture beta」です。

最適化前の体メッシュ(服で隠れている部分も表示)

(↑例えば、服の下に隠れているこのお腹部分のメッシュを削除したい)

服を非表示にした状態。腹部のメッシュが残っている

MeshDeleterWithTexture betaを使った部分的なメッシュ削除

MeshDeleterWithTexture beta」は、その名の通り、テクスチャ画像上で指定した範囲に対応するメッシュ部分を削除(正確には、削除した新しいメッシュを生成)してくれる画期的なツールです。

使い方は非常に直感的です。

1. がとーしょこらさんのBoothからunitypackageをダウンロードし、プロジェクトにインポートします。

2. Unityメニューバーに「GotoTools」という項目が追加されるので、「MeshDeleter with Texture」を選択して専用ウィンドウを開きます。

MeshDeleter with Textureのメニュー

3. ウィンドウ上部の「Renderer」という欄に、メッシュを削除したいオブジェクト(例: 体のメッシュを持つオブジェクト)をHierarchyウィンドウからドラッグ&ドロップします。

4. オブジェクトに設定されているテクスチャ画像がウィンドウ内に表示されます。

5. 画面右側の「Draw Type」から「PEN」などを選択し、テクスチャ上で削除したい部分(例: 服で隠れるお腹の部分)を黒く塗りつぶします。塗りつぶした部分は、シーンビュー上のモデルにもリアルタイムで反映され、削除される範囲を確認できます。

MeshDeleterでテクスチャのお腹部分を黒く塗りつぶす

6. 削除範囲を確認したら、「DeleteMesh」ボタンをクリックします。これで、指定した部分が削除された新しいメッシュが生成され、オブジェクトに自動で適用されます。

MeshDeleter実行後、お腹部分のメッシュが削除された状態

【ポイント】MeshDeleterも非破壊的!

このツールも「非破壊的」で、元のメッシュデータはプロジェクト内に残っています。もし削除範囲を間違えたり、元に戻したくなったりした場合は、オブジェクトのMesh Renderer(またはSkinned Mesh Renderer)コンポーネントで、Meshの指定を元のファイルに戻すだけでOKです。安心して試せますね。

生成された新しいメッシュが適用されているInspector画面

この方法で、服の下に隠れていた腹部メッシュを削除したところ、約1,000ポリゴン削減できました。さらに、残った部分にMantis LOD Editorを適用して、より効率的にポリゴンを削減することも可能です。

応用テクニック:MeshDeleterで服パーツを分離する

最適化対象のテックウェア(インナーとアウターが一体)

MeshDeleterの「テクスチャ範囲指定でメッシュを削除する」機能は、応用することで一体化している服パーツを分離するのにも使えます。

今回使用したテックウェア(約60,000ポリゴン)は、コート部分(アウター)と上半身のインナーが同じ一つのオブジェクト(メッシュ)として作られていました。このままだと、Mantisで削減しようとしても、ポリゴン数の少ないインナー部分が先に破綻してしまい、ポリゴン数の多いコート部分を十分に削減できませんでした。

そこで、MeshDeleterを使って「インナーだけのメッシュ」と「アウターだけのメッシュ」を擬似的に作り出すことにしました。

【パーツ分離手順】

1. 元のテックウェアオブジェクトをHierarchy上で複製(Ctrl+D または Cmd+D)し、それぞれ「インナー用」「アウター用」など分かりやすい名前に変更します。

2. 「インナー用」オブジェクトを選択し、MeshDeleterウィンドウを開きます。

3. テクスチャ上で、アウター(コート)に対応する部分をすべて黒く塗りつぶし、「DeleteMesh」を実行します。これにより、インナー部分だけが残ったメッシュが生成されます。

インナー用オブジェクトでコート部分を塗りつぶす

インナー部分だけのメッシュが完成

4. 同様に、「アウター用」オブジェクトを選択し、MeshDeleterウィンドウで今度はインナーに対応する部分をすべて黒く塗りつぶし、「DeleteMesh」を実行します。これにより、アウター(コート)部分だけが残ったメッシュが生成されます。

アウター用オブジェクトでインナー部分を塗りつぶす

これで、もともと一体だった服を「インナー」と「アウター」の2つのメッシュに分離できました。Blenderなどの外部モデリングソフトを使わずに、Unity上だけでパーツを分離できるのは非常に便利です。

分離後は、それぞれのパーツ(インナー、アウター)に個別にNDMF Mantis LOD Editorを適用し、より効果的にポリゴン数を削減していくことが可能になります。

まとめ:Very Poor脱出!最適化の成果とポイント

以上の方法を用いた結果、最初に18万ポリゴンあったVeryPoorランクのアバターを、69,995ポリゴンのPoorランクに改善することができました。

最終的なポリゴン数(69995)とPoorランクの表示

最終的に目標の70,000ポリゴン以下に収めるために、服の装飾削除やコートのポリゴン削減など、デザイン面での調整も行いました。見た目を維持しながらポリゴン数を削減する作業は、試行錯誤が必要ですが、非常に良い練習になったと感じています。

最適化後のアバターの外観(見た目の劣化は最小限)

今回使用した「Mantis LOD Editor (NDMF版)」と「MeshDeleterWithTexture beta」は、どちらも非破壊的なツールであるため、初心者でも比較的安心して試すことができます。「いつでも元に戻せる」という点は、最適化作業を進める上での大きな心理的な支えになります。

Mantisの強力なポリゴン削減能力と、MeshDeleterの柔軟な部分編集・応用力を組み合わせることで、Very Poorランクのアバターも効果的に最適化できる可能性が高まります。

VRChatアバターのポリゴン数でお悩みの方は、ぜひこの記事で紹介したツールと手順を参考に、最適化に挑戦してみてください。(なお、パフォーマンスランクにはポリゴン数以外にもマテリアル数などが影響するため、総合的な最適化を目指す場合はそちらも考慮が必要です)

参考にさせていただいた情報

今回のアバター最適化(ポリゴン削減)にあたり、以下の記事や動画を大変参考にさせていただきました。素晴らしい情報をありがとうございます。


追記:ハイエンドモデル最適化の限界と注意点 (2025年4月)

この記事ではVery PoorランクのアバターをPoorランクに改善する手順を紹介しましたが、すべてのケースで同様の最適化が最善とは限らない点について追記します。特に、元のポリゴン数が非常に多い、いわゆる「ハイエンドモデル」の最適化には注意が必要です。

これらのモデルは、ディテールに富んだ装飾や複雑な衣装、多くのギミックなどが魅力ですが、その分ポリゴン数が膨大(10万ポリゴンをはるかに超えることも珍しくありません)です。このようなモデルに対してMantis LOD Editorなどでポリゴン削減を行うと、わずかな削減率でも見た目のディテールが失われ、モデル本来の魅力が大きく損なわれてしまう可能性があります。

Poorランクの規定(7万ポリゴン)を少しオーバーしている程度のアバター(例えば7万~10万ポリゴン程度)や、もともとシンプルなデザインのデフォルメモデルなどであれば、この記事で紹介した方法は有効でしょう。しかし、規定の倍以上、例えば15万、20万ポリゴンを超えるようなハイエンドモデルを、見た目を維持したままPoorランクまで無理に削減しようとすることは、多くの場合困難であり、あまり推奨できません。

では、どうすれば良いかというと、無理に一つのモデルを極端に最適化するのではなく、用途に応じた使い分けを検討するのが現実的です。

  • 通常利用: メインのアバターは、最適化せず元のクオリティのまま使用する。
  • 軽量化が必要な場面: 大人数が集まるイベントや、パフォーマンスが重視される特定のワールドに参加する際には、別途軽量化されたバージョン(Quest対応版などが用意されている場合もあります)を用意するか、あるいは最初から軽量な別のアバターを使用する

【筆者の体験談と反省】

実を言うと、今回Poorランク(69,995ポリゴン)まで最適化したマヌカ改変モデルですが、しばらく使ってみて、少し考えが変わりました。確かに軽量化には成功したのですが、その過程で服の細かい装飾などを一部削除してしまったことに対し、「そこまでして最適化する必要があったかな?」という気持ちが後から出てきました。

また、私自身のVRChatのプレイスタイルとして、パフォーマンスが非常にシビアなワールドに頻繁に参加するわけではなかったため、「このモデルに関しては、Very Poorのままでも大きな支障はなかったかもしれない」というのが正直なところです。

アバターの最適化は、VRChatを快適に楽しむ上で重要な要素の一つですが、それが常に必須というわけではありません。ご自身のプレイスタイルや参加するコミュニティ、そして「どの程度の見た目の変化なら許容できるか」をよく考慮した上で、最適化を行うかどうか、どのレベルまで行うかを判断することが大切だと思います。

【VRChat】服の裏地が透ける/透明になる問題を修正!MeshFlipperの使い方

VRChatでマントやロングコートなど、丈の長い衣装を着ているアバターを使ったとき、「あれ? フレンド視点だと服の裏地が透明になって透けて見える…」と指摘された経験はありませんか?

自分視点では特に問題ないのに、他人から見るとコートの裏側などが描画されず、体が透けて見えてしまう…。これはVRChatでアバターを使っていると比較的よく遭遇する現象です。

この「衣装の裏地が透ける問題」、実は簡単なUnityツールで解決できる場合があります。この記事では、その原因と、解決策となるツール「MeshFlipper」の使い方について、備忘録も兼ねて解説します。


この記事の内容

  1. なぜVRChatで服の裏地が描画されない(透ける)のか?
  2. 解決策!「MeshFlipper」の導入と使い方(実装手順)
  3. (少し技術的な話)MeshFlipperが裏地問題を解決する仕組み
  4. まとめ:服の裏地が透けるならMeshFlipperを試そう!

なぜVRChatで服の裏地が描画されない(透ける)のか?

VRChat内でコートの裏地が透けて見えている状態の例

この現象の主な原因は、多くの3Dモデルで採用されている「片面レンダリング(または片面描画)」という仕組みにあります。

簡単に言うと、3Dモデルを構成するポリゴン(板のようなもの)は、基本的に「表面」だけを描画し、「裏面」は描画しないことで、コンピューターの描画負荷を軽くしています。体にぴったりフィットした服などは、外側(表面)だけが見えれば十分なので、この仕組みで問題ありません。

しかし、コート、マント、スカートのようにヒラヒラしたり、裾が長かったりする衣装の場合、キャラクターが動いたり、特定の角度から見たりすると、衣装の「裏面」が見えてしまうことがあります。

片面レンダリングでは、この「裏面」は描画対象外なので、結果として何も描画されず、背景や体が透けて見えてしまうのです。これが、他人視点や三人称視点のカメラで見たときに「裏地が透明になっている」「バグで描画されていない」ように見える正体です。

この問題を解決するには、単純に「衣装の裏面もちゃんと描画されるようにする」必要があります。そのための処理を簡単に行ってくれるのが、次にご紹介する「MeshFlipper」というツールです。


解決策!「MeshFlipper」の導入と使い方(実装手順)

衣装の裏地が透ける問題の解決方法を探していたところ、以下の記事で「MeshFlipper」というUnityエディタ拡張ツールの存在を知りました。(情報感謝です!)

Android(Quest)対応方法マニュアルAdvanced!! – もえぎつばさ 様

MeshFlipperは、Unity上で3Dモデルのメッシュデータ(形状データ)を加工し、裏面も描画されるように両面化してくれる非常に便利なツールです。fum1さんがBoothで無料配布してくれています。

【無料】メッシュの裏面を生成するツール / Mesh Flipper (BOOTH)

導入と基本的な使い方は以下の通り、とても簡単です。

MeshFlipperのウィンドウと設定オプション

  1. MeshFlipperをUnityプロジェクトにインポートする
    まず、上記BoothからMeshFlipperをダウンロードします。ダウンロードしたファイルに含まれるMeshFlipper.csというスクリプトファイルを、UnityプロジェクトのAssetsフォルダ内の好きな場所(例えばEditorフォルダなど)にドラッグ&ドロップしてインポートします。
  2. 裏地が透ける衣装のメッシュを選択する
    UnityのHierarchyウィンドウで、修正したいアバターを選択し、その中から裏地が透けてしまう衣装のパーツ(オブジェクト)を探します。そのオブジェクトにアタッチされているSkinned Mesh RendererまたはMesh Rendererコンポーネントを見つけてください。
  3. MeshFlipperウィンドウを開く
    Unityのメニューバーから fum1 > Mesh Flipper を選択し、MeshFlipperの専用ウィンドウを開きます。
  4. オプションを設定する(重要:TwoSidesを選択)
    MeshFlipperウィンドウが開いたら、対象の衣装パーツ(Skinned Mesh Rendererなどが付いたオブジェクト)を選択した状態で、以下のオプションを設定します。

    • TwoSides: このオプションにチェックを入れるのが基本です。これがメッシュを両面化する機能で、チェックを入れると裏面も描画されるようになります。
    • Flip: こちらはポリゴンの面の向き(法線)を反転させる機能です。通常、裏地が透ける問題の解決にはTwoSidesだけで十分です。

    ほとんどの場合、TwoSidesにチェックを入れるだけで裏地が透ける問題は解決します。

  5. 「Create Mesh」ボタンを押して実行する
    オプションを設定したら、「Create Mesh」ボタンをクリックします。すると、MeshFlipperが選択したメッシュを両面化処理し、新しいメッシュデータを作成して自動的に元のメッシュと差し替えてくれます。(元のメッシュデータもバックアップとして残る場合があります)

処理が完了したら、Unityのシーンビューで衣装の裏側から見てみたり、VRChatにアップロードしてフレンドに確認してもらったりしましょう。裏地がちゃんと描画され、透けなくなっていれば成功です!


(少し技術的な話)MeshFlipperが裏地問題を解決する仕組み

少しだけ技術的な話をすると、MeshFlipperは内部で以下のような処理を行っています。

  • 頂点データの複製と法線の反転: 元のメッシュの頂点データをコピーし、コピーした側のポリゴンの向き(法線)を反転させます。
  • メッシュの結合: 元のメッシュ(表面)と、法線を反転させたコピー(裏面用)を一つに結合します。

これにより、実質的に「表面用のポリゴン」と「裏面用のポリゴン」の両方を持つメッシュデータが作成されます。結果として、どちらの方向から見てもポリゴンが描画されるようになり、裏地が透ける問題が解決するという仕組みです。

要するに、MeshFlipperは「本来は存在しなかった(描画されなかった)服の裏側」を擬似的に作ってくれるツール、と理解しておけば大丈夫です。

この複雑な処理をボタン一つで実行してくれるので、特にコートやスカートなど、裏側が見えやすい衣装を扱う際には非常に重宝します。


まとめ:服の裏地が透けるならMeshFlipperを試そう!

VRChatでアバターの衣装(特にコートやマント、スカートなど)の裏地が透けてしまう透明になってしまうという問題に遭遇したら、まずはUnityエディタ拡張ツール「MeshFlipper」の利用を検討してみてください。

簡単な手順でメッシュを両面化でき、多くの場合、これだけで裏地が正常に描画されるようになります。

MeshFlipperは、開発者のfum1さんがBoothで無料配布してくれています。同じ悩みを持つVRChatユーザーやアバター改変を行う方は、ぜひ導入して試してみることをお勧めします!

【無料】メッシュの裏面を生成するツール / Mesh Flipper (BOOTH)

SSDをクローン換装してCドライブの容量を500GBから2TBに拡張した備忘録

4年ほど使っている自作PCで、最近以下のような気になる動作が増えてきました。

  • エクスプローラでフォルダを開いたり、ファイルを表示したりするのに妙に時間がかかる。
  • ファイル名の変更中など、ファイル操作をしていると表示が一瞬リセットされる(入力が確定されてイライラ…)。
  • ごく稀にPC全体がプチフリーズし、Windowsのタスクバーなどが再読み込みされるような挙動をする。

メモリ診断やGPUドライバ更新、不要ファイルの削除などを試しても改善せず、「そろそろPCの寿命かな…」と考え始めていました。しかし、その前にふとPCの心臓部とも言えるCドライブの状態を確認してみると…

容量が限界に近いCドライブの状態(赤色表示)

真っ赤!残りの空き容量は5%未満という危険水域でした。

一般的に、WindowsがインストールされているCドライブは、常に10%~15%程度の空き容量を確保しておくことが推奨されています。空き容量が極端に少ないと、Windowsの一時ファイル作成、ページングファイル(仮想メモリ)の確保、システムアップデートなどに支障をきたし、結果としてシステムの不安定化、パフォーマンス低下、読み書き速度の低下(特にSSDの場合)など、様々な不具合を引き起こす原因となります。

そこで今回、この容量不足を解消すべく、現在のCドライブ(約500GBのM.2 SSD)の内容を丸ごと新しい大容量SSD(2TBの2.5インチSSD)にコピー(クローン)して交換(換装)することに挑戦しました。結果的に容量拡張は成功したものの、途中でWindowsが起動しなくなるトラブルにも遭遇し、かなり苦戦しました…。

この記事では、そのSSDクローン換装の具体的な手順、使用したツール、そして遭遇した起動エラー「0xc000000e」の対処法などを、備忘録として詳しくまとめていきます。同じようにCドライブの容量不足に悩んでいる方や、SSD換装を検討している方の参考になれば幸いです。


SSDクローン換装の手順概要

この記事で解説する手順

  1. 事前準備:必要なもの(SSD、ソフト、USBメモリ等)
  2. 換装手順の詳細:クローンからトラブル解決まで
    1. SSDクローンの作成 (Macrium Reflect Free)
    2. Windowsインストールメディアの作成(トラブル対策用)
    3. SSDの物理的な取り付けとBIOS設定、そして起動エラー対処
    4. パーティションの拡張(容量を使い切る)
  3. 換装完了と結果:容量拡張とPCの安定化

事前準備:必要なもの(SSD、ソフト、USBメモリ等)

今回のSSDクローン換装で使用した主な物品とソフトウェアは以下の通りです。

  • 新しいSSD: シリコンパワー 2TB SSD 3D NAND A58 (2.5インチ SATA)
    • 換装先のSSDです。容量や規格(M.2 NVMe, 2.5インチ SATA等)、メーカーはお好みで。今回はセールで安価だったこちらを選びました。元のM.2から2.5インチへの変更ですが、マザーボードに空きSATAポートがあれば問題ありません。

    シリコンパワー 2TB SSD 3D NAND A58 (Amazon)

  • SSDクローンソフト: Macrium Reflect Free
    • 元のSSDの内容を新しいSSDに丸ごとコピー(クローン)するためのソフトウェア。様々なソフトがありますが、今回は無料で評価も高かったこちらを使用しました。

    Macrium Reflect Free – 窓の杜 /
    [参考記事] Macrium Reflect Freeを使ってSSDをクローンし、大容量のSSDに移行する – combat-travor 様

  • USBメモリ: 16GB以上のもの
    • 換装後にWindowsが起動しなくなった場合の修復作業で使用します。Windowsのインストールメディアを作成するために必要です。【重要】この作業は事前にやっておくことを強く推奨します。

    Windows 10メディア作成ツール – Microsoft (Windows 11の場合はこちら)

  • パーティション管理ソフト: Paragon Hard Disk Manager 15 (または同等の機能を持つソフト)
    • 換装後、新しいSSDの全容量をCドライブとして使えるように、パーティションサイズを調整(拡張)するために使用しました。Windows標準の「ディスクの管理」でも可能ですが、より柔軟な操作ができる専用ソフトが便利です。今回は手持ちのソフトを使いましたが、無料のパーティション管理ソフトもあります。
  • SATA-USB変換ケーブル/ケース (任意):
    • 新しいSSDをPC内部に取り付ける前に、USB接続でクローン作業を行う場合に必要です。PC内部に直接接続できる場合は不要。

SSDやソフトウェアは上記以外のものでも構いません。ご自身の環境や予算に合わせて選択してください。ただし、起動トラブルに備えて、Windowsインストールメディアだけは事前に作成しておくことをお勧めします。

BCD (Boot Configuration Data) とは、Windowsの起動に必要な構成情報(どのディスクからOSを起動するかなど)を格納したファイルです。SSD換装後に起動エラーが出る場合、このBCD情報が新しい環境と合わなくなっていることが原因の一つとして考えられます。


換装手順の詳細:クローンからトラブル解決まで

それでは、具体的な換装手順と、私が遭遇したトラブルシューティングについて解説します。

【Step 1】SSDクローンの作成 (Macrium Reflect Free)

まず、現在のCドライブの内容を、新しいSSDに丸ごとコピー(クローン)します。

1. 新しいSSDをPCに接続します。(SATA-USB変換ケーブルを使うか、PC内部の空きポートに接続)

2. クローンソフト(今回はMacrium Reflect Free)を起動します。

3. ソフトの指示に従い、コピー元ドライブ(現在のCドライブ)とコピー先ドライブ(新しいSSD)を選択し、クローン処理を開始します。

Macrium Reflect Freeでのクローン設定画面例

(具体的な操作手順は、前述のcombat-travor様の参考記事が非常に分かりやすいです)

Macrium Reflect Freeでのクローン完了画面

私の環境では、約450GB使用していたCドライブのクローンに約3時間40分かかりました。時間は環境やデータ量によって大きく変動します。

【ポイント】クローン時のパーティションサイズ

クローンソフトの設定で、コピー先のパーティションサイズを指定できる場合があります。基本的には、コピー元と同じサイズでクローンするのが安全です。新しいSSDの残りの容量は、クローン完了時点では「未割り当て」領域として残しておきます。この未割り当て領域は、後ほどStep 4でCドライブと結合します。

💡 クローン時のパーティションサイズは、元のドライブと同じサイズに設定するのが推奨されます。大容量SSDの残りは一旦「未割り当て」のままにします。

クローン完了後、Windowsの「ディスクの管理」(`diskmgmt.msc`)やパーティション管理ソフトで、新しいSSDに元のCドライブと同じ構成のパーティションが作成され、残りが未割り当て領域になっていることを確認しましょう。

パーティション管理ソフトでクローン後のSSDを確認

(↑元のCドライブの内容がコピーされ、残りが未割り当てになっている状態)


【Step 2】Windowsインストールメディアの作成(トラブル対策用)

SSDの換装後、すんなりWindowsが起動すれば良いのですが、環境によっては起動エラーが発生することがあります。私の場合は、以下のブルースクリーンエラーが表示されました。

エラーコード 0xc000000e のブルースクリーン画面

エラーコード「0xc000000e」は、Windowsが起動に必要なデバイス(この場合は新しいSSD)にアクセスできない、または起動構成データ(BCD)に問題がある場合に発生することが多いエラーです。

このエラーを修復するには、Windowsの回復環境からコマンドプロンプトを起動する必要があります。そのために、事前にWindowsインストールメディア(USBメモリ)を作成しておきます。

1. Microsoftの公式サイトから「メディア作成ツール」をダウンロードします。

Windows 10メディア作成ツール / Windows 11メディア作成ツール

2. 16GB以上の空のUSBメモリをPCに接続します。

3. ダウンロードしたメディア作成ツールを実行し、画面の指示に従って「別の PC のインストール メディアを作成する (USB フラッシュ ドライブ、DVD、または ISO ファイル)」を選択し、USBメモリにインストールメディアを作成します。

Windowsメディア作成ツールの画面

このUSBメモリがあれば、万が一Windowsが起動しなくなっても、修復作業を行うことができます。

[参考記事] Windows 10でエラーコード0xc000000eを修正する方法 – MiniTool

[参考記事] 【SSD換装】クローンしたSSDから起動できない時の原因と対処法まとめ – ドクター・エムプレイス


【Step 3】SSDの物理的な取り付けとBIOS設定、そして起動エラー対処

クローン作業とインストールメディア作成が終わったら、いよいよSSDの交換です。

1. PCの電源を完全に切り、電源ケーブルを抜きます。

2. PCケースを開け、古いSSD(元のCドライブ)を取り外し、新しいSSD(クローン済みのもの)を取り付けます。(※静電気対策を忘れずに!)

3. PCケースを閉じ、電源ケーブルを接続し、PCの電源を入れます。

4. 電源を入れた直後(メーカーロゴが表示されている間)に、指定のキー(多くはDELキーかF2キー)を押して、BIOS(UEFI)設定画面に入ります。

5. BIOS設定画面で、「Boot」や「起動」といったメニューを探し、起動順位(Boot Options / Boot Priority)を確認します。ここで、新しく取り付けたSSDが「Windows Boot Manager」として認識され、起動順位の1番目に設定されていることを確認します。(もし認識されていない、または順位が低い場合は設定を変更します)

6. 設定を保存してBIOSを終了し、PCを再起動します。

【トラブル発生】BIOSでは認識されるのに 0xc000000e エラーで起動しない!

私の環境では、ここが最大の難関でした。BIOS上では新しいSSDが起動ドライブとして正しく認識されているにも関わらず、Windowsを起動しようとすると前述のブルースクリーンエラー「0xc000000e」が発生してしまうのです。

最初はクローン失敗を疑い、別のソフト(Paragon)でクローンし直したりしましたが、結果は同じでした。

【解決策】Windowsインストールメディアから起動し、BCDを再構築する

最終的に、Step 2で作成したWindowsインストールメディア(USBメモリ)を使って以下の手順を行うことで解決しました。これは、Windowsの起動構成データ(BCD)を修復・再構築する作業です。

1. PCの電源を切った状態で、Windowsインストールメディア(USBメモリ)を接続します。

2. PCの電源を入れ、すぐにBIOS設定画面に入ります。

3. 起動順位を変更し、USBメモリを最優先(1番目)にして設定を保存・再起動します。

4. USBメモリからWindowsセットアップ画面が起動したら、「コンピューターを修復する」>「トラブルシューティング」>「詳細オプション」>「コマンド プロンプト」を選択します。

5. コマンドプロンプトで、以下のコマンドを順番に実行します。これは、ブートセクタの修復とBCDの再構築を行うためのコマンドです。(詳細な手順は下記の参考記事を参照してください)

  • bootrec /fixmbr
  • bootrec /fixboot (※後述の注意点あり)
  • bootrec /scanos
  • bootrec /rebuildbcd

(場合によっては、diskpartコマンドでEFIパーティションにドライブ文字を割り当てる作業が必要になることもあります)

[参考記事] 【bootrec /fixboot アクセスは拒否されました】コマンドプロンプトからUEFIを修復してWindowsを起動可能にする方法 – ぼくんちのTV 別館

【注意】bootrec /fixboot で「アクセスが拒否されました」エラーが出る場合

bootrec /fixboot でアクセス拒否のエラー

上記のコマンド実行中、bootrec /fixboot で「アクセスが拒否されました (Access is denied.)」というエラーが表示されることがあります。これは、最近のWindows(特にUEFIモードでインストールされている場合)でよく見られる現象のようです。

私の場合は、このエラーを無視して、次の bootrec /scanosbootrec /rebuildbcd を実行したところ、結果的に問題なくWindowsが起動するようになりましたfixbootコマンドは主に古いMBR形式のディスク修復に使われるもので、UEFI環境では必ずしも必要ではない、あるいは別の手順(diskpartを使ったEFIパーティション操作など)が必要な場合があるようです。

もしこのエラーに遭遇し、rebuildbcdまで実行しても起動しない場合は、以下の参考記事にあるような追加の対処法を試す必要があるかもしれません。

[参考記事] 「bootrec /fixboot」でアクセスが拒否されましたと表示される時の対処法! – Windows10 – IT HOOK

BCDの再構築が成功し、コマンドプロンプトを終了してPCを再起動すると、無事に新しいSSDからWindowsが起動するはずです!


【Step 4】パーティションの拡張(容量を使い切る)

無事にWindowsが起動したら、最後の大仕事です。現在、新しいSSDには元のCドライブと同じサイズのパーティションしかなく、残りの大容量スペースは「未割り当て」領域として使えない状態になっています。この未割り当て領域をCドライブと結合し、SSDの全容量を使えるようにします。

パーティション管理ソフトでCドライブと未割り当て領域を表示

この作業は、Windows標準の「ディスクの管理」でも可能ですが、回復パーティションなどが間に挟まっていると拡張できない場合があるため、専用のパーティション管理ソフトを使うのが確実です。

今回は手持ちの「Paragon Hard Disk Manager 15」を使用しました。「パーティションサイズの変更/移動」のような機能を選択し、Cドライブのパーティションを選択して、後方の未割り当て領域を取り込むようにサイズを最大まで広げます。

Paragon Hard Disk Managerでパーティションサイズを拡張する設定

設定を適用すると、通常はPCの再起動が求められ、Windows起動前の画面でパーティションの変更処理が実行されます。処理が完了し、再度Windowsが起動すれば、Cドライブの容量が新しいSSDの最大容量(今回は約2TB)まで拡張されているはずです。

換装完了と結果:容量拡張とPCの安定化

容量が拡張されたCドライブの状態(空き容量十分)

以上の手順を経て、無事にCドライブのSSDを500GBから2TBに換装し、容量を大幅に拡張することができました!

Cドライブの空き容量が十分に確保された(15%以上)ことで、以前発生していたエクスプローラの遅延や表示の再描画、プチフリーズといったPCの不調も嘘のように解消されました。やはり、Cドライブの空き容量不足はシステムの安定性に大きな影響を与えるようです。ドライブが赤色の状態は放置せず、早めに対処(不要ファイルの削除、または今回のような容量拡張)することが重要ですね。

SSDのクローン換装は、手順自体はそれほど複雑ではありませんが、環境によっては起動トラブルが発生する可能性もあります。特にUEFI環境での換装は、BCD周りの問題が起きやすいようです。この記事で紹介したトラブルシューティングが、同じ問題に直面した方の助けになれば幸いです。(※作業は自己責任でお願いします)

【VRChat】初めてのアバター購入&改変!マヌカちゃんで実践したモデル・服・髪の導入手順と注意点

VRChat内で改変したマヌカアバター

VRChatに興味があるけど、「アバターってどうやって用意するの?」「改変って難しそう…」と感じている方も多いのではないでしょうか。実は最近、VRChatのアバター導入や改変プロセスは、以前に比べてかなり分かりやすく、始めやすくなっています。

この記事では、VRChat初心者だった筆者が、人気アバター「マヌカ」ちゃんをBoothで購入し、初めてのアバター改変(着せ替え、テクスチャの色や瞳の変更、髪型変更など)に挑戦した際の記録をまとめました。

特に、公式ツール「VCC (VRChat Creator Companion)」のおかげで、Unityを使ったアバターのアップロード作業が驚くほど簡単になっています。この記事が、これからVRChatでアバターを使ってみたい、アバター改変を始めてみたいという方の参考になれば幸いです。

(筆者は3Dモデル制作の学習の一環としてVRChatアバター改変を始めました。学習ステップは以下の通り考えています)

  1. 既存販売アバターの基本的な改変(着せ替え、色変更、簡単なギミック等) ※本記事の内容
  2. VRoid Studioで作成したモデルをVRChatへ導入(テクスチャ作成等の練習)
  3. Blender等によるフルスクラッチモデル制作(最終目標)

今回は、ステップ1の体験談と手順、つまずいた点などを詳しくご紹介します。


目次

  1. ベースモデル「マヌカ」購入と導入(VCCが超便利!)
  2. モデルの改変:服装の着せ替え(対応衣装と注意点)
  3. モデルの改変:瞳と服の色の変更(テクスチャ編集とシェイプキー)
  4. モデルの改変:髪型の変更(対応髪型とエラー対処)
  5. まとめ:初めてのアバター改変は学びが多くて楽しい!
  6. おまけ:初めての自作ワールド挑戦と失敗

ベースモデル「マヌカ」購入と導入(VCCが超便利!)

購入したマヌカモデルをUnityに導入した様子

今回、初めてのアバター改変のベースとして選んだのは、Studio DINGOさんが制作・販売されている大人気3Dモデル「マヌカ」ちゃんです。

オリジナル3Dモデル「マヌカ」ver1.02 – JINGO CHANNEL (Booth)

ちょうどアバターを探していた時期に、作者様がX(旧Twitter)でブラックフライデーセール(50%OFF!)を実施されていたのが購入の決め手でした。さすが人気モデル、クオリティが高くて可愛いです!

【Tips】Boothでのセール情報: VRChatアバターや衣装が多く販売されているBoothでは、クリエイターさんが個別にセールを行うことがあります。気になるモデルを見つけたら、作者さんのXアカウントなどをフォローしておくと、お得な情報を見逃さずに済むかもしれません。

アバターの導入手順(UnityへのインポートとVRChatへのアップロード)については、「メタカル最前線」さんの以下の記事が非常に分かりやすかったです。画像付きで丁寧に解説されているので、初心者の方はまずこちらを読むのがおすすめです。

【徹底解説】VRChatのアバターアップロード・導入方法。困ったときのトラブルシューティング付き | メタカル最前線

VCC (VRChat Creator Companion) がとにかく便利!

VRChat Creator Companion (VCC) のメニュー画面

今回のアバター導入で特に感動したのが、VRChat公式ツール「VCC (VRChat Creator Companion)」の存在です。以前(2018年頃)はUnityのセットアップやVRChat用コンポーネントの導入がもっと複雑だった記憶がありますが、VCCを使えば驚くほど簡単でした。

VCC上で作りたいもの(アバターかワールドか)を選んでプロジェクトを新規作成するだけで、必要なものが揃ったUnityプロジェクトが自動でセットアップされます。Unity Hubから手動で設定する手間が省け、非常にストレスフリーです。プロジェクト管理画面も見やすく、初心者にとって大きな助けになるツールだと感じました。

VCCでのプロジェクト管理画面


モデルの改変:服装の着せ替え(対応衣装と注意点)

購入した衣装をマヌカちゃんに着せた様子

アバターの導入ができたら、次はいよいよ改変の第一歩、服装の着せ替えです。通常、別売りの衣装アセットはアバターの体型に合わせてUnity上で微調整が必要ですが、「マヌカ」ちゃんのような人気アバターの場合、多くのクリエイターさんが「マヌカ対応」として、マヌカちゃんに最適化された衣装をBoothで販売してくれています。これは初心者にとって非常にありがたい点です。

今回は、デフォルトの元気な雰囲気から、少し落ち着いたミステリアスな雰囲気に変えたかったので、オーバーサイズのテックウェアを探していました。そこで見つけたのが、hajimata雑貨店さんの「マヌカ対応衣装【Tech Wear】」です。

マヌカ対応衣装【Tech Wear】 – hajimata (Booth)

探していた日にちょうど発売されたという偶然もあり、即購入。デザインもクオリティも素晴らしい衣装です!

Unity上でマヌカちゃんにTech Wearを着せている様子

「マヌカ対応」衣装なので、導入は非常に簡単。基本的には、購入した衣装のPrefab(プレハブ:設定済みの部品セット)を、UnityのHierarchyウィンドウにあるマヌカちゃんアバターのオブジェクトに入れるだけでOKです。(元の服や不要なパーツは非表示にします。今回はケモミミも非表示にしました)

衣装の着せ替え方法についても、先ほど紹介した「メタカル最前線」さんの記事が大変参考になりました。

【2024年最新版】 VRChat初心者必見!BOOTHで買った衣装をUnityで簡単に改変(カスタマイズ)する方法を解説 | メタカル最前線

【つまずきポイント】衣装小物の追従設定ミス

Tech Wearに付属していた防弾メガネ(ゴーグル)の配置で少しミスをしました。

最初、衣装本体と同じ階層にメガネのPrefabを配置してしまったため、メガネが体の動きには追従するものの、頭の動きには追従せず、結果的に頭の中に埋まってしまいました。

メガネが頭に埋まってしまう失敗例

【解決策】 メガネのような頭部に追従させたい小物は、アバターの骨格構造(Armature)の中にある「Head」(頭ボーン)の子オブジェクトとして配置する必要があります。具体的には、Armature/Hips/Spine/Chest/Neck/Head の下にメガネのPrefabを移動させます。これで頭の動きに合わせてメガネも動くようになります。

正しいメガネの配置場所(Headボーンの下)

アバターの親子関係(ヒエラルキー構造)を理解することが、小物を正しく配置する鍵になります。


モデルの改変:瞳と服の色の変更(テクスチャ編集とシェイプキー)

服装の次は、アバターの印象を大きく左右する瞳と服の色を変更してみました。

瞳の改変には、Boothで販売されている瞳テクスチャを購入して差し替えるのが最も簡単な方法です。しかし今回は、今後の3Dモデル制作の練習も兼ねて、マヌカちゃんの元の顔テクスチャファイルに直接加筆修正する方法を試しました。

【手順】

  1. Unityプロジェクト内にあるマヌカちゃんの顔テクスチャファイル(.pngや.psdなど)を見つけ、作業用フォルダにコピーする。
  2. PhotoshopやCLIP STUDIO PAINTなどの画像編集ソフトで、コピーしたテクスチャファイルを開き、瞳の部分を描き変える。(今回は瞳孔の形を変え、色を緑色に変更)
  3. 編集したテクスチャをPNG形式で出力する。
  4. 出力したPNGファイルを、Unityプロジェクト内の元のテクスチャファイルと同じフォルダに、同じファイル名で上書き保存する。

ファイルを上書きすると、Unityが自動的に変更を検知し、アバターの見た目に反映してくれます。非常に便利です。

編集前後の瞳テクスチャ比較

【つまずきポイント】消したはずのハイライトが表示される? → シェイプキーの罠

瞳テクスチャを更新した際、「あれ?テクスチャ編集で消したはずの瞳のハイライトやクローバー柄が表示されている…?」という現象に遭遇しました。

【原因と解決策】 これは、テクスチャではなく「シェイプキー」で制御されている要素でした。シェイプキーとは、アバターの特定の部位の形状をスライダーで変化させられる機能のことで、表情の変化(目パチ、口パク)や、こうした細かい装飾の表示/非表示に使われることがあります。

UnityのInspectorウィンドウで、アバターの顔や体のメッシュ(Skinned Mesh Renderer)を選択し、「BlendShapes」(シェイプキーのこと)の項目を確認します。そこにハイライトや柄に対応する名前のスライダーがあれば、その値を調整することで表示を消すことができました。(つまり、テクスチャから消す必要はなかった…!)

UnityのInspectorでシェイプキー(BlendShapes)を調整する様子

ついでに、落ち着いた雰囲気にするために瞼を少し下げるシェイプキーも調整。シェイプキーはアバターの個性を出す上で非常に強力な機能ですね。

服の色の変更については、瞳の色に合わせて、元の黒色ベースの服テクスチャに紺色のレイヤーを重ねて色調を変更したものを、同様に上書きする方法で対応しました。もっと凝るなら、模様を描き足したりするのも面白そうです。

瞳と服の色を改変した後のマヌカちゃん

これで、だいぶ目標としていた「落ち着いてミステリアス」なイメージに近づいてきました。


モデルの改変:髪型の変更(対応髪型とエラー対処)

新しい髪型に変更したマヌカちゃん

仕上げに髪型も変更します。ここでも「マヌカ対応」の髪型アセットがBoothに豊富にあり、イメージに合うものをすぐに見つけることができました。人気アバターならではの利点ですね。

今回は、かやすとあさんの「みみだしボブ」を購入しました。

みみだしボブ【Manuka Hairstyle】 – かやすとあ (Booth)

マヌカちゃんデフォルトのお団子ヘアも可愛いですが、今回のコンセプトにはボブの落ち着いたシルエットが合うと考えました。(付属のリボンはアクセントとして残し、サイズを最大に変更しました)

髪型とリボンを変更した完成形のマヌカちゃん

【つまずきポイント】髪型セットアップ時のエラー

衣装と同様に、購入した髪型のPrefabをアバターのオブジェクトに入れてセットアップしようとした際に、エラーが発生することがありました。(特にModular Avatarなどのツールを使っている場合)

髪型セットアップ時のエラーメッセージ例

【解決策】 このような場合、髪型オブジェクトに「MA Bone Proxy」(Modular Avatarに含まれるコンポーネント)を追加し、そのコンポーネントの「Bone Reference」にアバターの「Head」ボーンを指定することで解決できる場合があります。これにより、髪が頭に正しく追従するようになります。(この設定を行えば、再度セットアップツールを適用する必要はありません)

MA Bone Proxyコンポーネントの設定例

アセットによっては導入方法が異なる場合があるので、付属のReadmeなどをよく確認することが大切です。


まとめ:初めてのアバター改変は学びが多くて楽しい!

改変したアバターの集合写真

今回は「はじめてのVRChatモデル導入と改変」として、人気アバター「マヌカ」ちゃんをベースに、衣装や髪型の購入・導入、瞳や服のテクスチャ編集・色変更に挑戦しました。

VRChat公式ツール「VCC」の登場や、Boothでの豊富な対応アセット、そして多くの先人たちが残してくれた分かりやすい解説記事のおかげで、初心者でも比較的スムーズに、そして楽しくアバター改変を進めることができました。関係者の皆様に感謝です。

目標としていた「落ち着いてミステリアス」な雰囲気のマヌカちゃんも、なんとか形になったのではないかと思います。

最終目標であるBlenderでのフルスクラッチモデル制作への道はまだ遠いですが、今回のような改変作業を通して、テクスチャ編集やUnityの操作、アバターの構造(Armatureやシェイプキー)についての理解を少しずつ深めることができました。今後もVRoidモデルの導入などを試しつつ、学習を続けていけば、いつか目標に到達できるかもしれない、と感じています。

何よりも、自分の手でアバターが変化していく過程は非常に面白かったです。この記事が、これからVRChatアバターの世界に足を踏み入れようとしている方、初めてのアバター改変に挑戦しようとしている方の、何かしらの参考になれば幸いです。次回は「ギミック組み込み」など、もう少し複雑な改変にも挑戦してみたいと思います!


おまけ:初めての自作ワールド挑戦と失敗

自作ワールドでの失敗シーン

アバター改変と並行して、VRChatの「ワールド制作」にも少しだけ挑戦してみました。「ワールド作るならアスレチックでしょ!」と安易に考えた結果、見事に壁にぶつかりました。

特に難しかったのが「移動する床にプレイヤーを乗せる」という処理です。通常のゲーム開発の感覚で動く床を配置しても、VRChatではプレイヤーが床の動きに追従せず、そのまま下に落ちてしまいます。これは、VRChatがオンラインゲームであり、複数プレイヤーの位置情報を常に同期させる必要があるため、単純な物理演算だけではうまくいかないようです。

椅子に座らせるなどのギミックを使えば回避できるそうですが、移動床を実現するにはかなりテクニカルな実装が必要になるとのこと。まずは基本的なワールド構築から学んでいこうと思います。