Skip to content

PlaneLimitに対し、初期位置でPlaneに潜っていたときや、高速移動で潜ってしまったときは潜りっぱなしになる #29

@monguri

Description

@monguri

仕様に関する質問です。
AnimBP_ChainKawaiiPhysicsCollision2を見ると、チェインが何も動いてなければ先の方のチェインはPlaneLimitに潜りっぱなしになります。

これは、FAnimNode_KawaiiPhysics::AdjustByPlanerCollisionにおいて、
FMath::SegmentPlaneIntersection(Bone.Location, Bone.PrevLocation, Planar.Plane, IntersectionPoint)
がtrueを返すときのみ押し出し処理をするというところから来ている挙動だと思います。

これは仕様として想定している挙動かどうかを伺いたいです。
ゲーム用途ですと何かのきっかけで潜ってしまっても押し出してほしいケースが多いと思いますし、
もし仮にPlaneを片面押し出しでなく両面に対して隔てる壁と捉えていれば、GetUpVector()の方向だけでなく、
逆方向にも押し出し処理がほしい感じはします。
ただ、現在の挙動の方が、KawaiiPhysicsSampleマップのようにチェインが左右に引っ張られるケースでは、潜っていたチェインがすべていきなり1フレームで飛び出すのでなく、PlaneLimitと交差したもののみ押し出されるので、急激に動くことがないというメリットはあると感じます。
なので、仕様であっても問題はなく、今回は確認させていただきたかっただけとなります。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions