見出し画像

【VRChat】トラスとウェッジのトラスちゃんからケモミミを外して自由にしてあげる方法

トラスちゃん使いのフレンドがケモミミを外せないと悩んでいたので、自己流のやり方をここにメモしておきます。

今回改変するのは、nylonheart様制作のアバター、トラスとウェッジのトラスちゃんです。かわいいね。

まえがき

トラスちゃんにはケモミミがついています。
もちろんシェイプキーで消したり形を変えたりすることもできます。
ところが、髪の毛とケモミミが同じメッシュになっているため、例えば髪形を変更した時はケモミミを持っていくことができません。(Blenderを使えば可能)
この記事では、トラスちゃんのかわいいケモミミを髪の毛から解放し、他の髪形でも付けられるようにしたり、他のアバターの改変で活用したりすることができる方法を解説します。
改変をするときは、アセットの規約をしっかり守りましょう。

前提

  • Unity 2022.3.22f1 及び VRChat SDK 3.7.3 で記事作成

  • UnityからVRChatへアバターをアップロードできる環境が整っていること

  • Unity及びCreator Companion (VCC) または ALCOMの基本的な操作ができること

  • トラスとウェッジのアセットがUnityにインポートされていること

準備

今回の作業には下記3つのパッケージが必要になります。それぞれVCCまたはALCOMを使ってリポジトリを登録してパッケージをプロジェクトにインポートしてください。

  • Modular Avatar (https://modular-avatar.nadena.dev/ja)
    言わずと知れた非破壊アバター組み立てツール。この記事では取り外したケモミミを他のアバターに組み込むために使用します。

  • AAO: Avatar Optimizer (https://vpm.anatawa12.com/add-repo)
    言わずと知れた非破壊アバター軽量化ツール。この記事ではケモミミ以外を消すために使用します。

  • Module Creator (https://tliks.github.io/vpm-repos/)
    アバターからメッシュの一部とボーンを取り出してパーツ化(Prefab化)してくれるツール。この記事では髪の毛を複製して分離するために使用します。

手順

1. 髪の毛を複製して分離する

Hierarchyに配置したトラスちゃんのHairを右クリックし、Module Creator から Create Moduleをクリックします

Module Creatorを使ってHairを複製して分離する

Module Creatorによって元のアバターはそのままに、Hierarchy上に「Hair_MA」というパーツが作られます。
Prefabもアセットフォルダ内に自動的に生成されています。
試しにトラスちゃんを非表示にしてみると、分離された髪の毛だけがシーンに表示されていることがわかります。

Tolass4.5を非表示にすると髪の毛だけが残る

この「Hair_MA」には、髪の毛のメッシュと関連するボーンが含まれていますが、ケモミミ以外のメッシュも残ってしまっているため、次にケモミミ以外を消す作業を行います。

2. 髪の毛からケモミミ以外を消す

Hierarchy上の「Hair_MA」から「Hair」を選択し、Inspectorの「Add Component」から「AAO Remove Mesh By Mask」コンポーネントを追加します。

Add Componentから検索窓を使ってAAOと検索すると見つけやすいです

追加したコンポーネントの、「0番のマテリアルスロットに適用」にチェックを入れ、マスクテクスチャの右端にある「作成」をクリックします。
保存ウインドウが出てくるので、アセットフォルダ内の好きな場所にファイル名を付けて保存しましょう。
今回はAssetsフォルダ直下に「Tolass_Kemo_Mask.png」で保存しました。

AAO Remove Mesh By Mask上でマスクテクスチャを作成します

もう一度追加したコンポーネントを見ると、作成したマスクテクスチャが割り当てられ、「作成」ボタンが「編集」に変わっていますので、「編集」をクリックして編集ウインドウ(AAO マスクテクスチャエディター)を開きます。

編集画面の下半分に「Hair」のテクスチャが表示されます。
ここで、ケモミミ以外の消したい場所を黒で塗りつぶしてください。
どこを塗るとどこが消えるかをリアルタイムで確認した場合は、コンポーネント内の「Preview」ボタンを押すと、シーンのメッシュに塗りつぶしした部分が反映します。
作業が完了したら「保存」ボタンをクリックしてマスクテクスチャを保存し、編集画面を閉じます。

Previewボタンでリアルタイムプレビューが可能です
テクスチャデータは共有できないため、スクリーンショットは掲載できませんが、
テクスチャの上部やや右側のかたまりがケモミミなので、それ以外を塗りつぶせばOKです

マスクテクスチャの作成に成功すると、シーン上にケモミミのみが残っているはずです。
「Hair」以外をクリックすると消したはずのメッシュが復活しますが、AAOとMAの機能によってアップロード時に自動的に削除されるので安心してください。

無事ケモミミを取り出せました

ここまで作業できたら、Hierarchyの「Hair_MA」をProjectタブにドラッグ&ドロップして、Original PrefabもしくはPrefab Variantを作成しておきましょう。
今後の改変の時はこのPrefabをHierarchyに置くことでケモミミを使うことができます。

3. 取り出したケモミミを別の髪形 or アバターに組み込む

2の最後で作成したPrefabを活用して別の髪形に変更したトラスちゃんにケモミミをつけてみましょう。
ここではスタジオシャーロ様のスイートハーフアップへアを例に作業してみます。

スイートハーフアップへアをプロジェクトにインポートしてHierarchyにPrefabを配置、デフォルトの髪を非表示にしてから位置調整をします。

次に、2で作成した「Hair_MA」のPrefabも同様にHierarchyに配置します。
「Hair」を選択しておけば先ほどと同様にプレビューでケモミミのみが表示されるはずです。

大きさと向きを調整した方がよさそうかな・・・?
色の調整は今回は割愛します

追加したスイートハーフアップへアはマヌカちゃん用のため、HeadボーンについているMA Merge Armatureを削除して、MA Bone Proxyを使ってHeadボーンに追従させることにしました。

MA Bone Proxyはターゲットに指定したボーンへ追従させられるので
小物などを簡単にアバターに組み込めて便利ですね

一方のケモミミは、Modular AvatarのSetup Outfitsでアバターに追従させることができます。

Module Creatorで作ったアイテムはMA対応の衣装を着せるように
組み込むことができます

ここまでできたら作業完了です。
Avatars 3.0 Emulator などUnity上でデバッグをしている人はそのツールで、もしくはVRChatにアップロードして、問題なく新しい髪の毛とケモミミがアバターに組み込まれているか、オリジナルの髪の毛が消えているかを確認してみてください。

かわいいね
座ってもちゃんと追従しててかわいいね

補足

  • 今回の方法では、Module Creatorで作成したPrefab内に、デフォルトの髪の毛を揺らすための不要になったPhysboneが残ったままになります。
    不要なPhysboneを探してVRC Physboneコンポーネントを無効化したり、不要なボーンごとEditor Onlyにするなどして軽量化も試してみてください。

  • この方法を応用すれば、パーツの一部を比較的自由にいろいろなアバターで使うことができます。規約を守ってチャレンジしてみてください。

おわりに

完全自己流のやり方なので、もっといい方法があったりするかもしれません。こっそり教えてくれると嬉しいです。

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