【Quest対応可】VRChatのアバターペン(Snail Marker)導入方法!

VRChat

VRChatといえば基本的にはボイスチャットで意思疎通をするのが一般的です。しかし、何らかの都合や一時的な不具合などでマイクが使えない状態になることあるでしょう。

ワールドによってはQVPenがあったり、ペンがあったりする場合もありますが、クロスプラットフォームの時は同期が取れていなかったり、Quest側ではインクが出ない場合もあります。

今回紹介するアバターペン(Snail Marker)は、アバターにペンが入っているので、ワールドの仕様に関係なく何処でも使うことができて、Oculus Questでもペンで描いた内容を反映することができます。

また、Avatar 3.0だけでなくAvatar 2.0用にも用意されているので、特別なアバターを用意しなくても、いつも使っているお気に入りのアバターにも導入可能です。

この記事では、一度はUnityでアップロードに成功したことのあるアバターであることを前提にしています。アバターアップロードに関しては沢山情報があると思うので、各自で調べてください。

スポンサーリンク

アバターペン(Snail Marker)導入方法

※2020/11/05現在では利用可能ですが、VRChatのアップデートによって仕様が変わると、このアバターペンが使えなくなる場合もあります。

基本的な構造や仕組みは同じですが、Avatar 3.0とAvatar 2.0で少しだけ差異があるので、段落を分けています。

目次から、Avatar 3.0、Avatar 2.0の段落のどちらか必要な方だけ読んでいただければ導入できるとように構成しています。

Avatar 3.0の場合

VRChat Avatar 3.0 Tutorial – Snail's Marker 3.0

海外の方ですが、YouTubeで詳細に解説している動画もあります。この記事のQuest対応以外の基本操作は同じなので、参考になるかと思います。

Snail Marker本体のダウンロード

Releases · theepicsnail/Marker
VRC Marker for presentation room like drawing anywhere - theepicsnail/Marker

Snail Marker本体はGitHubでメンテナンスされていて、ReleaseのところにUnity Packageが用意されています。

今回はAvatar 3.0向けにのものをダウンロードするので、SDK3.0系を意味する赤四角で囲んだものをダウンロードします。

既存のUnityプロジェクトにインポート

ダウンロードが終わったらアバターをアップロードするために使っているプロジェクトにインポートします。

Snail Markerの配置

以前のバージョンでは「Unpack Prefabしてアニメーションを追加…」などが必要だったようですが、現行バージョンではそういった手間は無く、配置してちょっとした設定をするだけで使うことが出来ます。

配置方法は、画面左上のHierarchyの検索バーから右手のボーン(Hand_Rなど)を探し、その直下に来るようにドラッグ・アンド・ドロップで置くだけです。

※このとき左利きの方は、左手のボーン(Hand_Lなど)に配置してください。また、左利きの場合は、後述する設定も左利き用に設定する必要があります。

Snail MarkerのPrefabデータは「Assets→Snail」内のMarker.prefabとして読み込まれています。

置くときに気をつけなればならない点が、1点あります。それは、Hierarchyの欄ではなく、アバターの表示されているSceneにドラッグ・アンド・ドロップすることです。もし、やってしまうと、手にペンが追従出来なくなります。気をつけてください。

手のボーン(Hand_Rなど)に配置した後は、指先に本体が来るように調節します。

ペン本体は透明なので位置調節が分かりづらいと思いますが、人差し指の腹辺りに来るように配置できれば多少ズレていても大きな問題はないと思います。

Markerの設定

先程Hierarchyに配置したMarkerをクリックすると、右側のInspector欄でペンの設定が出来ます。

自分はUnity初心者なので、ザッとしか把握出来ていませんが、「Trail Renderer」がペンのインクの処理部分で、「Snail Marker 3 Animation Creator」というのが、以前の面倒くさい工程(アニメーションの作成など)をワンクリックで実現出来るようになったスクリプトの設定コンポーネントのようです。

必須事項は「Snail Marker 3 Animation Creator」の設定で、まずはHandで右利きか左利きの設定を確認してください。

他は特に変更せず、Expresstion Menuをクリックして、「Add Marker Here」をクリックすることで、スクリプトが走ります。

コンポーネントは自動で消滅し、アップロード可能状態になります。

