![見出し画像](https://assets.st-note.com/production/uploads/images/160761296/rectangle_large_type_2_0d362f033e501b7f2965ba96dcb4cf9d.jpeg?width=1200)
Resoniteでの「服の着せ方」をVRChat(Unity)風に理解してみようのメモ
はじめに
この記事は「VRChatでは服を着せられる」が「Resoniteでは服を着させられない」人向けに書かれています。なので、ある程度VRChatでの知識が必要です。(特にArmatureを手動で紐付けする作業は、便利なツールがある今のVRChatでは知ってる人が少ないかも?)
加えて、ResoniteでのDev Toolを含めた基本操作の知識が必要になります。(本記事では基本操作の解説は省略しております…。)
今回は対応衣装を着せていくので、アバター『フォシュニア』と対応衣装『【フォシュニア専用】ドラゴンジャケット』を使って解説していきます。
また、今回この記事を書くにあたって、以下の記事をとても参考にさせていただきました。
①下準備その1~モデルのインポート(Resoniteのみ)
1.アバターを用意して、動作させられるまでセットアップを済ませます。ここでは解説を省くので、以下を参照ください。
2.服のモデルをインポートします。
服のモデルのFBXファイルをResoniteのウインドウにD&Dすると、モデルインポーターというウインドウが出てきます。そして、モデルインポーターを次の設定で進めていきます。
3Dモデル
↓
一般的なほとんどのモデル
↓
自動スケール(で良いと思う)
↓
高度な設定
・マテリアルを「XiexeToon」に設定
・「IKをセットアップする」のチェックを外す(※服がアバター用の判定になっておかしくなる)
・「アセットをオブジェクト内に入れる」にチェックする(※詳しく言えば任意の項目ですが...このあとの説明の都合上、今回はチェックを付けた場合として話を進めます)
![](https://assets.st-note.com/img/1730828179-RykdtmJuqGwLvKsxOjnUraZQ.jpg?width=1200)
![](https://assets.st-note.com/img/1730828666-Ze6osUV7PATL39Mg0mfHq5Yn.jpg?width=1200)
これで服のモデルがインポートできたはずです。ここではまだテクスチャが貼られておらず、モデルは真っ白ではないかと思います。
[今回のポイント!]FBXのHierarchy上での階層構造の見え方の違い
VRChatユーザーではおなじみのUnityでfbxをHierarchyに置いたとき、アバターの階層構造は以下のように表示されます。
・アバター.fbx
Armature(ボーン)
Body(メッシュレンダラー;メッシュやマテリアル等を参照し実装するもの)
Hair(メッシュレンダラー)…etc
・服.fbx
Armature(ボーン)
Cloth1(メッシュレンダラー)
Cloth2(メッシュレンダラー)…etc
![](https://assets.st-note.com/img/1730813711-7q0bWRsGzXMj3L1g5HcfrDhi.png?width=1200)
一方、Resoniteで同じものをインポートすると、シーンインスペクター(=Resoniteのシーンインスペクター左側、UnityのHierarchyに該当)では以下のように表示されます。
・アバター.fbx
CenteredRoot
Assets
Mesh(メッシュ)
Mesh(メッシュ)
Material: Body(マテリアル)
Material: Hair(マテリアル)…etc
RootNode
Armature(ボーン)
Body(メッシュレンダラー;UnityのBodyと同じもの)
Hair(メッシュレンダラー;UnityのHairと同じもの)…etc
Head Proxy(アバターの構成ファイル)
Hips Proxy
Chest Proxy…ect
![](https://assets.st-note.com/img/1730818360-0dfkcStv8VIJyopDLgKhjbei.jpg?width=1200)
・服.fbx
Assets
Mesh(メッシュ)
Mesh(メッシュ)
Material: Cloth1(マテリアル)
Material: Cloth2(マテリアル)…etc
RootNode
Armature(ボーン)
Cloth1(メッシュレンダラー;UnityのCloth1と同じもの)
Cloth2(メッシュレンダラー;UnityのCloth2と同じもの)…etc
![](https://assets.st-note.com/img/1730818374-sSH4gzf9C1c8yUMjw7qJNpYl.jpg?width=1200)
ここらへんの詳しい説明は大変なので割愛しますが…、ざっくり言えば『黒文字』のところはUnityと対応しています。
たとえば『服(Clothes)』のオブジェクトをそれぞれUnityとResoniteで非表示にしてみます。
![](https://assets.st-note.com/img/1730822394-P7UaExkflFcrBLGmuhQz1JCj.png?width=1200)
![](https://assets.st-note.com/img/1730822409-Roj54YkmO1dlCMGUJBL9xfIe.png?width=1200)
![](https://assets.st-note.com/img/1730822481-yg3pzbTnjVA6qHDakwFJiU8Z.jpg?width=1200)
![](https://assets.st-note.com/img/1730822485-LA0cHlZzaBbTXDm2OGivCSj4.jpg?width=1200)
すなわち、黒文字の部分を意識しておけば、Unityと同様の操作で服やアクセサリーを付けることができます。ただし、マテリアル部分に関しては「Assets > Material:」の部分で設定します。(Unityとは違ってメッシュレンダラーの付いているオブジェクトから直接マテリアルを編集できません)
(ResoniteでのFBXの中にあるAssetsは、モデルインポート時の「アセットをオブジェクト内に入れる」によって発生した、言わばUnityで言うところのAssets(Projectタブの中身)のようなものです。マテリアルもUnityではAssets中のフォルダに入ってますね。今回の作業ではあまり気にしなくて大丈夫です。)
②下準備その2~プロテクション等の設定(Resoniteのみ)
服モデルを保護するために、プロテクション(SimpleAvatarProtection)をかけます。まずはFBXを選択し、「コンポーネントをアタッチ」を押します。出てきたウインドウから「Users > CommonAvatarSystem > SympleAvatarProtection」を選択します。するとプロテクションがかかります。
![](https://assets.st-note.com/img/1730829136-niC4ebwqFSNTpIh2EH6PvrUz.jpg?width=1200)
![](https://assets.st-note.com/img/1730829260-7M81x9vamutp26YTorJizCqW.jpg?width=1200)
![](https://assets.st-note.com/img/1730829264-0Ikq7lAumZJzsiFyYRLC1WSd.jpg?width=1200)
これをRootNode内のArmature以外のもの(=メッシュレンダラーが付いているオブジェクト)にも同様に設定します。
![](https://assets.st-note.com/img/1730829302-2UOel8c4A06tQumgwNqY3yhI.jpg?width=1200)
次にUniPocket、もしくは以下のURLをResoniteにコピペしてAvatarSetupHelperを取り出し、服のコライダーの除去と、このあとの作業がしやすいようにオブジェクトのネーム部分の着色をします。(ResoniteではこういうURLをコピペするとアイテムが取り出せます。)
resdb:///d97f523c13aca36ae3a25cd943af3a2c87926d6a11c7a8dcbaadba5f15511b75.brson
![](https://assets.st-note.com/img/1730829374-oie7khK3WT8f60nzGlvIXH5t.jpg?width=1200)
![](https://assets.st-note.com/img/1730829388-FJzkylsoa9HNWgQAvDp3Z80I.jpg?width=1200)
服のFBXに設定されている「Grabbable」を削除し、下準備は終了です。
![](https://assets.st-note.com/img/1730829450-DVrHFdvjmG8456Ot3J1qwpXk.jpg?width=1200)
③服のマテリアルを設定する(Resonite)
インポートした状態では画像が設定されていないので、『服.fbx > Assets > Material: Cloth』に該当する部分でマテリアルの画像を設定しましょう。
また、服の裏側も見せる場合はCullingをOFFにしましょう。(初期状態のBackでは、表面しか表示されません。)
![](https://assets.st-note.com/img/1730826088-T1aJDmRyz8IKGfNctLvUMopB.jpg?width=1200)
![](https://assets.st-note.com/img/1730826095-bv2chYuAzU7aPRVZFGiMsIDo.jpg?width=1200)
![](https://assets.st-note.com/img/1730826255-VupIPn2X7DjhzvGrsfxWl5dR.jpg?width=1200)
④アバターと服の位置を揃える
服の位置や大きさを調整し、アバターに合わせます。
Unityでは対応衣装の場合は既に大きさや位置調整がされていると思いますが、Resoniteでは位置の微調整が必要かもしれません
Unityの場合
![](https://assets.st-note.com/img/1730823154-BC8xkYSzLeUfbN4FQXo15uj7.png?width=1200)
![](https://assets.st-note.com/img/1730823169-lvC35oyYTbQGfM6Ekz2naxig.png?width=1200)
(元から調整済みで位置もピッタリだったので、あくまで画像はイメージ)
Resoniteの場合
まず、アバターをTポーズ(またはAポーズ)にしましょう。FBX内の『IKPositionWeight』を0にします。
![](https://assets.st-note.com/img/1730826876-TZ4eItAa6wRhy8D5SWKM7rQf.jpg?width=1200)
![](https://assets.st-note.com/img/1730826881-jH9UvZDs8XbSzkPYWCe4NAxg.jpg?width=1200)
次にアバターと服の位置を揃えましょう。アバターと服の『リセット』のところにある『位置』『回転』『拡大/縮小』のボタンを押します。するとアバターと服の位置等の値がリセットされ、それぞれがワールド原点に揃います。(アバターのPositionに揃えても良いとはおもいますが、ワールド原点に揃えてしまうのが楽だと思います。)
![](https://assets.st-note.com/img/1730827050-svKewBGU3lhicW2uTmF169pf.jpg?width=1200)
ワールド原点には揃いましたが、アバターに対して服の位置がズレているので、ここで服の位置を調整します。
![](https://assets.st-note.com/img/1730823489-sbxzZ0wvOPytGD2QNlkFJn9B.jpg?width=1200)
![](https://assets.st-note.com/img/1730823494-JkAcT5UYlK78IzsMhgW3Gv10.jpg?width=1200)
⑤アバターのFBXファイルに、服のFBXファイルを入れる
服を追従させる第一歩です。アバターに服を取り込むため、アバターのFBXファイルに、服のFBXファイルを入れます。UnityもResoniteも同じです。
Unityの場合
![](https://assets.st-note.com/img/1730824170-FCEahzbLU6itPg1v2KrV4fX8.png?width=1200)
Resoniteの場合
![](https://assets.st-note.com/img/1730824223-5s8KUcSDdBguw3JOm9IHnRQl.jpg?width=1200)
![](https://assets.st-note.com/img/1730824232-Z4zxj3CmFfEQBI6PDkXcbspe.jpg?width=1200)
[余談]このままアバターを動かすと...?
アバターに服自体はくっついてきますが、ボーンとの関連付けができていないので、袖などは動きません。初心者が陥りやすいミスです。
![](https://assets.st-note.com/img/1730824579-QCsIAlDwSKqJahHBX1mzYV53.jpg?width=1200)
![](https://assets.st-note.com/img/1730824562-zjRaTOG3qJ6vpDE9A5osQMBH.jpg?width=1200)
⑥アバターのボーンに服のボーンを追従させる
アバターのArmatureの中身に、服のArmatureの中身を入れていきます。アバターの『Hips』の中に服の『Hips』を、アバターの『Spine』の中に服の『Spine』を入れて、入れ子構造にします。同名のボーンを全てそのようにします。とても手間がかかりますが、これが正攻法。
Unityの場合
![](https://assets.st-note.com/img/1730824742-CxlbPuKrVBjFydsY4GUoRkEq.png?width=1200)
Resoniteの場合
![](https://assets.st-note.com/img/1730824904-NF0RTGvYsK98Ui7O53xdAhmM.jpg?width=1200)
![](https://assets.st-note.com/img/1730824913-OdgLozP4ueAXkHS0nbD2lBrZ.jpg?width=1200)
⑦(ResoniteはIKPositionWeightを1に戻して…)これで完成
VRChatではこれでアバターをアップロードして完成ですが、Resoniteにはもうひと仕事あります。
アバターをTポーズ(またはAポーズ)にするために切っておいたIKPositionWeightの値を1に戻します。これでアバターが服と一緒に動くはずです。
![](https://assets.st-note.com/img/1730825368-wcpmqkK7JSgTDU2FuyQCIx8a.jpg?width=1200)
![](https://assets.st-note.com/img/1730825386-wK02ifUSlstXqOrdDL4vIacY.jpg?width=1200)
![](https://assets.st-note.com/img/1730825393-4IHnXqNFC8t5cJz0wgWQUlr9.jpg?width=1200)
[余談]Resoniteにも『キセテネ』みたいなのってある?
アバターのArmatureに服のArmatureを入れていく作業ですが、とても面倒ですよね…。
VRChatには『キセテネ』に代表されるような、そこらへんを自動でやってくれるものがあります。
Resoniteにも同じように自動化してくれるものがあるので、一例を紹介します。
●着付け支援ツール
UniPocketの「Avatar Setup Tools」から「着付け支援ツール」を取り出します。「Avatar Setup Tools」は以下のURLからも取得できます。
resdb:///37e3683e016f2853a2ba33540e4f352dac751f068b95ae4412b79d54efa4c037.brson
「⑤アバターのFBXに服のFBXを入れる」を終わらせたら、「Avatar Setup Tools」指示通りにアバターのArmatureと服のArmatureをスロットにD&Dします。
ボーンの名前がアバターと合ってることを確認して、あとは実行すれは、自動でArmatureの紐付けをやってくれます。便利!
![](https://assets.st-note.com/img/1730827853-97G86RHc2hqTUMAm0EyzLr1e.jpg?width=1200)
![](https://assets.st-note.com/img/1730827859-1Nw8pKLjRHXxYnlTQfas5rGq.jpg?width=1200)
![](https://assets.st-note.com/img/1730827864-BtcQFrvYz7I5dkq86HRwG4Ce.jpg?width=1200)
![](https://assets.st-note.com/img/1730827868-58oOr6GCeSls3fzVZBky9HUP.jpg?width=1200)
おわりに
今回、私自身がアバターに服を着せた記録として、この記事を書きました。実際に理解した後の感想としては「Unityとやってることが変わらない」ことです。コンポーネントの追加や削除はあれど、「位置をあわせて」「アバターのFBXの中に服のFBXを入れて」「Armatureを紐付けさせる」という大きな流れは変わりません。
やや長めの記事になってしまいましたが、VRChatでアバター改変をしたことがある人なら問題なくできる作業であると考えています。もし興味がありましたら、ぜひチャレンジしてみてください。
ととやま
Resoniteでの「服の着せ方」をVRChat(Unity)風に理解してみようのメモ|ととやま #note #Resonite https://t.co/NYMJfjMaqi
— ととやま_VR (@ketowatary_vr) November 6, 2024
ResoniteをVRChat風に理解してみる第二弾です。実際にやってみると「これVRChatと同じじゃん!?」ってなったので、VRChatユーザーがわかるように文章化してみました。