Live2DでのY軸とZ軸の逆転とはなんぞ!!?という感じですが、まぁLive2D弄ったことある人なら誰しも、ここどうするんだって疑問に思うことなのかもしれません。
この問題です。
本来なら横を向いてる時のZ軸の正しい動きというのは、
これの解決方法は、X,Y,Z3つにパラメータをつけて一つ一つ手作業でモデリングするか、乾物ひもの大先生がtwitterで解説していた通りです(物理演算で補正するパターン)。
物理演算で補正する方法というのは、超絶簡略化すると、やってることはこうです。
X+30、Z+30の時にYは+方向に移動させる
X+30、Z-30の時はYは-方向に移動させる
X-30、Z-30の時にYは+方向に移動させる
X-30、Z+30の時にYは-方向に移動させる
この4つがうまい具合にお互いを引っ張り合ってるので、中心(X0,Z0)にいくほど、Y補正の影響はなくなります。
そこで一つ疑問が出てきました。
デフォルトで正面向いてないモデルの時はどうするんだ…!!???
デフォルトで正面を向いていないモデルというのは、X0、Z0の時(デフォルト値)顔が少し横を向いてるモデルになります。
このモデルの場合は、先ほどの補正の方法でやると、想定外の動きをします。
本来なら、0のところにも補正がかかってほしいのに、物理演算方式の補正を使うと、0に近いところほど補正がかからなくなるので、Z軸とY軸の逆転現象が起きてしまいます。
また正面顔になった際には補正がかかってしまいます。
この解決方法を探るうえで、もしかしてデフォルト値を-15とかにして、いつも通り0に来た時に正面顔にすればいいんじゃないか…!!?とも考えましたが、vtube studio に持ってきたときに、デフォルト値に関係なしに、自分が正面を向くと、強制的にモデルも正面向いてしまいました。
デフォルトで横向いてるモデルは、自分が正面向いてる時、モデルが横向いてなきゃダメだと思うので、この方法は使えません。
じゃあどうすりゃいいのか。
まず、物理演算補正というのは、数字が0になったら補正がかからなくなるのではなく、実際には数値関係なく、四隅を結んだ中心に行くほど補正がかからなくなります。
じゃあ真ん中に正面顔が来るようにX軸の数字を弄ってしまえばいいのです。
今回のサンプルモデルではこんな感じ
※追記 https://www.fanbox.cc/@mogumoguzaemon/posts/3844529
ここ★角度Xの数値も-15 +60に調整してますが、調整する必要なかったです(あれ~???)
物理演算設定はこんな感じです(適当)
これでデフォルトの状態でも補正がかかります。
ただデメリットがあって、右端と左端の顔の横向き加減が違っても、同じ強さの補正がかかります。
解決方法は、両端の顔の横向き加減を合わせるくらいしか思いつきませんでした。
だれか左右で補正のかかり具合を変える方法を教えてくれ。