見出し画像

VRoidプラグインV1→V2移行ガイド

ティラノスクリプト向けVRoidプラグインのV1系統からV2系統へ移行する際の変更点や注意点をまとめます。

V1からの変更点

・three.jsのアップデート(ティラノスクリプト内蔵のr132 → r158)
・three-vrmのアップデート(v2.1.3 → v3.1.1)
・vroid.jsのモジュール化
・特殊なテクスチャー編集をしたVRMファイルのサポート
・Config.tjs「use3D」の不要化

・[VRoid_new]にuseWebGL2及びshowFPSパラメーターを追加
 fovパラメーターの初期値を変更(45 → 30)
 farパラメーターの初期値を変更(1000 → 100)
 highLightパラメーターの初期値を変更(0.314 → 0.3141592653589793)
 limitFPSパラメーターの初期値を変更(auto → true)
 lightパラメーターの名前をlightTypeに変更

・[VRoid_layer_show]と[VRoid_layer_hide]のmethodパラメーターの廃止
 skipパラメーターの追加

・エフェクト機能の追加
 [VRoid_effect_preload] [VRoid_effect] [VRoid_effect_delete]

・画像追加機能の追加
 [VRoid_img_add][VRoid_img_delete][VRoid_img_move]
 [VRoid_img_show][VRoid_img_hide]

・カメラやモデルの移動・回転・拡大機能の仕様変更
 [VRoid_camera_position]、[VRoid_camera_rotation]、
 [VRoid_zoom]、[VRoid_position]、[VRoid_rotation]の廃止
 [VRoid_camera_move]、[VRoid_model_move]の追加
 (上記廃止タグの機能統合)

・easingパラメーターの使えるタグのデフォルト値をeaseInOutQuartに統一

・rotx、roty、rotzパラメーターをrotX、rotY、rotZに変更

use3Dについて

V1ではuse3Dを有効にすることによりティラノスクリプト内蔵のthree.jsを使用していました。
V2からはプラグイン自体にthree.jsを持たせている為、use3Dが不要となりました。V2を使用する際は、Config.tjsのuse3Dをfalseに設定してください。

※デフォルトがfalseなので、V1からの移行をした際のみ必要です。

※use3Dの機能とVRoidプラグインを併用する際はuse3Dを有効化する必要がありますが、use3Dの機能に干渉している可能性があります。(未検証)

一部タグの廃止に伴うコードの移行方法

[VRoid_camera_position]、[VRoid_camera_rotation]、[VRoid_zoom]、[VRoid_position]、[VRoid_rotation]が廃止され、[VRoid_camera_move]や[VRoid_model_move]にそれぞれの機能が統合されました。

その為、下記のようなコードは新しいタグに書き直す必要があります。

;V1までのコード
[VRoid_camera_position layerID="VRoid" x=0 y=1.3 z=1]
[VRoid_camera_rotation layerID="VRoid" x=0 y=0 z=0]

;V2からのコード
[VRoid_camera_move layerID="VRoid" x=0 y=1.3 z=1.5 rotX=0 rotY=0 rotZ=0]
;V1までのコード
[VRoid_position modelID="model1" x=0 y=1.3 z=1]
[VRoid_rotation modelID="model1" x=0 y=0 z=0]

;V2からのコード
[VRoid_model_move modelID="model1" x=0 y=1.3 z=1.5 rotX=0 rotY=0 rotZ=0]

また、zoomやscaleの調整も同時に行えます。

;カメラのズームを0.5倍にするコード
[VRoid_camera_move layerID="VRoid" x=0 y=1.3 z=1 zoom=0.5 time=1000]

;モデルを左右反転して1.1倍表示するコード(Xにマイナス値を入れると左右反転)
[VRoid_model_move modelID="model1" scaleX=-1.1 scaleY=1.1 scaleZ=1.1]

またV1まで使用してたrotx、roty、rotzパラメーターは全てrotX、rotY、rotZに統一されています。rotやscaleはXYZを大文字で指定する必要がありますので記述には注意してください。

[VRoid_new]の仕様変更

カメラやレンダリングの初期設定に関する部分で多くの変更があります。
特にfovパラメーターが45から30に変更されている為、既存のコードのままだとモデルが手前に表示されます。
その場合、fovパラメーターをV1と同じ45に設定するか、カメラのZ軸を1.5倍に変更するとV1と同じような初期状態の見た目になります。

また、limitFPSがデフォルトで有効となりました。(V1はPCとそれ以外でリミットをかけるか自動判別)
フレーム落ちした際に、モデルの物理演算が乱れるようなので(モデルが移動する際に、揺れ物がプルプルと震えるように動く現象)様々な環境で同様の見た目を保つためにデフォルトは有効としました。
今後のthree-vrmのアップデートや、実装などで改善された場合はautoに戻す予定です。

easingパラメーター

タグによってはeasingパラメーターのデフォルトがeaseになっているものもありましたが、easeInOutQuartに統一されました。
既存のタグで動きが変わったなと感じたらeasing=easeに変更してみてください。

VRMの見た目の変化

モデルによってはthree.jsのバージョンアップに伴いシェーダーの扱いが変わる関係で見た目に影響が及んでいる場合があります。(VRoid Studio製のVRMの場合はほとんど影響ありません)

左:V1 右:V2

こちらは仕様です。プラグインの設定で変更はできません。

セーブデータの互換性

V1の状態でセーブしたゲームのセーブデータはV2に移行した後に正常にロードできません。
既に公開済みのプロジェクトにアップデートを適用する際は注意してください。

ティラノスクリプトの必須バージョンの緩和

移行とは関係性が薄いですが、V1ではV521a以降が必須なところを、V2からはティラノスクリプトV5の全バージョンで使用が可能となっています。
勿論V6でも動作可能です。

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

ねこの
ゲームを楽しんで貰えたり、記事やプラグインがお役に立てましたらサポート(投げ銭)を頂けると幸いです!