Skip to content

Instantly share code, notes, and snippets.

@kaikoga
Created February 18, 2023 05:25
Show Gist options
  • Save kaikoga/26a6dc0f6ea2bcfa6421513eca842783 to your computer and use it in GitHub Desktop.
Save kaikoga/26a6dc0f6ea2bcfa6421513eca842783 to your computer and use it in GitHub Desktop.

Original text is https://gitlab.com/VRCFury/VRCFury/-/blob/main/README.md of revision bee07fddad72ecee3469a96b32e3d08cb03020d0. Absolutely unofficial translation by kaikoga.

VRC Fury - 全部入り VRChat アイテム・着せ替え・表情エディタ

アニメーションやメニュー設定で消耗せずにトグルスイッチ・表情・スライダー・着せ替えなどを簡単設定! ドラッグ&ドロップ一発で簡単アバター改変!

サポート

Join the VRCFury discord!

主な機能

  • かんたん
    • UnityのシンプルUIでトグルスイッチ、表情、アイテム設定などを設定できます。
  • アニメーションのレイヤーやメニューの編集が不要
    • アニメーションコントローラーやエクスプレッションメニュー、同期パラメータの設定はVRC Furyが自動生成します。
  • アセット製作者に最適
    • プレハブにVRC Furyの設定を埋め込めます
    • アバター用アクセサリーをメニューから操作するための各種設定を込み込みで配布できます。
    • 「このレイヤーをFXにコピーしてください」は終わり! VRC Furyを使っている人はプレハブをプロジェクトに追加してアップロードするだけ!
    • 詳細はこちら VRCFury for Artists
  • アニメーションの絶対パスが不要
    • VRC Furyのアクセサリープレハブに使われているアニメーションクリップは、ヒエラルキーのどこに置いてもちゃんと動くように自動で修正されます。
    • プレハブのルートを基準にアニメーションクリップを書けば、 VRC Fury がそれをアバターに組み込む際に書き換えてくれます。
  • アニメーションを作るのめんどくさい!
    • GameObjectやブレンドシェイプをトグルしたいだけ?大丈夫!
    • VRC Fury だけでトグルスイッチが作れます。アニメーションクリップを触る必要なし!
  • 表情、アイドルアニメーション、などなど!
    • Fury は着せ替えだけじゃありません。私(訳注: Senky さん)のアバターで使われている全てのアニメーションレイヤーを生成可能!満足できないお方はご連絡ください、サポートするかも!
  • 既に改変済みのアバターですか?
    • アニメーション設定済みのアバターも VRC Fury で扱えます。
    • 既存のアニメーションレイヤー、パラメータ、メニューは触らないため、あなたのギミックもそのまま使えます。
    • つまり、TPSやVRCLensが設定済みでも勝手に消しません!
    • VRCFury はアバターアップロードの際に働きます。あなたのアバターのコピーを作成して、追加した改変が適用されたものをアップロードします!つまり、あなたのアニメーションコントローラーを勝手に触らないので、改変が微妙だったら単に改変した部分を削除すれば次のアップロードでは元通りです。
    • 補足:VRC FuryはWrite DefaultsがONとOFFのいずれの場合でも動きます。
  • Write Defaultsの苦しみを解放せよ
    • VRC Furyが生成するアニメーションレイヤーはシーン上のアバターの状態や、使われているアニメーションクリップの中身を読み取って初期状態を生成します。「ON」と「OFF」のアニメーションクリップを両方作らなくても、「ON」だけ作れば大丈夫!
  • 続々追加予定
    • 非破壊なアバター編集機能を続々VRC Furyに追加予定!アップデートにご期待ください!

インストール方法

  • (アップグレードの際は)VRCFuryフォルダが既に存在していたら削除
  • 最新のVRCFury Unity Packageをここからダウンロード
  • ダウンロードしたパッケージをプロジェクトウィンドウ(フォルダが並んでる場所)にドラッグ&ドロップしてOKを押してインポート
  • アバターアクセサリーの説明書に書いてあったのでVRC Furyをインストールした人は
    • 作業は完了です!アバターアクセサリーの導入手順に従ってください。
    • ここから下は自分でVRC Furyの設定をする人向けの手順です。
  • アバターのGameObjectを選択して Add ComponentVRC Fury をクリック
  • コンポーネントの + を押して VRC Fury のフィーチャーを追加します。それぞれのフィーチャーについての説明は フィーチャー セクションを読んでください。
  • 終わりです!「ビルド」するために必要な操作は特にありません。アバターをアップロードするたびに、VRC FuryがFXレイヤーやVRCメニューやパラメータを自動で更新します。

