土台ー旋回ー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が自由に動くようになります
単純にSimulatePhysicsをした物体をSkeletalMeshの動きで動かしたいだけなら、SkeletalMesh側にはSimulatePhysicsは必要ありません
PhysicsAssetとCollisionを適切に設定していれば干渉できます
SimulatePhysicsとAnimationは通常同時には使用できません
これらは同じタイミングで計算が行われる上、物理のほうが優先して適用されるためです
物理的な作用を受けながらAnimationを実行したい場合は、PhysicalAnimationの設定をする必要があります
アドバイスありがとうございました。
モデルの構造とコリジョン設定をもう一度見直したところ
アドバイスの通りシンプルな設定で実現することができました。
大変助かりました。