このRemoved状態以外ではアップロードボタンが押せなくなっているので気をつけてください。

※何らかの原因で、このコンポーネントが復活してしまい、うっかり「Add Marker Here」を再び押すとExpression MenuにMarker Toggleが2つ並ぶことになります。大きな問題はないですが、Expression Menuのスロットは数個しか置けないので、無闇にクリックしないほうが良いです。

もし、一度押したはずのコンポーネントが復活していたら、コンポーネント右端の設定ボタンから「Remove Component」をクリックしてください。

Avatar 3.0用のSnail MarkerはAvatar 2.0用と違って、Expression内にオン・オフトグルを配置してくれます。

この他の設定ですが、基本デフォルト設定のままでも動きます。変更するとしたら、「Trail Renderer」でColorを見えやすい色(デフォ設定は白)にすることくらいかなと思います。

自分は、明るいWorldや暗いWorldを想定して一応ピンク系の色に設定しています。(Worldのシェーダーの影響を受けるので、基本的に暗いところだと視認性は下がります)

Quest対応

PC版であれば上記設定だけでアップロード可能になりますが、Questはこのままではアップロードすることが出来ません。

対処法は至って簡単で、配置したMarkerのInspectorに戻り、問題になるシェーダーをVRChat/Mobile/ToonLitに差し替えるだけです。

これでアップロード可能になります。

注意点

Safety設定の関係で、Hide Avatar状態だとペンで書いた文字は見えません。このことを伝えるのにマイクを使わない場合は、何とかしてHide Avatarを解除するようにジェスチャーで指示するしかないと思います。

因みにQuestのデフォルト設定ではMediumであれば初対面でもアバターが自動で読み込まれるので、ポリゴン数の少ない軽量アバターにペンを導入しておくということが得策かも知れません。

〈追記〉ペンのコアギミックであるTrail Rendererがアバターに入っていると、どんなにポリゴン数が少なくてもPoor判定になってしまうようです。誤解するような情報を記載してしまい申し訳ありません。

Quest用にアップロードする際、プロジェクトファイルを分けていると思いますが、ペンの座標がズレているとPCとQuestで見え方が変わってしまいます。

QuestとPCでペンの座標は同じになるように設定してください。

他にも、アバターに物の出し入れを仕込んでいて、Quest側には未実装だったりすると、Parametersのファイルがズレてしまい、「PCではマーカーが発動しているのに、Quest側は無反応」ということがあります。(極稀なケースかもれませんが、ちょっと詰んだので書いておきます)

パラメーターの番号さえあっていれば動くのでQuestとPCでToggleMarkerが同じ番号に入っているかチェックしてみてください。自分はPC版の方にはParamater 4-11にVirtual Lens2とパーティクルペンが入っていて、ズレていました。

使い方

ExpressionメニューからMarker Toggleを選ぶとマーカーが有効化されます。

上記設定で設定したとおり、指差しジェスチャーが有効のときだけインクが出ます。グリップを押している間は描写が残るので、使い勝手は良いです。

今回導入したアバターは、I-s(アイズ) Ver.2.0です。

https://booth.pm/ja/items/2460693

Avatar 2.0の場合

少し前までは2.0用には自動化スクリプトがなかったようですが、Avatar 2.0用にも移植されたようです。

Snail Marker本体のダウンロード

Releases · theepicsnail/Marker
VRC Marker for presentation room like drawing anywhere - theepicsnail/Marker

Snail Marker本体はGitHubでメンテナンスされていて、ReleaseのところにUnity Packageが用意されています。

今回はAvatar 2.0向けにのものをダウンロードするので、SDK2.0系を意味する赤四角で囲んだものをダウンロードします。

既存のUnityプロジェクトにインポート

ダウンロードが終わったらアバターをアップロードするために使っているプロジェクトにインポートします。

Snail Markerの配置

以前のバージョンでは「Unpack Prefabしてアニメーションを追加…」などが必要だったようですが、現行バージョンではそういった手間は無く、配置してちょっとした設定をするだけで使うことが出来ます。

配置方法は、画面左上のHierarchyの検索バーから右手のボーン(Hand_Rなど)を探し、その直下に来るようにドラッグ・アンド・ドロップで置くだけです。

※このとき左利きの方は、左手のボーン(Hand_Lなど)に配置してください。また、左利きの場合は、後述する設定も左利き用に設定する必要があります。

