ぼっちプログラマのメモ

UE4とかUE5とかについて書いたり書かなかったり。

UE4のAnim Dynamicsを使って、グレイちゃんを揺らしてみた

ゆらした


はい

真面目な解説を希望する方は、alweiさんの記事を見ればいいと思います
unrealengine.hatenablog.com

解説という何か

今回はUE4の非公式マスコットキャラクタである
グレイちゃんの一部を揺らしました
Grayちゃんモデルデータ | rarilog

グレイちゃんの胸のボーンであるA_Breast_L, A_Breast_Rに物理を付けます
今回は分かりやすいように片胸だけ揺らします
f:id:pafuhana1213:20160404224519j:plain


まずはAnimationBPを組んで、こんな感じのノードを組みます
f:id:pafuhana1213:20160404224829j:plain

そしてAnimDynamicsノードの各パラメータをいい感じに調整します
参考までに↑の動画でのパラメータはこんな感じです
https://dl.dropboxusercontent.com/u/30427841/0404/parameter.jpg

パラメータの主な調整ポイント

Setup

今回はチェイン的な動きはさせない + AnimDynamicsでは移動範囲を設定できるので、
Chainフラグは無効にしています

他のボーンとの衝突を気にしなくていいので、BoxExtensは設定してません
胸がもう片方の胸に当たる場合は設定する必要があると思います

GravityScaleを0にしているのは、胸をバインバイン揺らしたかったからです
この辺りは好みがあるかと思います

Wind

今回は風使わないので無効に

Constraint

Linear X,Y,ZLimit Typeは、基本的にLimitedでいいと思います
Freeにすると…伸びます
f:id:pafuhana1213:20160404230211j:plain

Linear Aces Min,Maxは、物理による移動範囲です
ここのパラメータが最も重要であると言っても過言ではないでしょう

それより下のAngular系は回転制御用です
今回は胸は回さないので、特に設定してません

Planar Limit

物理によって胸が体にめり込むことがあったので、
平面コリジョンを追加しました

この平面の位置によっても揺れ具合が変わってくるので
慎重に調整しましょう

最後に

今まで色々と揺らしてきましたが、今回のAnim Dynamicsを使った方法が一番簡単でした

設定項目が少なくて簡単ですし、
Linear X,Y,ZLimit Typeによる移動範囲の制限があるおかげで
物理による荒ぶりが少ないのが特に便利です

ゲーム性に影響しない(他のオブジェクトからの影響を考えなくても良い)部分、
小物、髪の毛、胸、尻などはAnim Dynamicsを使うのがいいのかなぁと思いました まる