土台ー旋回ー2つのアームーツメ
の構造のロボットアームを WASD 上下左右でアニメーション
まで作れています
図のようにツメにコリジョンをつけて、箱を持ち上げたりさせたいのですが
再生すると ポトリと落ちてしまいます。
姿勢のコントロールは
軸入力値をCASTでアニメーションBPのEventGraphに投げ、AnimGraphで各軸トランスフォームに入力しています
土台に入れたコリジョンだけはうまく機能するのですが…
ご知見いただけますと大変助かります。
土台ー旋回ー2つのアームーツメ
の構造のロボットアームを WASD 上下左右でアニメーション
まで作れています
図のようにツメにコリジョンをつけて、箱を持ち上げたりさせたいのですが
再生すると ポトリと落ちてしまいます。
姿勢のコントロールは
軸入力値をCASTでアニメーションBPのEventGraphに投げ、AnimGraphで各軸トランスフォームに入力しています
土台に入れたコリジョンだけはうまく機能するのですが…
ご知見いただけますと大変助かります。
Constraintの状態はどうなっているでしょうか?
NodeGraphが切り取られているため状況がわかりませんが、ぱっと見た感じConstraintが設定されてなさそうに見えます
SkeletalMeshのPhysicsAssetは、RigidBodyとConstraintの組み合わせで表現します
この場合のConstraintはBoneと似たようなもの、と考えてOKです
このConstraintが、BodyとBodyの位置関係や可動性を司っています
BoneはPhysicsAssetの可動性に関係ありません
添付はMannyのPhysicsAssetの背骨の部分です
Graphに表示されている通り、BodyとBodyの間をConstraintが存在します
このConstraintは、BodyとBodyの距離、可動角度をLinearLimit、AngularLimitという数値でコントロールしています
このConstraintがない、あるいはLinearLimitやAngularLimitがFreeになっている場合、物理演算が有効になると各Bodyが自由に動くようになります
T_Sumisakiさん
アドバイスありがとうございます!
確かに、Constraintを定義していませんでした。
そこで、土台のBaseBoneと旋回軸となるSwingBoneをConstraintしてみたところ
が
キー入力で旋回をさせても入力値(左上のSwing値)に対して
モデルの赤い旋回軸が動かなくなってしまいました。
Mannyの構造とチェックボックスの状態を見つつ比較しているつもりではあるのですが
何か見落としやすい点などありますでしょうか。
単純にSimulatePhysicsをした物体をSkeletalMeshの動きで動かしたいだけなら、SkeletalMesh側にはSimulatePhysicsは必要ありません
PhysicsAssetとCollisionを適切に設定していれば干渉できます
SimulatePhysicsとAnimationは通常同時には使用できません
これらは同じタイミングで計算が行われる上、物理のほうが優先して適用されるためです
物理的な作用を受けながらAnimationを実行したい場合は、PhysicalAnimationの設定をする必要があります
アドバイスありがとうございました。
モデルの構造とコリジョン設定をもう一度見直したところ
アドバイスの通りシンプルな設定で実現することができました。
大変助かりました。