Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE4 物理アニメーションでキャラを動かしてみる

UE4.13から導入された物理アニメーションという仕組みがあります。

結構時間が経ったので、公式での解説がでてくるかなと思いきや、未だに解説どころか日本語の情報が皆無なので、さっくりと調べてみたことを書いてみます。

まず物理アニメーションには当然ながらスケルタルメッシュのキャラクターが必要です。いつもお世話になっている、サードパーソンテンプレートのマネキンことグレイマンが最も使いやすいので、それをベースに解説します。

f:id:alwei:20161018205841p:plain

物理アセットツールでプロファイルセットアップ

最初にマネキンの物理アセットツールを開きます。物理アセットツールのメニューから"ウィンドウ"の"物理アセット"を開き、"Physical Animation Profiles"をひとつ追加します。

f:id:alwei:20161018205917p:plain

次にメニューバーから"Profiles"ボタンを選択し、追加したプロファイルを選択します。そして左側のボーン階層から"pelvis"というボーンを選択します。それ以外のボディと一体になったボーンを選択でも構いません。

f:id:alwei:20161018210417p:plain

そして"Add to Profile: ProfileName"ボタンを選択。これで物理アニメーション用のプロファイルデータができます。

f:id:alwei:20161018210653p:plain

おもむろに上記のようにパラメーター値を入力します。これは調整値なので、必要に応じて変更してください。これで物理アセットツール内での作業は終了です。

ブループリントを作成

ここからはブループリントの調整です。"ThirdPersonCharacter"のブループリントを開きましょう。

f:id:alwei:20161018211012p:plain

まずは"CapsuleComponent"の横の長さを小さくしておきます。"Capsule Radius"を"11.0"くらいに。これで身体の部分を壁に衝突させることができます。

f:id:alwei:20161018211218p:plain

次にスケルタルメッシュのコリジョンを調整します。コンポーネントから"Mesh"を選択してください。そして詳細パネル内でコリジョンプリセットを"Custom"に変更し、上記のような設定にしておきます。これで物理処理のみが可能になります。

f:id:alwei:20161018211419p:plain

そして最大のキモとなる"Physical Animation"コンポーネントを追加します。これで物理アニメーションを利用可能となりました。あとはブループリントノードを組むのみです。

f:id:alwei:20161018211551p:plain

ブループリントのノード部分は上記で全てです。もちろん細かく調整する場合には更なら設定が必要です。変数"Bone Name"には腰のボーンである"pelvis"という値がデフォルト値で入っています。これで全ての準備が整いました。

キャラを動かしてみる

それでは早速実際に動かしてみましょう。

f:id:alwei:20161018212759g:plain

面白い感じに動いています。試しに壁に当たりにいくと腕が壁に当たって肩が後ろの方へと押し出された状態になります。

f:id:alwei:20161018212958p:plain

さて、これで簡単な物理アニメーションの使い方がわかりました。このシステムは実に奥が深いので、調整次第でもっともっと面白い動きができると思います。

詳しい解説は公式のライブストリーミングでも解説されているので、英語で観るのが苦ではない人はぜひ一度観てみてください。

www.youtube.com