【VRChat】アバター改変で「衣装がアバターに追随する原理」と「非破壊の改変」について(Unity)
のとのと

こんにちは、のとです!

アバターのデフォルト状態のアップロードが終わったら、次は好きな衣装を着せたくなると思います!

アバターに衣装を着せる方法はいくつかありますが、大本の原理は同じものになっています。

そこで

・衣装がアバターに追随する原理

・アバター改変を始める前に覚えておいて欲しい”非破壊の改変”

について説明をします!

なお、この記事は主に原理などに関しての説明となっており、途中で紹介している【衣装のボーンを手動でアバターのボーンに入れる】という方法は、現在推奨されている方法ではありません。

基本的に、衣装を着せる場合は下記の記事の方法をおすすめしています!

~~現在記事作成中です。もう少々お待ちください~~

衣装がアバターに追随する原理

VRChatは日々、色々な人が改変が楽になるようなツールを作ってくれています。

その為、昔と現在では主流となる改変方法が大きく変わっていますが、根本の原理は変わっていません。

そこで、この原理について簡単に説明をします!

なお、衣装の導入方法やprefabなどについての説明はこの記事では割愛させていただきます。

“ボーン(Bone)”とは

原理についての説明を始める前に、まず前提となる“ボーン(Bone)”について説明します。

ボーンとは文字通りアバターの骨格となるもので、すべてのアバターに存在しています。

構造を大まかに分類すると、人型のHumanoidとそれ以外のGenericがあります。

今回は人型のHumanoidについてのみ説明します。

アバターのボーンはUnity上だと、左側「Hierarchy」欄のアバターを展開した中にある「Armature」の中に格納されています。

アバターのボーンのみを表示させると下記の画像のようになります。

なんとなく腕や足、髪型といった形が分かると思います。

また、各種ボーンは親と子の関係になっており、アバターにより名称などは若干異なりますが基本的な構造は下記画像のようになっています。

まず一番上に「Armature」があり、その子として「Hips」(腰)があり、さらにその子として「Spine」(背中)や「Leg」(脚)があり、そしてさらにその子として…といった形で構成されています。

そして子のボーンは、親のボーンの位置や大きさが変わるとその影響を受け、同じように移動・変形します。

と言っても最初は難しいと思うので、Aの下にBがあった場合(A:親、B:子)、Aを動かすとBも同じように動く!とだけ覚えてもらえれば大丈夫です!

アバターの体はこのボーンに従い、Spine(背中)を動かすと連動してChest(胸)やArm(腕)なども動くことで実際の人の動きを再現しています。

衣装がアバターの動きに追随する原理

先ほどアバターのボーンの話をしましたが、これはアバターだけでなく衣装にも設定されています。

そして対応衣装の場合、衣装側のボーンの構成もアバターのボーン構成と同じようになっています。

つまり、衣装がアバターの動きに追随する原理は、衣装のボーンがアバターのボーンと全く同じ動きをすること!になります。

衣装のボーンをアバターのボーンに入れていく方法(非推奨)

それでは衣装のボーンがアバターのボーンと同じ動きをするようにさせる方法を説明します。

なお、ここで説明している方法はアバターの内部構造を変更してしまうため、他の方法でうまくいかない時の最終手段と思ってください。

今回はJINGOさんの「マヌカ」ちゃんとSiromoriさんの「Urban Tech Obsidian」を使って説明していきます。

なお、アバターや衣装のインポート方法は今回は割愛させていただきます。

まず、衣装のprefabをHierarchy内のアバター直下にドラッグアンドドロップで配置します。

この状態でアップロードをした場合、服のボーンがアバターのボーンに追随しないため、下記画像のように服がTポーズのままになってしまいます。

そこで衣装側のボーンを移動させ、アバターの対応する位置のボーンの子にしてあげます。

図で説明をすると、下記のようにアバターのボーンの下に衣装の同じ位置のボーンが入っている構造になります。

それでは実際にやっていきます。

まず、衣装のprefabを右クリックし「Prefab」→「Unpack Completely」を選択します。

これは、衣装の中身を意図せず動かさないようにかけられているロックを解除するために行います。

その後、衣装側の「Armature」アバター側の「Armature」の下にドラッグアンドドロップで移動させます。

移動させた「Armature」には緑色の+マークがついているので分かりやすくなっています。

続いて、衣装側の「Armature」の中にある「Hips」アバター側の「Hips」の下にドラッグアンドドロップで移動させます。

同様の手順を衣装に存在するすべてのボーンに対して実施することで、衣装がアバターに追随するようになります。

…正直この方法は手間がかかり、アバターの内部構造を破壊し、間違えやすい上にどこが間違っているかを探すのも大変です。

そのため、現在はツールを使って上記の手順を自動で行う方法が一般的です。

ぜひツールを活用していきましょう!

“非破壊の改変”とは

上記で説明したアバターに衣装を着せる際に、アバターのボーンの内部に衣装のボーンを入れました。

これはアバターのボーンの内部をいじる為破壊的な改変となっており、アップロードができなくなったり挙動がおかしくなったりする可能性が高いです。

その為、現在はアバターのデフォルトのボーンやメニューは触らずに、ツールを用いてアップロード時に自動的に追加されるようにする方法が一般的となっています。

ここで注意してほしいのが、衣装を着せるツールには種類があり、ツールによっては衣装のボーンをアバターのボーンの直下に移動させるだけで、破壊的な改変を実施するものもあります。

そのため、まずは下記で紹介しているものを使用するようにしましょう!

<Modular Avatar>を活用しよう!

その自動で行ってくれるツールは、「Modular Avatar」(下記MA)というものです!

導入方法は下記記事にて説明しています!

MAはUnityのPlayモードに入ったりアバターをアップロードするまでは、アバターの内部構造を変更することはなく、アバターのここに連動します!やこういった動作をします!といった情報を入力するのみとなっています。

アップロードをすることで衣装内部のボーンをアバターのボーンに追随させたり、メニューを追加したりといった処理を実施します。

MAであれば、衣装を着せるのもアバター直下に衣装を入れワンクリックするだけ、やめる場合はその衣装を削除するだけでできます!

衣装を着せる際の具体的な操作方法については下記記事にて解説しています!

~~現在記事作成中です。もう少々お待ちください~~

現在販売されている衣装やツールはMA対応しているものも多いので、ぜひ活用していきましょう!