物理演算について

最終更新: 2023年9月21日

物理演算とは

Cubismでは、顔の振り向きにあわせてリアルタイムで髪揺れの動きがつくような、物理演算を設定して書き出すことができます。

このページでは、[物理演算設定]ダイアログ内の[物理演算]の設定項目を解説しています。
物理演算の設定手順については『物理演算の設定方法』をご覧ください。
物理演算は[モデリング]メニュー →[物理演算設定を開く]から、設定を行えます。

※[物理演算設定]ダイアログ内には[プレイリスト]タブもありますので
 [物理演算]タブが選択されていることをご確認ください。

物理演算タブの構成

番号項目詳細
計算FPS物理演算を行う時のフレームレートを設定します。

FPSは以下の4種類から選択するか、任意の値を入力してリストに登録できます。
15/30/60/120

使用するシーンのFPSに合わせて物理演算の設定を作成することで、違和感のない再現が可能となります。
用途が未定の場合は初期値の60fpsを推奨します。
60fpsに設定することで、SDK R5 beta2以前の環境でも物理演算の出力結果の変化の影響が少なくなります。
詳しくは「Cubism 4.2機能のSDK互換性について」の「物理演算のFPS対応」をご覧ください。

物理演算メニューの [計算FPSを初期化] で初期状態の60fpsにリセットできます。
※Cubism 5.0beta1から初期値を30fpsから60fpsに変更しました。
計算FPSを変更することで、物理演算の出力結果が変化しますので必ず動きをご確認ください。
グループ設定モデルに追加する物理演算の設定はグループ単位で扱われます。
「前髪揺れ」「スカート揺れ」のように、揺らしたい各部位毎にグループを作成できます。
入力設定物理演算の入力として扱うパラメータの設定を行うための項目です。
振り子でいう”糸を吊っている部分”に関する設定を行います。
ここで指定したパラメータの影響度が変動することで、後述する[出力設定]の値に影響します。
出力設定計算した揺れを出力するための設定を行う項目です。
物理モデル設定実際に動かしたときの揺れ方を設定するための項目です。
振り子でいう”おもり”に関する設定を行います。
[入力設定]で設定されたパラメータの値の変化をもとに計算するための設定項目になります。
振り子プレビュー[入力設定]と[物理モデル設定]で計算された結果を振り子の動きとしてプレビューします。

計算FPSについて:
FPSの情報は[物理演算・シーンブレンド設定]を開くことでモデルファイルに設定されます。
([計算FPS]の値も変更した時点でモデルファイルに設定されます。)

FPSの情報はCubism Editor 4.1.02のバージョンからモデルファイルに保存されるようになりました。
4.1.01 以前で作成されたモデルファイルにはFPS情報が設定されていない場合があります。
モデルファイルに対するFPS情報の設定に関して、詳しい情報はSDKマニュアルの『Cubism 4.2機能のSDK互換性について』のページをご覧ください。
 

Unityのフェードにおいての注意点:
Unityではレイヤーという概念を使用して、モーションのフェードを含めた結果を更にブレンドできます。
Viewerでの再生結果は、Unityの仕組みを完全に再現するものではないため、再生結果が異なることがあります。 

グループ設定

項目詳細
グループ名[入力設定][出力設定][物理モデル設定]を行うグループを選択します。
有効チェックをいれることで選択中のグループの物理演算の有効/無効を一時的に切り替えます。
物理演算設定ファイルの書き出しには影響しません。
物理演算設定ダイアログを閉じる際にこの有効フラグは全てリセットされます。
追加新しいグループを作成し、追加します。
複製選択中のグループを複製します。
グループ編集各グループの編集をします。

入力設定

入力プリセット

[入力][種別][影響度]があらかじめ設定されている[入力]プリセットの設定を読み込み、瞬時に[入力設定]を行うことができます。
自分で作成した設定はプリセットとして保存し、使いまわすことも可能です。