アップグレード

  • Unityの ToolsUpdate VRCFury をクリック
  • 何かエラーが起きた場合は、プロジェクトからVRCFuryフォルダを削除した上で インストール方法 に従って再インストール

フィーチャー

VRCFury コンポーネントをアバター(もしくはアクセサリー)に追加することで、以下のフィーチャーを追加できるようになります。アルファベット順に並んでいますが、 Toggle はよく使うと思います。

Advanced Visemes

このフィーチャーを使うとVRCFuryのActionをリップシンクに使えます。

利点:

  • Use animation clips, material flipbooks, or any other VRCFury action as a speech viseme.
  • リップシンクにボーンアニメーションを利用できます。例えば、「Open Mouth」ブレンドシェイプの代わりにJawボーンで口を開いたり。
  • 高度なリップシンク表現を実現できます。例えば、口が開いている間に舌を動かすとか。

Armature Link

アバター素体のボーンに追従するSkinned Meshを実装したいときに使います。衣装のHipsボーンとアバターのHipsボーンを指定すると、ボーンのヒエラルキーを丸ごと合成します(訳注:親のボーンをそのまま使います)。制限として、合成したいボーンの順序と名前が一致している必要があります。

Blendshape Optimizer

アニメーションされないブレンドシェイプを全てベイクします。設定不要でVRAM消費量を削減します!

Blink Controller

まばたきをしている状態の1フレームアニメーション(またはブレンドシェイプ名)を設定することで、 Include a single-frame animation of your avatar with its eyes closed (or click the plus and give it the blend shape name), and VRC Fury will drive your avatar's blink cycle.

利点:

  • VRC Furyのまばたき固定に応じてまばたきが自動で停止するため、まばたきによる表情崩れを防ぎます。
  • VRC標準のトラッキング制御のように、表情切り替えのタイミング次第で目の動きが半目で固まるのを防ぎます。
  • まばたきはネットワーク同期します(VRC標準のまばたきが同期するかは未調査です)

Bone Constraint

アバターアクセサリー製作者向け機能です。アバターのHandなどのボーンに小道具を追従させたい場合、追従先のボーンをここから指定できます。「プレハブをUnpackしてボーンの子に放り込む」が不要になります。

Bounding Box Fix

アバターの全てのMeshのBounding Boxを修正して、十分な大きさを確保します。視界の端でアバターの一部が消滅するのを防ぎます。

Breathing Controller

アバターの呼吸アニメーションを自動生成します。サイズ変更したいGameObjectと「min」/「max」スケールを設定するか、ブレンドシェイプを設定してください(これは0〜1の間でアニメーションします)

Full Controller

アバターアクセサリー製作者向け機能です。渡されたアニメーションコントローラーとメニューとパラメータをアバターに合成します。(訳注:私はアバター着せ替えを別Blueprint IDで行う派で、所持する複数のアバターに共通のアクセサリーを追加するようなアバター改変を行っているので、この直後の文章は翻訳を拒否します。)

補足:アバターアクセサリーのアニメーションコントローラーが利用するアニメーションクリップはアクセサリーのルートをパスの基準にして作成してください。 VRCFuryはアクセサリーがアバターに組み込まれた際にアニメーションが正しく動作するように自動でパスを修正します。 もしアクセサリーからアバター本体のプロパティ(言い換えると、アクセサリーの外側のオブジェクト)をアニメーションさせたい場合、代わりにアバタールートをパスの基準として(つまり、VRCFuryを使わない場合と同じように)アニメーションクリップを作成してください。VRCFuryはどちらの場合かを適切に判断して、必要に応じてアニメーションのパスを書き換えます(ので、どちらの場合も期待した通りに動きます)

Gestures

ハンドサインによる表情切り替えを一括設定できます! それぞれの表情について、手の左右とハンドサインを指定してください。 または、COMBOを選択して、両手のハンドサインを同時に出した場合に切り替わる表情を指定してください。 「+」ボタンを押して、表情に対応するアニメーションクリップ・ブレンドシェイプを設定します。

