NDMFに対応した「VRCQuestTools」を使ってみた。わざわざ別でデータを作らずともそのままQuest対応ができる

5月5日、クロツさん制作の『VRCQuestTools』が更新され、NDMFを使用した非破壊的なAndroid対応(Quest対応)を行えるようになりました。

従来の方法ではAndroid対応を行ったアバターをシーンに追加し、アップロードを行っていましたが、今回の対応では変換元になるアバターだけあればAndroid版へのアップロードができるようになります。

NDMF対応によってAndroid対応がどうかわったか、今回はクロツさん本人から提唱されているこちらの『VRCQuestTools』の流れに従って、実際に非破壊でのAndroid対応を試しながら見ていきます。

なお、今回の記事ではすでにツールのダウンロードなどが済んでいる状態を前提としています。ツールの導入方法や、ツール従来の方式を使ったAndroid対応については以下の記事にて紹介をしております。

また、今回の記事ではVRCQuestToolsの他にanatawa12さん制作の『AvatarOptimizer』の機能を一部使用しています。本文に入る前に、こちらも導入しておきましょう。ツール本体と導入に関してはanatawa12さん本人のサイトにて解説されています。

新しくなったAndroid対応のフローチャートを紹介!

STEP

1.「Convert Avatar for Android」でAndroid向け設定を一括で指定する

それでは実際に非破壊での変換を試していきます。といっても、途中までは従来の方法とあまり変わりません。

まずはプロジェクトを開いて、上部に並んだタブから「Tools」→「VRCQuestTools」→「Convert Avatar for Android」を選択しましょう。

表示された「Convert Avatar for Quest」で、変換したいアバターを選択し、「変換の設定を始める」をクリックします。これで、アバターへQuest対応を行うための設定を保持するコンポーネントが追加されます。

変換設定は引き続き、「Convert Avatar for Android」の画面で行います。PhysBones(以下PB)などの設定を行う「Avatar Dynamics Selector」にもこの画面からアクセスできます。

「Avatar Dynamics Selector」は現在の状況がAndroidの基準に準拠しているかどうかをリアルタイムで表示してくれます。好みを出しつつ基準を守れるように設定しましょう。

ワンポイントですが、設定が終わった際にこの画面の一番下にある「変換」ボタンは押さないように注意してください。このボタンを押すと従来と同じように変換後のアバターがシーンに追加されてしまいます。

STEP

2.揺れもの同期の強い味方、「Network ID Assigner」

あらかたの設定が終わったらアバターに「Network ID Assigner」コンポーネントをつけます。この機能は自動的にPBへNetwork IDを割り当ててくれるVRCQuestToolsの新機能です。オブジェクトが増えても同じIDを割り当ててくれるので、PC-Android間でのPBの同期を容易にしてくれます。。コンポーネントの追加は先程の「Convert Avatar for Android」にあるボタンを押すだけ。アバターに直接「Add Component」から追加しても大丈夫です。

ここまでできたら一旦PC版のアップロードを済ませてしまいます。これでさきほどのコンポーネントがNetwork IDを反映してくれます。VRChat SDKのコントロールパネルから、いつものようにアバターをアップロードしましょう。

STEP

3.PC版で不要な設定を簡単排除「Platform Component Remover」

ここからはAndroid対応のための調整をしていきます。Android対応の難点といえば頬染めなどの透過表現です。Android版VRChatでは透過マテリアルなど見え方が制限されてしまう要素がいくつかあるので対応する必要があります。

このような透過マテリアルに対してはいろいろな対応方法があります。今回はクロツさんのやり方と同じくanatawa12さん制作の AvatarOptimizerの機能の1つである「AAO Remove Mesh By BlendShape」を使い、頬染めなどの透過メッシュを削除していきます。

顔のメッシュを選択し、「AAO Remove Mesh By BlendShape」コンポーネントを「Add Component」から追加。削除したいBlendShapeにチェックを入れて頬染めメッシュの削除設定はOKです。

ですが、このままの設定ではPC版のアバターでも頬染めが削除されてしまいます。この問題を解消するための機能もVRCQuestToolsには含まれています。

その機能が「Platform Component Remover」です。先ほどの顔メッシュに「Platform Component Remover」を「Add Component」から追加します。

追加したコンポーネントの「コンポーネント維持設定」にて、「Body (Remove Mesh By Blend Shape)」のPC列にあるチェックを外します。

チェックが入っていれば設定が維持され、入っていなければその設定は自動で外れます。これでPC版では問題なく頬染めメッシュが表示されるようになりました。

STEP

4.いよいよアップロード!「VQT Avatar Builder」

設定を行い、いよいよAndroid版アバターのアップロード準備が整いました。まずはアバター設定がしっかりできているかどうかのテストを行いましょう。

VRCQuestToolsでは非破壊変換を行うために専用のアップロードウィンドウが用意されています。まずはVRChat SDKのBuilder画面でアップロードしたいアバターを表示します。

その後に「Tools」→「VRCQuestTools」→「Show Avatar Builder」と選択し、アップロードウィンドウを表示しましょう。

表示された「VQT Avatar Builder」から、「Build & Test on PC」ボタンを押して、テストアップロードを行います。VRChatを起動し、設定ができているかの確認を行います。

頬染めがしっかり削除されてますね、大丈夫そうです。かわいい。

確認が終わったら、PlatformをAndroidに変更し、VQT Avatar Builderの「Build & Publish for Android」よりAndroid版設定でアップロードをします。これで作業完了です。お疲れ様でした。

アップロードしたアバターの確認を行うと、「Features」の項目に「Any Platform」の表記があります。しっかりと両プラットフォーム対応できていることが確認できました。

一通りの変換手順を試してみましたが、Android版アバター変換の設定がPC版アバターのみで完結し、設定内容の確認も容易なのでかなり使いやすくてプロジェクトがスッキリしたなと言う印象を受けました。

改変後のアバターに関しても同じ方法で変換を行うことができます。PBの同期に関しても、新機能である「Network ID Assigner」が調整をやってくれるというのも非常に便利ですね。

ぜひ、あなたのアバターを新しくなった「VRCQuestTools」で快適にAndroid変換を行ってみてはいかがでしょうか。

iOS版の登場間近で需要が増していくAndroid対応をよりスマートに行うことができるはずです。