項目詳細
名前保存されているプリセットを選択します。
デフォルトで「頭 入力」「胴体 入力」「胸 入力」の3種類が用意されています。
読み込み選択したプリセットを読み込みます。
追加現在の設定をプリセットとして追加します。
上書き保存選択したプリセットに現在の設定を上書き保存します。
名前変更選択したプリセットの名前を変更します。
削除選択したプリセットを削除します。

入力設定項目

項目詳細
追加[入力]として扱うパラメータを追加します。
削除選択した[入力]パラメータを削除します。
選択した[入力]パラメータの位置を上に一つ移動します。
選択した[入力]パラメータの位置を下に一つ移動します。
入力[入力]として扱うパラメータです。
このパラメータの値が変化することで、[出力]に設定しているパラメータに揺れが生じます。
プルダウンからパラメータを変更することも可能です。
種別設定したパラメータの値の変化を、どういう動きとして扱うかを設定します。
位置X:横方向の移動として扱う
角度:Z軸方向の傾きとして扱う
影響度(%)複数のパラメータを[入力]として設定している場合、どの[入力]がどういう割合で影響するかを設定できます。
同一グループ内に同じ[種別]のパラメータが複数ある場合は、値が大きく設定されたパラメータの影響を大きく受けます。

※同じ[種別]の影響度は、合計で「100%」以上に設定できません。
 違う種別の場合は、それぞれ最大で100%に設定することができます。
反転チェックを入れると[入力]パラメータの+と-を反転します。
[入力]を反転させたい場合に使用します。

入力の正規化

頭などの傾きに応じて、髪が重力に向かって真下に垂れて静止するようにするための調整です。
モデルに設定した「頭」や「体」の傾きは、それぞれのモデルで角度が違うため、
必要に応じて角度の入力を正規化するとクオリティを上げることが出来ます。
(位置に関しては、特殊なモデルの場合に使用しますので、デフォルト値でも大丈夫です)

項目詳細
角度角度の正規化を設定できます。
[最小][中心][最大]はデフォルトで「-10.0」~「0.0」~「10.0」に設定されています。
この値は任意で変更が可能です。
位置X位置の正規化を設定できます。
[最小][中心][最大]はデフォルトで「-10.0」~「0.0」~「10.0」に設定されています。
この値は任意で変更が可能です。

一般的なモデルは、デフォルトのままでもおおよその正規化は行えているのですが、
より細かく調整したい場合は正規化の調整を行ってみましょう。

「角度」の正規化の値について

入力で指定されるパラメータの最小・最大の定義を、入力の正規化で指定される最小~最大の範囲に変換する処理を[入力の正規化]といいます。
(中心は、パラメータ定義の最小最大の中間の値が、正規化の中心になるように変換します)

各パラメータの正規化された値の中で、種別を[角度]としているものに対し、
影響度を考慮してブレンドした1つの値が一番上の振り子の角度として反映されます。

物理モデル設定

物理モデルプリセット

[長さ][揺れやすさ][反応速度][全体の速度]があらかじめ設定されている[物理モデル]プリセットの設定を読み込み、瞬時に物理モデル設定を行うことができます。
自分で作成した設定はプリセットとして保存し、使いまわすことも可能です。

項目詳細
名前保存されているプリセットを選択します。
読込み選択したプリセットを読み込みます。
追加現在の設定をプリセットとして追加します。
上書き保存選択したプリセットに現在の設定を上書き保存します。
名前変更選択したプリセットの名前を変更します。
削除選択したプリセットを削除します。

物理モデル設定項目

項目詳細
追加新しい振り子を追加します。
削除選択した振り子を削除します。
選択した振り子の位置を上に一つ移動します。
選択した振り子の位置を下に一つ移動します。
No振り子を多段設定にする場合、上から順番に番号が割り振られます。
この番号は後述する[出力設定]で使用します。
長さ揺れのスピードを設定できます。
値が小さければ素早く動き、大きくなるほど揺れがゆっくりになります。
パラメータ値の変化量を変えずに速度だけ変更したい場合は、[反応速度]の項目を調整してください。
揺れやすさ揺れの大きさを設定できます。
値が大きいほど、少しの入力でも大きく揺れるようになります。
目安として、0.7~0.99の範囲で設定を行ってください。
反応速度揺れの反応速度を設定できます。
入力に対してどれだけ機敏に反応するかの設定です。
「1」で等倍となっており、「1」より大きければ機敏に、小さければ反応が鈍くなります。
振り子が多段になっている場合は、親の振り子の動きに対して子の振り子がどれほど機敏に反応するかの設定になっています。
収束の早さ揺れが収まるまでの早さを設定できます。
「1」で等倍となっており、「1」より大きければ収束が早く、小さければ遅くなります。

