物理演算ファイル作成(2.1版)

Live2Dでの物理演算は、揺れが出来る機能です。
Facerigで髪や胸が揺れる動きは、この物理演算です。

Facerigにて顔が動くと、髪がゆらゆら揺れたり、胸が揺れるモデルがあります。
それらはLive2D Viewer を使って作った物理演算ファイルがあるので揺れ動作をします。

物理演算と名前は難しいですがサンプルをそのまま使ったり、少し設定するだけできます。

Live2D Viewerをインストールし起動する



作り方の手順概要

Live2Dでの作業
もっとも揺れた時の状態を作り設定します
揺れのパラメータと関連させます
 後ろ髪揺れの例   後ろ髪揺れのパラメータと関連させる
 yure881.jpg

Live2D Viewerでの作業
どこが動いたら、どこが揺れるかを選んで数値を設定して
ファイルを書き出します
 例:顔X、顔Yが動いたら前髪が揺れる

Facerig用の作業
出来たファイルにキャラ名をつけて一緒のフォルダに入れるだけ
 キャラ名.physics.json



髪揺れに関しては、前髪、横紙、後ろ髪が揃ったサンプルがあります


FaceRig用に最適化

FaceRigでは体X、体Yが入力としては機能しない状態です
体Xはマウス操作、体Yは無し 
体Zは体Xの動きに変えている人もいると思います

髪揺れなどで 体X、体Yの入力を削除し
その分、体Z、顔XYZの値の増加をすると良いです 
下に参考値があります。



Live2D Viewerでの作業

他のモデルの状態を見て参考にする
 Facerigのフォルダにある参考キャラのmocファイルと
 物理演算用ファイル physics.json を入れます
 どのパラメータをどの位の数値で使っているかをメモします

自分のキャラを入れて元からある物理演算サンプルを入れ
メモした胸揺れを追加します

元からある物理演算サンプルは髪揺れしかありません
胸揺れや、ツインテ揺れは自分で追加が必要です

顔が動くと揺れる、体が動くと揺れるのはよくありますが
目や口が動くと揺れるなどしてみるのも、
おもしろいかもしれません

Viewerで動かしてみていい感じで揺れが出来たら
ファイルを書き出して、キャラ名.physics.json と名前つければ完成



FaceRig用、物理演算ファイルの作成しかた

一通りFaceRig用ファイルが揃った状態で、Live2D 2.1版のLive2D Viewer を準備する

・Live2D Viewerを起動すると四角い枠が出ます、そこに キャラ名.moc をドラッグしドロップします
・表示された画面のメニューの プロジェクト サンプル 物理演算:髪揺れ を追加
・メニューのアニメーション 物理演算を有効にする にチェックをして有効にする
・髪揺れの前 横 後ろが入っているサンプルなので髪揺れだけで良いなら、名前付けて書き出しする
・追加したい揺れ(胸揺れ、リボン揺れなど)がある時は追加して設定します
  揺れの名前をつけ、入力のパラメータを追加、出力のパラメータを追加、数値を調整
・パラメータバーを動かして揺れ具合をみて数値を調整、出来たら名前付けて書き出しする
・派手すぎる大きめに揺れるぐらいがFaceRigでは普通に見えていいようです


【Live2D】物理演算で髪を揺らす方法


【 参考 】
マウスでのパラメータ動かしと、FaceRigでの人の頭移動での動かしでは加速度が異なります、
マウス操作並みに素早く動かせば同じように揺れますが人の頭の動きでは大変です、
なので少し大きめに設定すると良いです



胸揺れ作り

Facerigのフォルダにあるキャラのmocファイルを
Live2D Viewer を使って開いてどのような胸変形にするのか
調べ参考にしましょう

元の絵をどうするか考え作ります
胸の部分をそのまま使う(小さい胸)、別途、胸の画像を作る(大きい胸)

Live2Dでの作業
新たなパラメータを作ります
胸揺れX PARAM_BUST_X -1 ~ 1  0  +で画面右へ
胸揺れY PARAM_BUST_Y -1 ~ 1  0  +で上に

左右の胸を囲うように胸揺れ用デフォーマX、Yを作ります
このデフォーマを体パーツの子に設定して、胸部分テクスチャを子にします

胸揺れXパラメータとデフォーマXを関連させ、Yも関連
胸の動きをデフォーマ変形で作ります

【 参考 】
胸揺れZ PARAM_BUST_Z -1 ~ 1  0  +で寄る、膨らむ、大きくなる



物理演算の パラメータID名の例

髪揺れ 前  PARAM_HAIR_FRONT  +で画面の右に動く 通常は物理演算用
髪揺れ 横  PARAM_HAIR_SIDE  +で画面の右に動く 通常は物理演算用
髪揺れ 後  PARAM_HAIR_BACK  +で画面の右に動く 通常は物理演算用
左横髪    PARAM_HAIR_SIDE_L
左後ろ髪   PARAM_HAIR_BACK_L
ツインテール左横揺れ  PARAM_HAIR_TWIN_L_X 
ツインテール右横揺れ  PARAM_HAIR_TWIN_R_X 
髪揺れツインテ  PARAM_HAIR_TAILS  +で画面の右に動く
ツインテ回転ふわり  PARAM_HAIR_TWIN_L_HUWA