Snail MarkerのPrefabデータは「Assets→Snail」内のMarker.prefabとして読み込まれています。

置くときに気をつけなればならない点が、1点あります。それは、Hierarchyの欄ではなく、アバターの表示されているSceneにドラッグ・アンド・ドロップすることです。もし、やってしまうと、手にペンが追従出来なくなります。気をつけてください。

手のボーン(Hand_Rなど)に配置した後は、指先に本体が来るように調節します。

ペン本体は透明なので位置調節が分かりづらいと思いますが、人差し指の腹辺りに来るように配置できれば多少ズレていても大きな問題はないと思います。

Markerの設定

先程Hierarchyに配置したMarkerをクリックすると、右側のInspector欄でペンの設定が出来ます。

自分はUnity初心者なので、ザッとしか把握出来ていませんが、「Trail Renderer」がペンのインクの処理部分で、「Snail Marker Animation Creator」というのが、以前の面倒くさい工程(アニメーションの作成など)をワンクリックで実現出来るようになったスクリプトの設定コンポーネントのようです。

必須事項は「Snail Marker Animation Creator」の設定で、まずはHandで右利きか左利きの設定を確認してください。

他は特に変更せず、「Do everything」をクリックすることで、スクリプトが走ります。

コンポーネントは自動で消滅し、アップロード可能状態になります。

このRemoved状態以外ではアップロードボタンが押せなくなっているので気をつけてください。

もし、一度押したはずのコンポーネントが復活していたら、コンポーネント右端の設定ボタンから「Remove Component」をクリックしてください。

Avatar 2.0用のSnail MarkerはAvatar 3.0用と違って、Expression内にオン・オフトグルを配置してくれません。

この他の設定ですが、基本デフォルト設定のままでも動きます。変更するとしたら、「Trail Renderer」でColorを見えやすい色(デフォ設定は白)にすることくらいかなと思います。

自分は、明るいWorldや暗いWorldを想定して一応ピンク系の色に設定しています。(Worldのシェーダーの影響を受けるので、基本的に暗いところだと視認性は下がります)

Quest対応

PC版であれば上記設定だけでアップロード可能になりますが、Questはこのままではアップロードすることが出来ません。

対処法は至って簡単で、配置したMarkerのInspectorに戻り、問題になるシェーダーが配置されているマテリアルのシェーダーを、VRChat SDK付属のVRChat/Mobile/ToonLitに差し替えるだけです。

これでアップロード可能になります。

注意点

Safety設定の関係で、Hide Avatar状態だとペンで書いた文字は見えません。このことを伝えるのにマイクを使わない場合は、何とかしてHide Avatarを解除するようにジェスチャーで指示するしかないと思います。

因みにQuestのデフォルト設定ではMediumであれば初対面でもアバターが自動で読み込まれるので、ポリゴン数の少ない軽量アバターにペンを導入しておくということが得策かも知れません。

〈追記〉ペンのコアギミックであるTrail Rendererがアバターに入っていると、どんなにポリゴン数が少なくてもPoor判定になってしまうようです。誤解するような情報を記載してしまい申し訳ありません。

Quest用にアップロードする際、プロジェクトファイルを分けていると思いますが、ペンの座標がズレているとPCとQuestで見え方が変わってしまいます。

QuestとPCでペンの座標は同じになるように設定してください。

使い方

上記設定で設定したとおり、指差しジェスチャーが有効のときだけインクが出ます。

Avatar 3.0と違って片手だけだとうまく描写されませんでした。左手で「X」「Y」ボタンを触って(ボタンを押さない)、右手で指差しジェスチャーをするとスムーズにかけました。ただ、これはOculus Questの場合なので、HTC ViveやValve Indexだとどうなるのか分かりません。

グリップを押している間は描写が残るので、使い勝手は良いです。

今回導入したアバターは、Quest対応無料アバターの”まほろ”です。

https://booth.pm/ja/items/1559544
スポンサーリンク

総括的な何か

スクリプトのお陰で非常に手軽に導入出来ます。最近はボイスチャット系のバグトラブルが多いので、導入しておいて損はないのではないでしょうか。

Amazon検索
VRChat
スポンサーリンク
Till0196をフォローする
Till0196のぼーびろく

コメント