ティラノスクリプト向けVRoidプラグインの今後のアップデートについて
ティラノスクリプト向けVRoidプラグインの今後のアップデートに関して、自分への覚書という意味も込めてお知らせします。
次回、メジャーアップデートを予定
現在、VRoidプラグインV2を開発中です。リリース時期は10月中を予定しています。
それに伴い、現行のV1の新機能の開発は終了します。不具合修正につきましては暫くはサポートします。
なぜV2の開発に乗り出したかというと、現行のV1はティラノスクリプトに内蔵されている3Dレンダリングを行うライブラリであるthree.jsを使用していましたが、後述の不具合を解消するには、このthree.jsとその付属のライブラリ群のアップデートが必要になりました。
その不具合が出てしまう画像がこちら。(※軽いホラー注意)
これはVRoid Studioで制作したVRMファイルを、unityでテクスチャー編集したものです。
このように、編集した内容によってはティラノスクリプト内蔵のthree.jsのバージョンでは対応しておらず、テクスチャーが崩壊してしまいます。
これを解消するためにthree.jsのアップデート含んだ、V2の開発に着手したというわけです。
V2での変更点
※開発中の為、途中で変更になるかもしれません。
セーブデータの互換についてですが、V1では例えば公開中の作品でプラグインを途中からバージョンアップさせてもセーブデータがそのまま使用できるように開発していました。
ただ、その互換性を維持するためにコードがやや煩雑化している部分があるため、この機会に一度すっきりさせてしまおうと検討しています。
そのため、もし既に作品を公開済みでV2にアップデートしてみようと検討している場合はこちらを頭の片隅に置いていてください。
また、今回のアップデートでライブラリの一新やモジュール化をした影響で開発環境ではCPU使用率は若干、メモリ消費は10~15%ほど改善がみられました。(今後機能追加により結局V1と変わらないくらいに落ち着くかもしれませんが……)
今まではティラノスクリプトのuse3D機能を有効化してプラグインを使用していましたが、これが不要になることでティラノスクリプトV5の古いバージョンでも使用可能となります。(※未検証。なお、現行のプラグインはティラノスクリプトV521a以降が必須)
three.jsのバージョン選定について
技術的な話になります。
three.jsのバージョンは2024年9月27日現在、r169が最新です。
なぜ10世代以上古いバージョンで決定したか説明します。
まず最新技術であるWebGPUについては、現状ティラノスクリプトV6でも非対応のため実装を見送りました。
また、r163からWebGL1の機能が削除されたため、今回はWebGPUを使用しない以上、様々な環境での互換性を重視した方が良いと判断しr162以下にすることに決定しました。
検証の結果r162~r159では、WebGL1を使用した際にシェーダー絡みのエラーが発生し、プラグインが動作しないために不採用。
r158ではWebGL1、WebGL2共に正常動作を確認したため採用を決定といった流れとなります。
V2のうちはthree.jsのバージョンを変更しない予定ですので、比較的古い環境でも引き続き動作が可能です。
今後の方針
前述の通り、V1は暫く不具合修正のみ行い新規機能はV2にのみ実装します。
また、WebGL1使用環境のサポートもなるべく続けます。
引き続きティラノスクリプトV5、V6両方でのプラグインの使用をサポートし開発を続けます。
ティラノスクリプトV6が比較的最近出たばかりですので、しばらくこちらのメジャーアップデートはないとは思いますが、もしWebGPUに対応した際はV3の開発に着手するかもしません。……かなり先の話になりそうですが。