髪ふわり   PARAM_HAIR_HUWARI   +で髪が外側に広がる、ふわっと揺れる
髪ゆるふわ   PARAM_YURUFUWA  
髪揺れ ふわ  PARAM_HAIR_FLUFFY  FaceRigでVキー基本と重複

髪揺れ ツインテール、ポニーテール、あほ毛、触覚
髪の物理演算揺れ用命名は全て命名は大変なので、その他としてまとめる案
髪揺れその他L  PARAM_HAIR_OTHER  その他の長い髪用
髪揺れその他S  PARAM_HAIR_OTHER_S  その他の短い髪用

アクセサリー、揺れ物、ひも先の物理演算揺れも個別命名は大変なのでまとめる案
頭の動きで揺れ  PARAM_HEAD_SWING  頭にあるアクセサリー、揺れ物、ひも先の物理演算揺れ用
体の動きで揺れ  PARAM_BODY_SWING  体にあるアクセサリー、揺れ物、ひも先の物理演算揺れ用
足の動きで揺れ  PARAM_FOOT_SWING  足にあるアクセサリー、揺れ物、ひも先の物理演算揺れ用

リボン揺れX  PARAM_RIBBON_X  RIBBONの左右揺れ
リボン揺れY  PARAM_RIBBON_Y  RIBBONの上下揺れ
髪揺れ アホ毛  PARAM_HAIR_AHOGE 
髪揺れあほ毛  PARAM_HAIR_AHO_X  あほ毛用

胸揺れ  PARAM_BUST_X  +で右に揺れる
     PARAM_BUST_Y  +で上に揺れる  
     PARAM_BUST_Z  +で前に揺れる
肉揺れ  PARAM_SHAKING_X 
肉揺れ  PARAM_SHAKING_Y 
瞳ハイライト揺れ  PARAM_EYE_BALL_LUSTER  ハイライトの物理演算揺れ (瞳の光彩揺れ)
瞳ハイライト感情揺れ  PARAM_EYE_BALL_EMOTION  ハイライトの物理演算揺れ (瞳の光彩揺れ)

腕揺れL  PARAM_ARM_L_SWING  手の物理演算揺れ
腕揺れR  PARAM_ARM_R_SWING  手の物理演算揺れ
手揺れL  PARAM_HAND_L_SWING  手の物理演算揺れ
手揺れR  PARAM_HAND_R_SWING  手の物理演算揺れ



【 参考 】
3.x版とは、Live2D 3.0 3.1 3.2 3.3版

3.x版での「物理演算設定の書き出し」では、moc用は作れません

Cubism Editor3.x版で「組込み用ファイル書き出し」の中の「物理演算設定の書き出し」を行うと
 .physics3.json ファイルが作られます。

このファイルは2.1版と比べ名前も違いますが中身も違い、リネームしても互換性なく使えません。

FaceRigに入れると
  .physics3.json だと 名前違いで使われない
  .physics.json にリネームすると FaceRigがエラーで起動しません。

Live2DViewerでは
  .physics3.json だと 名前違いで入らない
  .physics.json にリネームすると入るが設定が空白になりViewerが動かなくなる



物理演算の調整内容

・入力の並び順番が重要 

 上が1で100%使う設定にすると以下の入力は無効状態
 一番上は0.5とかにして下のも反映するようにする

 2段目の入力は大きくしても、結局1段目次第で絞られる

 3段目がある場合、1、2段目次第でとっても絞られるのでとても大きくてもいい


・扱いが別の 移動量の x と 角度の angle 
 4段目でも angle なら扱いが別です
 angle が1つしかないなら、1で100%でよい
 2つあったら上のを少し0.5とかにして下のも反映するようにする

・angle を x として使う時は数値変換すると良い  
 angleで0.8 なら xで0.022 とか

・出力は、最後の微調整に使うぐらいで定番の 0.022  1 angleで変えないのが良い

・入力、出力でマイナス値を使うと反転して作用する
 髪揺れで最初の揺れ向きを変えるのに有効




2.1版用 物理演算参考値

AX = PARAM_ANGLE_X 角度X(顔左右X)
AY = PARAM_ANGLE_Y 角度Y(顔上下Y)
AZ = PARAM_ANGLE_Z 角度Z(顔傾けZ)

BX = PARAM_BODY_ANGLE_X 体の回転 X FaceRig用では入力に使わないようにする
BY = PARAM_BODY_ANGLE_Y 体の回転 Y FaceRig用では入力に使わないようにする
BZ = PARAM_BODY_ANGLE_Z 体の回転 Z

 質量 長さ 揺れの減衰
 移動量 影響度 タイプ


髪前 hair_front
0.1  0.2  0.7     
AX 0.005 0.4 x
AY 0.022 0.2 x
AZ 1.6 0.8 an
BZ 4.8 5 an
out 0.022 1 angle


