物理演算機能

物理演算機能は、揺れなどの物理現象をシミュレートした物理点の動きに応じてアートメッシュを変形させる機能です。
この機能を使用することで、キーフォームを追加することなく揺れたときの形状をリアルタイムで生成することができます。

物理演算について

物理演算は独自の物理エンジンによって行われます。
物理演算を適用する物理点は、3Dにおけるボーンとよく似た構造を持っています。
3Dモデルのアニメーションによる移動や回転を起点に適用し、「回転の種類」や「重力の有無」などの設定を考慮しながら子に伝えていくことで各物理点を運動させます。
運動の伝搬は基本的に親から子の方向でのみ行われますが、衝突判定で衝突を解消する際にのみ子が親を動かすことがあります。

衝突判定について

物理点と3Dモデルそれぞれに衝突判定を設定することで物理点やそれに紐づくアートメッシュが3Dモデルに突き刺さったり通り抜けたりといったことを防ぐことができます。
物理点の衝突判定は詳細パレットから設定でき、3Dモデルの衝突判定は「作成」メニューの「衝突判定(3D)を一括生成」から生成できます。
衝突判定の球状は、親がいない場合は球状、いる場合はカプセル状になります。
衝突判定は物理点と3Dモデルの間でのみ行われ、物理点同士、3Dモデル同士は衝突しません。

衝突が検出された場合、衝突を解消するように物理点がはじき出されます。この際、速度が0になるため、衝突によってバウンドすることはありません。
物理点の「回転の種類」が「固定」だったり、「回転角の上限」が設定されている場合、衝突の解消よりもその設定が優先されます。
その設定によって自身の移動のみで衝突を解消できない場合、親を辿って更に移動させていくことで解消を試みます。
それでも解消できない場合、衝突判定同士が干渉したまま、「回転角の上限」いっぱいまで回転した状態になります。

Cubismとの違い

Cubism では入力としてパラメータを使い、他のパラメータに対して物理演算を適用しています。
Euclid では入力として3D空間の位置を使い、アートメッシュの頂点や回転パラメータに対して物理演算を適用します。
これによって、キーフォームによる完全な形状の指定ができない代わりに、揺れ用のパラメータを用意したり、全方位の揺れた状態のキーフォームを作る手間を減らしています。

物理演算機能に必要な操作について

物理点を追加する

ツールパレットから物理点編集ツールを選択し、キャンバス上に物理点を追加していきます。
詳細については、『物理点編集ツール』を参照してください。

物理点の起点はキャンバスの中心に配置されます。
起点以外のすべての物理点は起点を原点としたローカル空間に配置されます。

3D空間でのキャンバスは、キャンバスパレットで設定されたEuclidモデルの中心に配置されます。

アートメッシュと物理点を対応付ける

追加した物理点とアートメッシュを同時に選択した状態で右クリックメニューの[物理点] > [対応付け:揺れ]をクリックすると、
選択していた物理点とアートメッシュを対応付けることができます。

物理点の動きを調整する

物理点を選択すると詳細パレットに設定項目が表示され、揺れ方や揺れの大きさ、速さなどを設定することができます。
詳細については、『詳細パレット』をの「物理演算」参照してください。

アートメッシュの動きを確認する

物理点と紐づいたアートメッシュの動きはシーンエディタやシミュレータで確認できます。
EuclidモデルがFBXのジョイントに接続された状態でFBXアニメーションが設定されたシーンを再生すると
FBXモデルの動きに応じて物理点が動き、それに紐づけてあるメッシュが変形されます。
物理点自身の動きはシミュレータ上で[物理点を表示]状態にすることで確認できます。
詳細については、『シーンエディタ画面』、および『シミュレータ画面』を参照してください。

Copyright © 2018 Live2D Inc.