見出し画像

VRCQuestTools 2.6.0 あとがき

久しぶりの機能追加アップデートでした。2.5.0は実質的に不具合回避と改善のためのものでしたから、純粋な機能追加は本当に久しぶりです。


急にLocal-Only Contact Receiverが来たので

Local-OnlyなContact Receiverがパフォーマンスランクにカウントされなくなる、という話は11月のOpen Betaの時点で出ていたわけですが、SDKがベータをすっ飛ばしてリリースされるとは思ってもいなかったのでした。
元々2.6.0はいくつか機能追加をしてから出すつもりをしていましたが、今回の変更はアバターのアップロード判定に関わるものなので、今できている分までを整理してリリースすることにしました。

対応自体はシンプルで、LocalOnlyがtrueであるContactReceiverをPhysBone Removerの選択肢一覧とパフォーマンスランク推定値から除外するだけではあります。
(内部値的にはLocal-Only Contact Senderが作れてしまうけど、どうなるんだろうか。未検証)

メッシュの反転

8月の2.4.0リリース時点で試作はできていたものの、それ以降の進捗があまりない状態が続いていました。明らかに問題点は潜んでいそうなのですが、ToonLitではほぼ問題ないであろう、このままだといつまでたってもリリースできなさそう、ということで実験的機能という位置づけとしました。

メッシュの反転という点ではMesh Flipperという先行ツールがありますが、自分のQuest対応ワークフロー的にはやはり非破壊でやりたいため新規実装をしています。
(なお名前が思いっきりかぶってますが、既存コンポーネントの命名ルールでメッシュ反転だとどうしてもこの名前になってしまう…)

内部実装的にはMesh Flipperの方がおそらく適切なのでMITライセンスに則って流用する方が良いのでしょう。しかし、ことVRChatに関してはどうしても「人」に様々なものが紐づいている関係上、人のツールを内部的に丸ごと抱え込むことに個人的にはやや憚られるところです(BoothにしかなくてVPMの依存関係で引っ張ってこれないのもある)。これが通常のOSS開発だったら迷いなく依存関係に入れるかプルリクで機能追加してもらうかで済ませるのですが。一人で勝手に面倒に感じている部分です。

非破壊変換とConstraints

Android環境ではUnity Constraintsが使えません。しかしVRC Constraintsに変換すれば、これまでAndroid環境では導入が不可能だった衣装やギミックを使うことができます。

実のところ、この問題は8月にMA 1.9.14でMA Convert Constraintsが追加されたことで既に解決しています。

一方でVRCQuestToolsが紹介される記事やツイートではまだまだ従来の手動での変換を使っている例の方が多く、変換によってUnity Constraintsが削除されるために衣装等の導入に失敗している事例がいくつもあるようでした。
(ちなみに、この動作の変更予定はありません。手動変換が完了した時点でアップロード可能にするという設計だからです。Unity Constraintsが残っていたらアップロードできませんし、アニメーションに影響するので勝手に変換するわけにもいきませんからね)

結局のところMA Convert Constraintsという解にたどり着けなければどうしようもないわけです。ということで2.6.0ではUI側を少し変更しており、MA Convert Constraintsによって問題が解決すること、他の非破壊ツールとの連携のために非破壊変換を使うことを主張するようになっています。

結果としてゴチャつくので困りもの。
開発版では手動変換を折りたたみの中に隠していたので、加減してはいます。
これだけ露骨にやっても非破壊変換を使ってもらえなければ…どうしましょう?

おわりに

「FactorioのDLCが出たのがよくないですね。進捗は死にました」とかぬかそうと思っていたら本業のリリース前バグ修正ラッシュ&大きめな私事(複数)が同時に降ってきて進捗は死にました。やることが多い。

VQT Mesh Flipperの改善だけでなく機能追加は続けていきたいところでありますが、次はいつになることやら。

追伸

最近数年ぶりにStandard Liteを真面目に使ってみたのですが、現在のAndroid環境ではリアルタイムライト使用不可、シェーダー自体の改善のおかげか以前よりもアバター用途としてかなりマシになったと感じました。とは言っても、あくまでもStandardがベースであってトゥーンではないので好みが出そうだなという印象です。
あとテクスチャ数が数倍に膨れ上がってアップロードが難しいです。

World: BOOTH Room
Quest実機画像でお届けします。
World: BOOTH Room
ハードサーフェスにめっぽう強いのが改めてよくわかる。
(赤いエミッションが入ってないのは単に未実装なだけです)
World: The Avatar Studio | Avatown
三面図でもこの通り。立体感の違いが伝わるでしょうか。
(スカートにはVQT Mesh Flipperを使用しています)
World: The Avatar Studio | Avatown
しかし暗くなるとすぐコレ。Standard相当なのでやむなし。


いいなと思ったら応援しよう!