忍者ブログ
【備忘録】キャラクターモデルの物理アセットを作成する
クロスシミュレーションやリジッドボディを作成する前に物理アセットが必要になります。
また、物理アセットを作成することでラグドールや物理アニメーションを適応することができます。



【物理アセットを新規作成する】
キャラクターモデルをインポートした時に自動で新規作成されています。


もしも作成されていない場合は、スケルタルメッシュを右クリックして、作成する、物理アセット、作成を選択してください。




【物理アセットを編集する】
作成したばかりの状態ではこのように、コライダーの大きさもコンストレイントの角度も適切な状態ではありません。
カプセル型の体の部位ごとにコリジョンを設定するものがコライダー、コライダーとコライダーの間をつなぐ扇形のものがコンストレイントです。


このまま物理シミュレーションを行ってラグドール化すると、関節の可動域を超えてぐにゃぐにゃになって糸の切れたマリオネットのようになってしまいます。

※上のメニューの右のほうにシュミレートボタンがあります。

これを編集で整えていきます。


【コライダーの編集】
①コライダーの大きさ・位置・角度を整える
大きさを変えたいコライダーを選択して、大きさ・位置・角度を調整します。
スペースを押すとスケールモード・移動モード・回転モードを切り替えられます。


②コライダーを左右対称にする
このようにコライダーが左右非対称になってしまった場合、


正しい位置にある方のコライダーを右クリックして、Mirrorをクリックすると左右対称になります。




③コライダーを追加する
上の画像を見ると上腕にはコライダーがありますが前腕にはありません。
こういう時はまずスケルトンツリーの歯車をクリックして、すべてのボーンを表示を選択します。


ボーンの一覧からコライダーを追加したいボーンを選んで右クリックして、形状を追加、カプセルを追加を選択します。


無事コライダーが追加されるので、大きさや位置を整えます。


最終的にこのような形になりました。
すべてのボーンにコライダーを設定する必要はありません。
あとから参考にするUE5マネキンよりコライダーの数が少ないですが、これでも十分機能します。



【コンストレイントの編集】
①コンストレイントの値を調整する
コンストレイントの値はその関節の可動域を決める値です。
Swing1、Swing2、Twistの3つの値で制御します。
制限なく揺れさせたい場合はFreeを、固定したい場合はLockedを選択します。
この値を調整してラグドール化した時に関節が不自然な曲がり方をしないようにします。

ひとつひとつシミュレーションしながら値を調整するのは大変なので、UEマネキンの物理アセットを参考に数値を決めていきましょう。
自分の作り方ではUE5マネキンよりコライダーの数が少ないですが、コライダーを省略している部分は一番近い部位のコンストレイントを参考にすると良いです。

②コンストレイントをコピーする
左右のコンストレイントを同じにしたいときなどは、コンストレイントをコピーすることができます。
このように右肩に設定したコンストレイントの数値を左肩にもコピーしたいときは、


右肩のコンストレイントの上で右クリックしてプロパティをコピーを選択します。


左肩のコンストレイントの上で右クリックして、プロパティを貼り付けを選択します。


一つ一つコピーしなくても一括で設定する方法もあります。
このようにグラフエリアで同じ数値に設定したいコンストレイントを一括選択しておくと、一括でコンストレイント値を設定することができます。


③コンストレイントを追加する
このように胴体から腕へのコンストレイントが足りない場合、コンストレイントを追加します。


胴体のコライダーの上で右クリックして、コンストレイント、upperarm_lを選択します。
もう一度右クリックしてupperarm_rを選択します。


するとこのようにコンストレイントが追加されます。



最終的にこのような形になります。


この状態でシュミレートすると関節の可動域が自然な感じになります。



これで物理アセットの設定が完了したのでクロスシミュレーションやリジッドボディの設定を行うことができます。
PR
この記事にコメントする
Name
Title
Color
E-Mail
URL
Comment
Password   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
プロフィール
HN:
山乃 ゆぎと
性別:
非公開
最新コメント
[09/06 グリペン]
[07/03 くらげ]
[04/30 NONAME]

Template by Emile*Emilie
忍者ブログ [PR]