Live2D物理演算解析 1

  • 6
    Like
  • 0
    Comment
More than 1 year has passed since last update.

わかってるつもりで何となくで使ってしまうLive2Dの物理演算。
内部の計算式が公開されておらず一体どんな特性を持っているのかなかなか把握しづらい。
今回はアニメーターのカーブ機能による曲線表示を使い、
パラメーターがどのように曲線に変化をもたらすのかを見ることによって、
Live2Dの物理演算の特性に迫っていこうと思う。

実験環境と手法

Live2D(modeler,animatior):ver2.1.09
Live2DViewer:ver2.2.1

モデルはX,Y軸の入力と出力を持つモデルを作成する
-1~1ではオーバーすることは把握済みなので
30倍スケール、300倍スケールの出力も持つ。
fpsは30ですべてを取り扱う。

これに入力をアニメーターで作りMTNファイルにし、Viewerで物理演算を行う。
その後出力をアニメーターに戻し曲線を見比べる。

実験

入力の鋭さに関して

入力スケールはX,Y-1~1の範囲
そこにXにおいて0から1への立ち上がり入力を入れる。
このとき1フレーム、3フレーム、15フレームで立ち上がりの早さが違う入力を用意する
inputs.PNG

この入力に対し、すべてのパラメータを1で統一した物理演算にかけて結果を重ねてみる
p1.PNG
p2.PNG
p3.PNG

all1out.PNG

出力の表示スケールはすべて300、
顔のXYZが30スケールだが余裕で飛び出ていることがわかる。
また入力の鋭さが大きく出力に反映されているのもよくわかる。
奇妙なのは1f、3fに見られる最初の波形であるが……
公式のHPで物理演算の説明を見るとこうある
kousiki.PNG

つまり、コレは振り子が一周してしまっている
アクセサリーなどの回転モノであればこの回転は使いようがあるかもしれない
ともあれ物理演算が必要なモノは大抵大回転などはあると逆に困るモノなので振り切れないように値を設定しなければならない
次はこの波形を小さくしていく方向で探っていく。