【VRChat】個人的アバター改変管理方法のまとめ(フォルダ管理編)
1. 概要
1.1. この記事について
この記事は個人的に行っているアバター管理方法のまとめです。
「改変したいけど何から手を付ければいいか分からない」とか、「すでに改変には手を付けてるけど、彼方此方にファイルが散らばってて管理が大変…」って人にオススメ(できたらいいなぁ)って記事です。
1.2. 何のために書いたの?
アバター改変教えるときに、まったく改変分からん!やったことない!何から手を付ければいいか分からん!ってときに「とりあえずこの記事読んで」って投げつけるために纏めました。
いっちゃえば自分が楽するためのメモ書き・ナレッジみたいなもんです。
あと「服を着せる方法」とか「表情作成・小物の出し入れ!」とかの記事はよく見るけど、ファイルの管理方法について書いてる記事ってあまりないなと思って書きました(俺の検索力の問題かもしれん)
1.3. 注意事項
仕事でUnity触ってない&PMとかやってるわけではないので、けっこう我流です。一応仕事でインフラエンジニアの端くれやりつつ日銭を稼いでいるので、多少なりともシステマチックにはしてるつもりですが、Unityとかのお行儀的な作法とは異なるかもしれません。参考にするのは自己責任で。
3. 基本的なフォルダ構成
とりあえずスクショ貼ります。
基本的なフォルダ構成をツリーで表すとこんな感じです。
個人的に重要な奴だけ書きますが、これ必要だなって感じたら増やしていっていいです。
フォルダが少ないことより自分で管理できることの方が重要です。
なお、<アバター名>_Customのフォルダはこれより"アバターごとのCustomフォルダ"と記載します。
VRChat_Work
├─10_Project
├─20_必須Package
├─30_UnityPackage
├─40_Avatar
├─<アバター名>_Custom
3.1. それぞれのフォルダの役割
10_Project
10_Projectはその名の通り、Unityのプロジェクト保存先にしているフォルダです。私の場合はアバターごとに1プロジェクト形式にしています。
プロジェクト名がフォルダ名にそのままなるので、"Test"とかいい加減な名前つけないようにしましょう。
後述しますが、テスト目的ならプロジェクトを別にするよりシーンデータを別にした方が管理しやすいし容量削減や保守性向上につながります。
ひらがな・カタカナ・漢字等の2バイト文字はシステム的に問題ないとも聞きますが、誰も対処法知らない不具合招く可能性があるのでやめた方がいいです(基本的にプログラミングの類で2バイト文字は御法度です)
20_必須Package
必須Packageのフォルダにはプロジェクト作成時に必ず使うであろう物を入れてます。例えばDynamicBoneとか(最近あまり使われないけど)
01から番号降っておくと入れる順番が分かりやすくてよいと思います。
因みに、DynamicBoneなどアセットストアから入れるものは1度でもダウンロードしていれば下記にUnityPackageがあると思います。
C:\Users\<ユーザー名>\AppData\Roaming\Unity\Asset Store-5.x
ついでなので、画面に映ってるアセットをご紹介。
主にEditor拡張が多いです。
Content Protector from Public
アバターアップロード画面から「Public」のボタンを削除するアセット。誤操作でPrivateアバターをPublic化してしまうのを防げる。
VRCHierarchyHighlighter
ヒエラルキーに背景色やアイコンを追加して見やすくできる。次のHierarchy 2とアイコンが被ってしまうので、背景色変更の機能だけ使ってます。
Hierarchy2(Unity2019のみ)
Boothじゃなくてアセットストアで配布されてるUnity拡張。⇒Githubに移ったっぽいです。前述のHierarchyHighlighterと同じくヒエラルキーの表示を見やすくするやつ。
オブジェクト間にグリッド線引けるので格段に見やすくなります。
※Unity2022だと動かないので入れないでください
VRCAvatarSecurity
専用のプログラムからOSC経由で秘密のパラメータを送信することで、アバターにプロテクトをかけるシステム。
最新のインポートアイテムに色を付けるやつ
名前が全て。一番最後にインポートor変更を加えたものをハイライトしてくれるUnity拡張。アセットインポートした後に「あれ?今入れた衣装どこに入った?」って現象に遭遇する確率が下がる。
KTMRenamer
ルートを指定すると子オブジェクトの名前を一緒に変えてくれるツール。衣装着せ替えやってると分かるんですが、「Hipsの中にHipsがいっぱい入ってるけど、どの衣装のHipsか分からない!」ってのが防げます。
VRCAvatars3Tools
名前の通りAvatar3(SDK3.0)で役に立つEditor拡張の決定版とも言えるもの。
ExpressionParameterの合体、AnimationControllerの合体などが出来ます。
イメージ的にはModularAvatarが再生ボタン押したときに自動でやっていることを手動でできる。
「自動でできた方が楽じゃね?」ってなると思うのですが、手動の方が応用が利く場面もあるのでそういうことにしておいてください。ModularAvatarはちょこっと触ったけど、Blenderで衣装弄る関係上あんまり恩恵を感じなかった…使った方が楽なんだろうけどねぇ…
VRCQuestTools
シェーダー変更などのQuest対応をやってくれるツール。
自分はこれで変換した後にPhysBone削減やFXレイヤーの再調整をしてアップロードしてます。
30_UnityPackage
ここには必須って程でもないけどちょこちょこ使うアセットを保存しておきます。主にアクセサリやアニメーションなど、"どのアバターでも使う可能性がある"って感じのアセットかつ、"必須って程ではない"って感じのアセットを保存してます。
とりあえずここにブチ込んでおいた方がダウンロードフォルダに転がしておくよりは分かりやすいです。
40_Avatar
名前の通りアバターのUnityPackageを格納してます。
後述のアバターごとのCustomフォルダを作った=改変し始めた時はそっちにPackageを移動させます。
アバターごとのCustomフォルダ
ここがぶっちゃけこの記事の本題です。9割くらいここの解説したいがために作った。
まず今メインで使ってるセレスティアちゃんのCustomフォルダは以下のようになってます。
モザイクまみれですが基本的には以下の三つが置いてます
・アバターの衣装
・Blenderのデータ(体系改変や衣装合わせ用)
・テクスチャ改変用のpsd(ダウンロードしたZipに入っているもの)
・テクスチャのpng(重要)
・プロジェクトのテクスチャフォルダへのショートカット(重要)
プロジェクト内フォルダへのショートカットの作り方
上の重要と付けてる"テクスチャのpngと"プロジェクトのテクスチャフォルダへのショートカット"が個人的にキモだったりします。
このショートカットの作り方ですが、結構簡単です。まずUnity上のProject画面上でテクスチャが格納されているフォルダを開きます。
Project画面の背景を右クリックして「エクスプローラーで表示」をクリックすると、テクスチャが格納されているフォルダが表示されます。
フォルダを右クリックして[コピー]を押します。
その後、アバターごとのCustomフォルダに移動します
(今回はF:\10_VRChat_Work\SELESTIA_Customです)
フォルダを移動したら右クリックして、[ショートカットの貼り付け]をクリックします。これでプロジェクト内にあるテクスチャが格納されているフォルダへのショートカットが出来ます。
ここまでで下準備は完了です。
続いて今作ったショートカットの使い道について説明します。
ショートカットを活用した髪色変更手順
ちょっとうまく説明できるか自信がないんですが、今まで元々髪色を水色にしていたけど、黄色にしたいなと思い立ったとしましょう。
まずpsdファイルを開いて変えたい髪色のpngファイルを出力します。
今回は金色にしてみました。
ファイルが出来たらあらかじめ作ったショートカットフォルダにCtrlキーを押しながらドラッグアンドドロップして、ファイルを上書きします。
これでUnityに戻るとテクスチャが反映されています。
※容量デカいと読み込みで待たされることがあります。見守りましょう。
上記の手法を使えばテクスチャ改変が簡単にできますし、Projectフォルダと別の場所にpngとpsdが残っているので、万が一プロジェクトが壊れたりして削除する必要が出来てもバックアップの手間が省けます。
今Unityプロジェクトに入っている物と同じテクスチャはアバターごとのCustomフォルダにありますからね。元々アバターのUnityPackageに入っている物は元に戻せますが、自分で作った物や色を変えたテクスチャは一点物です。消えたら元に戻せませんし、どこにあるのかを知っているのも貴方一人です。忘れないようにしましょう。
本来であればProjectのフォルダは別ドライブにした方が冗長性としていいのかもしれませんが、そこはアレンジしてください。
もう一つのメリットとしては、複数アバターに一度の操作で適用できるという点です。
例えば下記の画像を見てください。
縦セタとビキニパーカーを着たセレスティアちゃんが横に並んでいます。
こういう感じで複数アバターを1つのプロジェクトで管理しているときは、全部同じテクスチャを見ているので、1つファイルを置き換えると全てのアバターに反映されます。
フローで示すとこんな感じ。
全部のアバターが同じ髪色のマテリアルを使っているので、髪色のマテリアルが読み込んでいる髪のテクスチャが変更されるとデフォ衣装、縦セタ、ビキニパーカーのアバターの髪色も変わります。
「全部緑色だけど、ビキニパーカーだけ水色の髪にしたい…」って時はマテリアルを別にしてあげれば髪色が変えられます。
基本的にアバター改変については、"アバターごとに違うもの"より"全部のアバターで同じもの"の方が多いです。
■アバターごとに違うもの
・FXレイヤー
・ExpressionMenu
・ExpressionParameter(これは使いまわしても問題ないかもしれない)
■全部のアバターで同じもの
・表情のアニメーション
・共通のアクセサリのアニメーション
・テクスチャ/マテリアルなど
4.まとめ
際限なく書いちゃいそうなのでこの辺でまとめておきます。
・フォルダはちゃんと整理しよう!
ダウンロードフォルダにファイル転がして置くとか論外!
・Editor拡張入れて作業しやすくしよう!
・アバターごとに作業用のフォルダを作ろう!
今回はこの辺で。気が向いたらUnityのレイアウトとかについても書くかも。
2023/5/2追記 レイアウト編書きました
この記事が気に入ったらサポートをしてみませんか?