髪横 hair_side
0.22  0.35  0.6
AX 0.005 0.5 x
AY 0.015 1 x
AZ 0.8 0.5 an
BZ 2.4 1 an
out 0.022 1 an

髪後 hair_back
0.5  0.8  0.7        
AX 0.005 0.5 x
AY 0.008 0.6 x 0.012 1
AZ 0.8 0.5 an
BZ 2.4 2 an
out 0.022 1 an

髪ふわり揺れ用
髪ふわり hair_huwa PARAM_FLUFFY
0.2  0.5  1.9 
AX 0.01 0.5 x
AY 0.02 0.8 x
AZ 0.6 1 an
BZ 0.6 1 x
out 0.022 1 an

髪ふわりnew hair_huwa PARAM_FLUFFY
0.2  0.5  1.9 
AX 0.01 0.5 x
AY 0.02 0.8 x
AZ 1.2 0.8 an
BZ 4.8 5 an
out 0.022 1 an

PARAM_HAIR_FLUFFY
0.2 0.5 1.9
AX 0.01 0.5 x
AY 0.02 0.8 x
AZ 1.2 0.8 an
BZ 4.8 5 an
out 0.022 1.7 an


胸揺れ用
胸ゆれX
0.7  0.15  0.7
AX 0.005 0.8 x
AY 0.005 1 x
BZ 0.005 1 an
out bust_x 0.022 1 an

胸ゆれY
0.7  0.15  0.7
AY 0.005 0.8 x
AX 0.005 1 x
BZ 0.005 1 an
out bust_y 0.022 1 an

胸ゆれZ
0.99  0.15  1.4
AY 0.005 0.7 x
AX 0.005 1 x
BZ 0.005 1 an
out bust_z 0.022 1 an

胸ゆれY 
0.7  0.15  0.95
AY 0.005 0.4 x
AX 0.005 0.5 x
AZ 1.6 0.6 an
BZ 4.8 2 an
out bust_y 0.022 1 an  のいら


瞳のうるうる感用
瞳ゆれ 
0.01  0.01  0.5
AX 0.1 0.5 x
AY 0.1 0.5 x
AZ 0.1 0.5 angle
out eye_luster 0.022 1 an


瞳ゆれ 
0.01  0.01  0.49
AX 0.1 0.2 x
AY 0.1 0.3 x
PARAM_EYE_BALL_X 0.1 0.5 x
PARAM_EYE_L_OPEN 0.1 2 x
PARAM_EYE_R_OPEN 0.1 2 x
AZ 0.1 0.5 angle
BZ 2.4 1 angle
out eye_luster 0.022 1 an


瞳ゆれnew 
0.01  0.01  0.5    これで勝手に揺れる
PARAM_EYE_BALL_X 0.022 0.2 x
PARAM_EYE_L_OPEN 0.022 0.3 x
PARAM_EYE_R_OPEN 0.022 0.4 x
PARAM_EYE_BALL_Y 0.022 0.5 y
out eye_luster 0.022 1 an


瞳ゆれ けたま式 
0.1  0.04  0.1
AX 0.01 0.5 x
AY 0.01 1 x
AZ 0.01 1 angle
out EYE_HIGHLIGHT_SHAKE 0.022 1 an


位置移動元気感用
pozi_x
 0.3 1.5 1.8
AX -0.1 0.7 x
AZ -0.1 1 x
BZ 0.022 1 angle
out PARAM_BASE_X 0.1 1.5 an

pozi_y
 0.3 1.5 1.8
AY -0.1 1 x
out PARAM_BASE_Y 0.1 1.5 an


腕ぷらぷら振り 
arm_l
0.4 0.7 1.2   はんね
AX 0.005 0.4 x
AY 0.022 0.2 x
AZ 1.6 0.8 an
BZ 4.8 3 an
out
PARAM_ARM_L_01_001 0.11 1 an
PARAM_ARM_R_01_003 -0.11 1 an


arm_r
0.4 0.7 1.2 
AX -0.005 0.4 x
AY -0.022 0.2 x
AZ -1.6 0.8 an
BZ -4.8 3 an
out
PARAM_ARM_R_01_001 -0.11 1 an
PARAM_ARM_L_01_003 0.11 1 an


arm_l
 0.2 0.7 1.7  miyuri
AX 0.022 0.7 x
AY 0.022 1 x
AZ 1.6 0.8 an
BZ 4.8 3 an
out
PARAM_ARM_L_SWING 0.022 1 an
PARAM_HAND_R_SWING -0.022 1 an


arm_r
 0.2 0.7 1.7
AX -0.022 0.7 x
AY 0.022 1 x
AZ -1.6 0.8 an
BZ -4.8 3 an
out
PARAM_ARM_R_SWING -0.022 1 an
PARAM_HAND_L_SWING 0.022 1 an




					
  • 最終更新:2019-07-01 20:07:16

このWIKIを編集するにはパスワード入力が必要です

認証パスワード