- *11月9日追記:(解決しました、最新版をご利用ください→)イヤカフが自分視点だと揺れない問題がありました、今日中に解決します。不具合申し訳ありません
- 画像等を順次足していきます
はじめに
本作をご利用になる前に、VRChatへアバターがアップロードできる状態のUnityプロジェクトをご用意ください。
次に、本作は商品ページに記載の下記アセットのインストールが必要です。(各バージョンは商品ページをご確認ください
- lilToon – https://lilxyzw.github.io/lilToon/ja_JP/
- Modular Avatar – https://modular-avatar.nadena.dev/ja
- Avatar Optimizer – https://vpm.anatawa12.com/avatar-optimizer/ja/
- 必須ではないですが推奨
- VRChat SDK – Avatars 3.9.0 or above
- VRChat SDK – Base 3.9.0 or above
上記のUnityプロジェクトがご用意できましたら、ダウンロードした本作のZipファイルを解凍し、.unitypackageファイルをインポートしてください。(UnityのProjectウィンドウ内にドラッグ&ドロップで読み込めます。)
UnityのProjectウィンドウ内の Assets に、GOHWORKS というフォルダが読み込まれます。
アセットを把握する
本作は、Assets / GOHWORKS / ShidareFuji フォルダに収められています。
まずはその中の Scenes / Overview ファイルを開いてみてください。アイテムの全てのバリエーションが一覧表示されます。
ユーザーが主に使用するアセットは、ShidareFuji / Prefabs に収められています。
またユーザーが変更すべきではないアセットは、ShidareFuji / Core に収められています。
アイテムをアバターに取り付ける
本作は、大きな杖を普段は小さくしてポケットに入れて、ExpressionMenuのボタンを押したら大きく戻して手に持たせる、といったことができます。
つまり、二つの状態を切り替えられるようにアバターに設置できます。
そのためには、二つの状態をそれぞれ設定する必要があります。(待機状態のみでも使えます。ボタンを押しても反応しないだけです。)
待機状態:アバターを読み込んだ時のアイテムの状態を設定する
1.
VRChatにアップロードできる状態のアバターを設置したシーンを開きます。
2.
取り付けたいアイテムを ShidareFuji / Prefabs フォルダから選びます。
3.
選んだアイテムを、Hierarchyウィンドウ内のアバターの直下にドラッグ&ドロップして入れます。そのルートオブジェクトの位置と回転が0になっていることを確認します。
(ルートとは一番上の階層のことです。下記の画像では杖を読み込んでおり、ShidareFuji_Staff_Variant_Glass_Natural と書かれている杖オブジェクトの一番上のものを指しています)

4.
アイテム直下にある IdleTransform オブジェクト の位置と角度とサイズを操作して、アバターに合わせます。(上記画像の黄色線)

この IdleTransform による調整が、VRChatでアバターをリセットしたときに最初に表示される状態です。
言い換えれば、アバターのアニメーションがオフの時に見える状態です。たとえばセーフティーを最大にしたユーザーは相手のアバターのカスタムアニメーションがオフになるため、この初期状態が見えます。
ここでは、初期状態にしたい位置と角度とサイズを設定します。
たとえば杖であればポケットに収めたり背負ったりしている待機状態、イヤーカフであれば耳につけた普段の状態、などです。逆に杖を手に持つ状態をセーフティ最大のユーザーなどにも見せたい場合は、ここで手に持つ設定にして、後述のアクティブ状態にポケットに収めたり背負う設定にします。
・重要
アイテムのルートやその他のオブジェクトを操作しないでください。必ず IdleTransform を操作してください。
(間違って操作してしまったら、Inspectorウィンドウ内のTransformの行にカーソルを載せて、右クリックして Revert で値を元に戻せます。)
・微調整
杖の太さや長さ、指輪やチャームのリングの大きさ、イヤーカフの形状など、それぞれのメッシュには調整用のシェイプキーが付いています。必要に応じてそれらをご利用ください。
Hierarchyウィンドウでアイテムを開いて、メッシュオブジェクトを選択します。そのInspectorウィンドウ内の BlendShape の値を変えてみてください。
・パーツごとのサイズ調整
本体の花と、それを繋ぐ装身具パーツ(例えばイヤカフのみ見つける部分や、杖の持ち手など)は、異なるサイズを変えることができます。上述のシェイプキーでも多少は装身具パーツのサイズを変えられますが、それよりも大きな変更が必要な場もはこの手順で調整してください。
パーツごといっても、正確には、本体の花を独立してサイズ調整できます。ですので、まずはアイテム全体のサイズを変えて装身具パーツを任意の大きさにして、その後に本体の花のみサイズを変えることで、それぞれ異なるサイズにします。
下記が具体的な手順です。ここでのサイズ調整は、上述の IdleTransform のみを操作するという制限を無視して構いません。
- まずアイテムのルート(一番上の階層、ShidareFuji_Name_Varaiant_xxx)のサイズを調整します。
たとえば耳が大きいアバターで、花の大きさを基準にしてイヤカフを耳につけようとするとパーツが小さすぎて不自然になる、という場合は、耳につけるパーツの大きさを基準にしてサイズ合わせを行います。この時に花の大きさが大きすぎたりしても、いったん無視します。パーツの方のサイズ合わせを優先します。 - 次に、Hierarchyウィンドウでアイテムのボーンを展開して、下の階層にある ShidareFuji_Core_BasePrefab オブジェクトを探します。それが花のオブジェクトですので、そのサイズを調整します。花だけのサイズを変えることができます。
- ここでのサイズ調整は、待機状態とアクティブ状態の両方に適用されます。
・左右について
いくつかのアイテムは、初期状態で左右が定まっています。たとえばイヤーカフや指輪は、左側につけることを想定してつくっています。
この左右を反転させるには、IdleTransform の Scale / X の値に -1 を掛けます。たとえば今の値が 3.2 なら、そこに続けて *-1 と入力すると(つまり入力欄に 3.2*-1 と書く)、値がマイナスになって左右が反転します。
・Tips
どのようにお使いいただいても自由なのですが、思い切って花を大きめにつけることをおすすめします。
5.
位置と回転とサイズの調整ができたら、アイテムをアバターのボーンに紐づけます。
IdleTransform を選択してInspectorウィンドウを開くと、 MA Bone Proxy コンポーネントが設置されています。
その詳細設定を開いて、Bone references から取り付けたいアバターのボーンを指定します。たとえば耳に着けるならHead、手に付けるならLeft Hnad、などです。
・Humanoidではないボーンに紐づける
取り付けたいボーンがHumanoid(アバターの人体の基本ボーン)ではない、髪の先端やバッグのものなど場合は、下記手順を行います。たとえばボーンを含んで動かせるバッグに、チャームを取り付けたい場合は、バッグの動きにチャームも追随させるには、バッグのボーンの配下にアイテムを直接入れます。
- アイテムを取り付けたいボーンの下の階層に直接入れます。
- IdleTransform についている MA Bone Proxy コンポーネントを無効化します。
6.
これで、アイテムを Expression Menuで操作しない場合の設定は終わりです。次はボタン操作する場合の設定をしましょう。
アクティブ状態:メニューでボタン操作した時のアイテムの状態を設定する
本作は、Expression Menu の Switch Hold / 保持切替 ボタンを押すことで、アイテムを持ち替えたり、位置などを変える設定ができます。
1.
アイテム直下の Constraintsオブジェクト をクリックしてInspectorウィンドウを開きます。

2.
Inspector内には VRC Parent Constraint と VRC Scale Constraint という二つのコンポーネントが入っています。それぞれの Sources / Element 0 と Element 1 の Weight の値を入れ替えます。
- 最初は Element 0 の Weight が 1、Element 1 の Weight が 0 になっています。これは Element 0 が先述の IdleTransrom を指していることを意味します。
- ここで Element 0 のWeight を 0, Element 1 のWeight を 1 に、入れ替えるように設定します。Element 1が、後述の ActiveTransform を指しています。
3.
アイテム直下の ActiveTransformオブジェクト の位置と角度とサイズを操作して、アバターに合わせます。(手順や注意事項は、先述の IdleTransform と同じです。)


この ActiveTransform による調整が、Expression Menuでボタンを押した時に表示される状態になります。
たとえば、背負っていた杖を手に持たせる、耳につけたイヤーカフを手に持たせる、などです。
・重要
アイテムのルートやその他を操作しないでください。必ず ActiveTransformを操作してください。
4.
位置と回転とサイズの調整ができたら、アイテムをアバターのボーンに紐づけます。
5.
これで、アイテムを Expression Menuで操作した場合の設定は終わりです。おつかれさまです
IdleTransform と ActiveTransform での操作では、位置や回転だけでなく、サイズも調整できます。たとえば手に握る大きな杖を、普段は小さくしてポケットに入れたり簪にしたりする、というように、発想次第で自由に設定できます。
負荷を下げる(先行版
冒頭で指定した Avatar Optimizer(移行AAO)を用いて、VRChat上での本アイテムの処理負荷を下げることができます。(まず Avatar Optimizer をインストールしてください。
先行版のアイテムは、本体の花と、装身具パーツを色々と組わせられるように、分離させた構造をしています。それら分かれたものをAAOで統合して、低負荷化させます。
ただしこの作業を行うと、このアイテムの表示と非表示をExpression Menuで切り替える機能を使えなくなります。(アイテムは非表示にできなくなります。
1.
アバターの直下に、空のゲームオブジェクトをつくります。名前は何でもいいのですが、AAO_MergeMesh など意味が分かる名前をつけます。
そのオブジェクトの Inspectorウィンドウを開いて、AAO Merge Skinned Mesh コンポーネントを追加します。
そのコンポーネントに、アイテムのメッシュを割り当てることで、Skinned Meshやマテリアルを統合することができます。この先の作業のために、Inspectorウィンドウの右上の錠マークをクリックして、このウィンドウを固定化させておきます。
2.
統合したいアイテムの階層を全て開きます。たとえばイヤーカフと杖とチャームをつける場合、Hierarchyウィンドウでそれぞれのオブジェクトの左側の三角アイコンを Alt + クリック して、全ての階層を開きます。
開いたオブジェクトの上から下までを Shift + クリック で一括選択して、先述のInspectorウィンドウ内の AAO Merge Skinned Mesh 内の スキンメッシュレンダラー と書かれたところにドラッグ&ドロップします。
すると Skinned Mesh が自動的に割り当てられます。
作業が終わったら錠マークを解除しておきます。
3.
Inspectorウィンドウ内の上部にある、Skinned Mesh Renderer コンポーネントに、Root Bone と Anchor Override を割り当てます。
Root Bone と Anchor Override は、アバターのボディなどのメッシュを選択肢して Inspector ウィンドウを開くと、同じ項目があるはずです。それと同じものを割り当ててください。
以上で低負荷化は終了です。