Live2D 3.0のpixcelsPerUnitの値を変えるとUnity上でどう映るか?
って検証をしてみた的な話。
なんでこんなことをしたのかというと、3.0で組み込みファイルを作成してUnityにいざモデルを配置してみると、みんなまず最初にアレ?ってなると思うんですよ。
カメラサイズがモデルに対して遠すぎるのが原因だからカメラサイズを小さくすれば良さそうだけど、ほんとにそれって正しいの?
最初っからUnityのデフォルトのカメラサイズ(Size:5)に合うようにLive2Dモデルを書き出すのが良いのではないの?
Unityでは画像の大きさを「pixcelsPerUnit」というもので表しているみたいで、これと同じ文言がLive2Dの書き出し設定にもあり、ここの値をいじると何か変わるんでは?とおもっていじってみた結果をつらつらと書いていきます
今回は見た目は同じモデルだけど書き出し設定を変えた2つのモデルを用意して検証してみました。
(イラスト:まな様)
今回の書き出し設定はこの2つ。
①デフォルト設定。特に何もいじらなければこんな感じの設定。
このモデルの組み込みファイル一式のフォルダ名を「runtimes_pPu_Default」
②もう一つ、pixcelsPerUnitの数値を「1」にしただけの設定。
このモデルの組み込みファイル一式のフォルダ名を「runtimes_pPu_1」
としてモデルを用意しました。
motionファイルやjson、テクスチャのサイズなどは書き出した結果、どちらのモデルも同じものでした。※moc3のファイル容量も変わってなかったですね。
その結果がこちら
① runtimes_pPu_Default

モデルを配置したときにモデルが小さく見えたので、カメラのサイズを5→0.7としてカメラを接近させました。とくに問題ないですね。
② runtimes_pPu_1

モデルを配置したらサイズが大きすぎて、どアップ状態になったのでカメラのサイズを5→1000とかなり遠ざけました。
Sceneビューがえらいことになりました。ハイライトが点滅するわ、太ももがすねより前にでてるわ、左腕が背中に周るわわえらいことになってます。描画順がやばいことになってますね。
Gameビューは問題ないんですがこれ実機に持っていったらどうなるんだろう…(試してない…)
ということでカメラサイズを小さくする(常識の範囲内で調整する)が正しそうです。
Unityのデフォルトのカメラサイズ(Size:5)に合うようにLive2Dモデルを書き出すのも良いと思います。
ただしやっちゃいけないのは「おっきいサイズの組み込みファイルを用意しとけばええやろ!きっと高画質だし!」みたいな間隔でLive2D 3.0の組み込みファイル書出し設定で「pixcelsPerUnit」の値を1にするとあかんことになるかもしれないってことでした。
おわり。