下準備
本走前に全衣装共通の素体改変やらアクション系の改変は済ませておきましょう。ついでに、空のGame Objectを追加して改変アイテムやメニュー、メニュー追加用Prefabの置き場を作ってPrefab Variantを作っておくと良いです。
主なツール群
テンプレートを作っておくとプロジェクト作成ごとにインストールする手間がなくてとても良いです。定期的にテンプレート内のアセットを更新すること。
Modular Avatar
AvatarMenuCreater
Kisetene for MA
Gesture Manager
Floor Adjuster
VRCQuestTools
ContinuousAvatarUploader
本走
衣装の追加
準備ができたらScene上にある素体をコピー・適当にリネームしてタイマースタートです。
まずは着せたい衣装をアバター内に放り込みます。何を着せたいか分からなければ手持ちの衣装やアバターを片っ端から放り込んでピンとくる奴を採用してください。今回は別アバターのデフォルト衣装を着せてみましょう。
既存アバターから衣装を剥いで着せるのであれば、まずはそのアバターのPrefab最上位にあるVRC Avatar Descriptorやその他Componentが邪魔なのでRemove Componentしましょう。Transformのみ残るようにしましょう。その後、衣装アバターを右クリック→ModularAvatar→Setup Outfitをします。これで着せ替えの仕込みは完了です。
(なお、一部アバターはボーン構成にLegやらKneeやらの名前が使われていてModular Avatarがうまく動作しないことがあるので、そういう場合は手動で素体アバターのボーン名に合わせましょう。大抵、UpperLegからToeまで全部変える羽目になるので面倒です。がんばれ。)
不要なメッシュの削除
さて、無事Setup Outfitができたら次は「衣装」に不要なメッシュが含まれているので消していきましょう。不要なものをすべて選択してInactive(チェックオフ)かつEditor OnlyにしてしまえばOKです。Unpack Prefabしてオブジェクト自体を消すのはあんまりお勧めしません。位置・サイズ調整をミスした時にデフォルトの値にRevertできなくなるので。
自動調整の試行
ここで衣装のArmatureを選択します。Setup OutfitによりMA関係のComponentが追加されていますね(MA Merge Armature)。「位置を元アバターに合わせてリセット」を展開して「実行」してみましょう。いい感じに衣装が合わせられていれば運がいいですねおめでとうございます。素体のシェイプキーで対応できる範囲であればシェイプキーに頼って調整終了としましょう。
手動調整
うまく合わせられてないような感じがしたら観念して手動で調整しましょう。Undoして、大体Hips回りが合うように衣装全体のスケールを変えます。前後位置もHips基準でいい感じに合わせましょう。
次は上半身を調整する上ルートと下半身を調整するしたルートがあります。どちらを先に攻略するかはお好みで決めましょう。
手動調整・下半身
下ルートから。タイツ系の衣装を着せようとしているあなた。シェイプキーで下ルート終了です。
ソックス系のメッシュは、本当にそれを使わないとダメか胸に手を当てて考えましょう。対応服のいい感じのソックスが流用できるかもしれません。さもなくばBlenderを触る覚悟をしておきましょう。私はしませんしたくありませんそんな面倒ごと。ちなみにBlenderを触るにしても、既存メッシュを調整するより素体ベースでメッシュを作ってUV振ったほうが早い可能性があるので参考まで。
靴に関しては、LowerLeg~Foot辺りのXZ方向リサイズと位置合わせしましょう。下ルートはそんな感じで。
手動調整・上半身
上ルートに行きます。肩を少し超えるくらいまでChestをY方向に上げます。X幅はいい感じに合わせましょう。Z幅はアバターによって結構まちまちなのでシェイプキーを絞る素振りをしておきましょう。
衣装のNeck, Shoulder.L, Shoulder.RにMA Merge Armatureを追加します。「統合先」に素体のボーンを指定して、「位置を元アバターに合わせてリセット」します。なぜかエラー(例外)を吐かれることが多いのでチェックは全外しで。ここを合わせておくことで、手首回りなど違和感なく動く印象です。
したらば、肩~袖にかけて太さや位置を調整します。スケールを掛けたり、Kisetene for MAで角度調整したりすると良い感じです。上ルートもおしまい。
靴による高さ調整
着用する靴によっては高さ調整をしないと床に埋まるので、素体のArmatureにFloor Adjusterを追加して床の高さを調整しましょう。
動作確認
ここまで来たらGesture Managerで動作を確認しておきましょう。素体のマテリアルをNoneにするとエラー色で貫通が分かりやすいです。貫通する場合は再調整しましょう。
表示・非表示アニメーションの追加
衣装によってはオプションで表示・非表示を切り替えるギミックが欲しくなるかもしれません。AvatarMenuCreaterの力で解決してください。必要に応じて、生成したPrefabで追加されるメニューの初期値をオンにしておきましょう。私はON表示派です。
また、特に何も設定しないとメニューの追加先はExpression Menuのトップになるので、「衣装メニュー」を作っておきましょう。もちろんMA Menu Itemで。タイプ: Sub Menuでサブメニュー引用元:「子オブジェクトから生成」に設定します。生成したPrefabをアバターに追加した後、それらすべてのMA Menu Installerのインストール先が上記メニューになるように設定しましょう。
アップロード
動作確認して問題なければ、PC版としてアップロードしましょう。その後、成果物をPrefab Variantとして保存しておきます。
Quest版対応
Quest版対応は、VRCQuestToolsを通します。PBは取捨選択ができるならしてもいいですが面倒な場合は全消しで。
表情などで半透明マテリアルを使用している場合は、海苔弁を受け入れるか表示しないようにするか選択しましょう。VRChat/Mobile/Particles/Multiplyあたりを設定しておくと、とりあえずQuest向けに出力できます。このシェーダーはワールド向けなのでアバターだと無視された記憶。
設定が完了したら、Quest版のPrefab Variantを別途保存しましょう。
その他
Continuous Avatar Uploaderを設定しておくと、素体の変更後に全衣装に対して連続でアップロードできるのでちょっと楽になるかも。ProjectでCreate→Avatar Upload Setting Groupを2つ追加して、それぞれPC向け、Quest向けのアバターを追加しておきます。
あとがき
最近の改変手順について備忘録的に書いてみました。Unity調整で済むならそれに越したことはないですね。面倒な部分は、Chest周りとLowerLeg周りじゃないでしょうか。
作業を爆速で終わらせる方法。考えない(あらかじめ手順化しておいて考える余地をなくす)ことだと思います、ハイ。あとは、ツールとは面倒ごとを減らすために存在するものなので、ツールごとの内容をざっくり理解したら積極的に手順を減らしていきましょう。
ここまで書いてみたけど、この記事を読める人はこの記事を読む必要がない人なんじゃないでしょうか?知らんけど。
まぁ備忘録なので。