表情に対して以下の追加設定を行うことができます:

Disable Blinking when Active

有効にした場合、表情が有効になっている間はまばたきを停止します。 表情アニメーションから目を動かす場合、例えば悲しみや目閉じなどの表現に便利です。 この設定は VrcFury Blink Controller フィーチャーを有効にしている場合のみ動作します。

Customize Transition Time

未設定の場合は表情切り替えは0.1秒で切り替わります。 この時間を調整したい場合、ここから設定できます。

Gesture Lock

メニューのパスを入力することにより、指定された表情で固定するメニュー項目をアバターのメニューに追加します。

Exclusive Tag

複数の表情に同じ排他タグが設定されている場合、それらの表情は同時にいずれか1つのみが有効になります。 例えば、「悲しみ」と「怒り」の表情に同じタグを設定することで、この表情が同時に有効になることを防ぎます。 表情リスト上のより上にある表情が優先的に表示されます。 複数の排他タグを指定する場合、半角のカンマ「 , 」で区切ってください。

Fix Write Defaults

アバターのWriteDefaultsを自動で統一します。具体的には、ONとOFFのうち多い方に統一されます。または、Force On/Force Offを設定することもできます。魔法です。

OGB Integration

必要に応じてOGBコライダーの状態を自動で更新します。(訳注:OGBコライダーとは、DPSのことだそうです。これは何ですか?)

Prop with Modes

「On」状態を複数持つことができるToggleable Propです。

Remove Hand Gestures

このフィーチャーを指定した場合、アバターの既存のアニメーションコントローラーからハンドサインを参照する機能を削除します。ハンドサインをVRCFuryで管理したいけどアバター本体で既に設定済みなので削除したい場合に使います。

Security Lock

アバターに暗証番号を追加します。アバターのメニューから暗証番号を入力することで、Securityフラグを有効にしたToggleable Propsがロック解除されます。

Senky Gesture Driver

Senky さん(訳注:VRC Furyの開発者)が使っている表情セットをセットアップします。

Slot 4 Fix

メッシュのスロット4に指定されたマテリアルをアニメーションさせようとした場合、Unityのバグでスロット2のマテリアルがおかしくなります。(訳注:マジで!?) このフィーチャーを使用することで、スロット4のマテリアルをマテリアルリストの一番最後に移動することで前述の不具合を回避します。

Toes Puppet

「Down」(下)「Up」(上)「Splay」(広げる)のアニメーションを指定することで、アバターのつま先を操作するパペットメニューを追加します。

Toggle

表示と非表示を切り替えるトグルアイテムを追加します。 オブジェクトを対象にする場合、「+」をクリックして「Object Toggle」を選択した上で、対象のオブジェクトをフィールドにドラッグ&ドロップしてください。 ブレンドシェイプを対象にする場合、「ON」の場合にブレンドシェイプの値が100になります(アバター直下のSkinned Meshに対して利用できます)。 より複雑な表現を行う場合、「ON」状態を表すアニメーションクリップを指定してください。