振り子のプレビュー

項目詳細
プレビュー[物理モデル設定]上で計算された振り子本来の動きをプレビューします。
ただし、[入力設定][出力設定]で設定された影響度は振り子には反映されません。
振り子の設定で[追加]をクリックすると、下に向かって振り子が追加されていきます。
プレビュー上でマウスホイールを操作することで、スケールを調整することが出来ます。
原寸プレビューを原寸で表示します。
全体振り子全体を表示します。
左回転/右回転プレビューの角度が45度回転します。
ここで変更された角度は、振り子の揺れ方には影響しません。

右クリックメニュー

項目を右クリックするとメニューが表示され[追加]や[削除]が行えます。
項目は複数選択することもできるため、一括で削除することも可能です。

出力設定

出力設定項目

項目詳細
追加[出力]として扱うパラメータを追加します。
削除選択した[出力]パラメータを削除します。
選択した[出力]パラメータの位置を上に一つ移動します。
選択した[出力]パラメータの位置を下に一つ移動します。
最大出力を自動更新チェックを外すと、[最大出力(%)]の自動更新が停止します。
振り子No[物理モデル設定]で設定した振り子のうち、どれを使用して出力するかを指定します。
出力[出力]として扱うパラメータです。
設定したパラメータに、各項目の設定から計算した揺れが適用されます。
プルダウンからパラメータを変更することも可能です。
影響度(%)Cubismの物理演算では、複数のパラメータを入力することが可能です。
複数の物理演算の結果からパラメータの値へ出力する場合、どの出力が何対何の比で影響するかを、この項目で設定します。
反転チェックを入れると出力パラメータが反転します。
倍率計算された値に掛ける値です。
この値が大きいほど大きく揺れ、小さいほど揺れが小さくなります。
最大出力(%)最大出力(%)は、倍率をかけた結果の出力値が、出力先のパラメータの0から最大値の何%まで動いたかを表します。
出力調整(アップ)[最大出力]が100%まで届いておらず、振り子の動きが小さい場合、[最大出力]が100%になるように倍率を自動で調整します。
出力調整(ダウン)[最大出力]が100%以上で振り子の動きが振り切れていた場合、[最大出力]が100%になるように倍率を自動で調整します。
倍率のリセット[倍率]を1.0へリセットします。
最大出力をリセット[最大出力]をリセットします。
Tips

倍率は、振り子Noで指定される振り子の角度(親振り子との相対角度)がラジアンとして取り出され、
そこにこの倍率を掛けた値を出します。
そして、その値と現在のパラメータ値を、影響度を考慮してブレンドします。(100%なら上書きします)
(複数のグループで、同じパラメータが影響を受けるように定義している場合は、グループの順番で上記の計算を繰り返します。)

右クリックメニュー

項目詳細
追加出力項目を追加します。
一括でグループとして分離選択中の出力設定項目全てを含むグループをひとつ新規作成します。
入力設定項目も複製されます。
個別のグループとして分離選択中の出力設定項目を全てひとつひとつ個別のグループとして新規作成します。
入力設定項目も複製されます。
削除出力項目を削除します。
複数選択して削除することも可能です。
コピー出力項目をコピーします。
複数選択してコピーすることも可能です。
貼り付けコピーした出力項目を貼り付けます。
他のグループへ貼り付けることも可能です。
この記事はお役に立ちましたか?
はいいいえ
この記事に関するご意見・
ご要望をお聞かせください。