VRChatアバターへのRescery Pen導入方法
VRChatでコミュニケーションをするうえで、ボイスチャットができない、いわゆる無言勢にとってペンでの筆談は欠かせません。しかしワールドによってはペンが置いていないこともあり、無言勢は苦労することがあります。
そんな時に便利なのがアバターペン。ペンをアバターにセットしておくことでどんなワールドでも筆談することができるようになります。
様々なアバターペンがBOOTHに公開されていますが、中でも「Rescery Pen」は消えるときのエフェクトがとても綺麗です。使うと「おっ?」と目を引くアバターペンです。
このアバターペン、付属の導入マニュアルやYouTubeの解説動画が昔のUnityの画面となっており、Unity 2022.3.6f1では見え方が少々異なっていて私は導入に戸惑うところがありました。
このnoteでは私が行ったRescery Penの導入手順について示します。導入のご参考にしていただけると幸いです。
事前準備
以下のURLよりAvatars 3.0 Managerの最新版をダウンロードし、プロジェクトへインポートします。(FXレイヤーの統合、変数の読み込みなどを行うために必要です)
大まかな流れは以下となります。
1.ペンのUnity Package(1.15)のプロジェクトへのインポート
2.ペンをアバターにセット
3.ペンのTransformコンポーネント値をコピー
4.ConstraintへのSource指定
5.Animatorの統合
6.Animatorのレイヤーの調整(5層目に「4L(rescery pen)」を移動)
7.Expression Menuへのメニュー追加
8.アップデートパッチ(1.17)の適用
では詳しく見ていきましょう。
1.ペンのUnity Package(1.15)のプロジェクトへのインポート
BoothよりRescery Penの1.15と1.17の両方をダウンロードし、まず1.15をインストールします。1.17は修正パッチとなります。(最後にインポートします)
ペンは右手用と左手用の二つのパッケージがあります。使用する方のパッケージをインストールします。
Projectペーンに「rescery」フォルダが追加され、PEN.prefabファイルがあるのでHierarchyのアバターにドロップして追加します。
2.ペンをアバターにセット
ペンの本体である「BI」オブジェクトのInspectorのチェックボックスにチェックを入れ表示し、BIオブジェクトの矢印をドラッグして手の位置まで持って行きます。
指をGunにして文字を書くことになるので、人差し指に近づける方が書きやすいと思います。なお、位置調整はScene右上の部分の3角印の部分をクリックすると90度ずつ回転するので位置決めしやすいです。マウスホイールをクリックした状態で左クリックしてSceneを平行移動させ、マウスホイールを回して拡大縮小しながら位置調整します。
位置が確定したら一旦BIオブジェクトのInspectorのチェックは外しておきます。
3.ペンのTransformコンポーネント値をコピー
BIオブジェクトの「Transform」の右側にある3点リーダーから「Copy」→「Component」とします。
コピーした値を、「Right wrist (Constraint)」のTransformへ「Paste」→「Component Values」とします。
4.ConstraintへのSource指定
ペンの「Right wrist (Constraint)」と「Head (Constraint)」にそれぞれSourceとなるArmatureを指定します。アバターによってはWristが無い場合があるので、その場合はHandなど、相当する場所を指定します。
(Armature→Hips→Spine→Chest→Shoulder_R→UpperArm_R→LowerArm_R→Hand_R、などになります)
5.Animatorの統合
画面上部の「VRLabs」メニューより「Avatars 3.0 Manager」をクリックします。
Avatarを指定すると以下のような項目が読み込まれるので、「FX」を開き、下部にある「Add animator to merge」をクリックします。
「Merge Animator Mode」という表示になるのでAnimatorに「FX (pen)」を指定し、下部の「Merge on current」をクリックします。
画面が変化し以下のようになったら「rescery」の名前の付いたパラメータのExpression ParameterとSyncedの両方にチェックを入れ、「Add animator to merge」をクリックします。
6.Animatorのレイヤーの調整(5層目に「4L(rescery pen)」を移動)
FXファイルを探します。Hierarchyから編集しているAvatarを選択し、Playable LayerのFXをダブルクリックすることでAnimatorが開きます。
先ほどの操作でAnimatorに「4L (rescery pen)」というレイヤーが追加されているので、ドラッグして「上から5番目」のレイヤーにセットします。(0から数えているんですね…。コンピュータあるある…。)
7.Expression Menuへのメニュー追加
メニューはresceryフォルダ→PENフォルダ以下にあるので、このメニューをExpression Menuへ組み込んでいきます。
Expression Menuをダブルクリックして現在のメニューを表示します
今回はまだ項目数に余裕があるのでこのまま追加します。
説明のPDF通りに設定します。
8.アップデートパッチ(1.17)の適用
最後に1.17のパッチを当てて完成です。
アバターをVRChatにアップロードして作業は終了です。お疲れさまでした。
トラブルシューティング
ビルド時のエラーについて
1.「Load in Background」を有効にしなさい、というエラーが出る。
→1.17のパッチがインストールされていないのでインストールをしてください。インストール後、Hierarchyを一度表示し、再度VRChat SDKを表示するとエラーが解消されます。