Menu Entry (訳注: Menu Path

ここで指定した名前がVRChatのアバターメニューに追加されるメニュー項目に表示されます。 メニュー項目をサブメニューの子として追加する場合、半角スラッシュ「 / 」で区切ります。例: アイテム/ピアノ

また、 Options から以下の追加設定を行うことができます:

Default On

初期状態で表示されているアイテムやアイドルアニメーションを作成する場合、「 Default On 」を指定してください(もちろん、ゲーム中でメニュー操作した場合、手動で非表示にできます)

Show in Rest Pose

アニメーションを無効にした場合の初期状態として表示されるトグルアイテムを設定します。(訳注:例えば、デフォルトで着ている衣装とかのことだと思います。) つまり、クイックメニューのアバター詳細画面、フルトラッキングのキャリブレーション中、またはセーフティーからアバターのアニメーションを無効にした場合に表示されます。

Slider

Slider を有効にした項目はトグルではなくスライダーになります。スライダーの 0% が初期状態で、 100% が「表示」状態になります。 Default On も有効にした場合、初期値も設定できます。

Saved

ワールド移動の際に状態を保存したい場合、 Saved between worlds を有効にしてください。

Security

Security フラグを有効にしたトグルアイテムはゲーム内でセキュリティロックを解除することで操作可能になります( Security Lock フィーチャーの説明も合わせて参照してください。)

Physbone Reset

PhysBone のパラメータをアニメーションから変更する際に指定してください。

Add PhysBone to Reset を有効化した上で、対象のPhysBoneコンポーネントをフィールドにドラッグ&ドロップしてください。 VRC Fury はこのトグルアイテムの状態が変化するたびに指定された PhysBone を OFF → ON するアニメーションを追加で生成します。 これにより、 PhysBone の設定が動的に反映されます。

Exclusive Tags

複数のトグルアイテムに同じ排他タグが設定されている場合、それらのトグルアイテムは同時にいずれか1つのみが有効になります。 例えば、干渉する着せ替え衣装に同じタグを設定することで、ある衣装を有効にした際に同じタグが付与された他の衣装が無効になります。 複数の排他タグを指定する場合、半角のカンマ「 , 」で区切ってください。

Exclusive Tag Off State

同じ排他タグが指定された他のトグルアイテムが全て無効化された場合に自動で有効化されるトグルアイテムとして指定します。 つまり、ある排他タグに対して無効状態を指定することができます。

Separate Local State

有効化することで、ローカルとリモートで異なるアニメーションを再生することができます。 ローカルステートに設定したアニメーションがアバター利用者本人のみに表示され、リモートステートはそれ以外のユーザーに表示されます。

Enable Transition State

有効化することで、非表示状態から表示状態に遷移するアニメーション(およびその逆)を追加できるようになります。 Transition Out is reverse of Transition In を有効にした場合、指定したアニメーションが非表示状態から表示状態に遷移する際に再生され、表示状態から非表示状態に遷移する際に逆再生されます。 Transition Out is reverse of Transition In を無効にした場合、非表示状態から表示状態に遷移するアニメーションと、表示状態から非表示状態に遷移するアニメーションを別々に設定します。 Separate Local State も有効にした場合、ローカルに対しても同様の設定を別途行ってください。

TPS Integration

アバターアップロードのたびに自動でTPSセットアップの状態を更新することで、TPSにまつわるいくつかの奇妙なバグを防ぎます。(訳注:TPSとは、DPSのことだそうです。詳しくないのでよくわかりません。)

When-Talking State

いずれかのVisemeに対して同じアニメーションを再生するシンプルなリップシンクを提供します。

その他の機能

コントローラー自動生成

FXレイヤーやメニュー、パラメータを自分で用意する必要はありません。これらが未設定の場合、VRCFuryが自動生成した上で管理します(言い換えると、アップロードのたびに毎回削除して再生成されます)。注意:自分でコントローラーやメニュー、パラメータを編集したい場合、VRCFuryの一時ディレクトリの外に自分で作成しておく必要があります。

VRCF Global Colliders

VRC Fury を使ってグローバルに同期するコライダーを追加できます。(例えば、足とか鼻に追加したコライダーで他人をつついたりできます) コライダーを追加したいボーンの直下に空のGameObjectを追加した上で、 VRCF Global Collider コンポーネントを追加してください。

注意として、このコライダーは実際には指のコライダーを使い回して実現されるため、この機能を利用して追加されたコライダーの数だけ指のコライダーが減ります(なるべく使わない指から順に奪います)。

D4rk Avatar Optimizer Integration

D4rk Optimizer を利用している場合、アバターアップロードの際に VRCF ury によって自動的に実行されます。

Write Defaults Auto-Fix

Write Defaults が混ざっているアバターが検出された場合、 VRC Fury で修正することができます(これは実際には Fix Write Defaults フィーチャーによってアップロード時に適用されるため、アバター自身のデータは変更されませんし、後から Fix Write Defaults フィーチャーを削除することもできます)

Action Controller Conflict Resolution

アバターダンスパッケージ(例:GogoLocoやCuteDancerなど)を複数利用している場合、VRC Furyはこれらを結合した上で、Playable LayerのWeight操作をいい感じに修正することで、両方のダンスパッケージのダンスを同時に利用できるようにします。(訳注:むずい)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment