[過去ログ] 【軽量】godot engine - part2 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
937(4): 2024/02/14(水)14:51 ID:ghvh5+Kq(1/3) AAS
Area2Dの衝突を即座に検知する方法ってないですか?
攻撃判定が食らい判定に重なったらダメージモーションに移行っていう当たり前のやつをやりたいんだが
ノードの移動変形が反映されて見た目では完全にパンチ食らってる状態なのに
衝突判定が更新されてなくて棒立ちのまま……っていう瞬間が1フレームだけ生まれてしまう
940(1): 2024/02/14(水)19:19 ID:Il63QURN(1) AAS
>>937
どうやってモーション管理してるかによるのでは
ステートマシンで制御したら?
943(1): 2024/02/14(水)21:22 ID:unr7G+lU(1) AAS
>>937
->Area2Dの衝突を即座に検知する方法ってないですか?
無い、Area2Dは物理サーバーだかの更新時に一斉に判定されるからワープ直後にいきなり判定とかは無理
Area2Dを毎フレーム動かしてるなら_physics_processを使った方がいい
状況がよくわからないがどうしても気になるなら最大FPSとか物理ティックをいじるしかないんじゃない
956: 2024/02/15(木)17:37 ID:sVKQXRzU(1) AAS
>>937
検証してみたが仕様っぽい
_physics_processが呼ばれるすぐ前に判定が行われるのでどうやっても1フレームのディレイが発生する
RaycastとかShapeCast、DirectSpaceStateとかは影響受けないからそれかな
パフォーマンスは知らん
外部リンク:forum.godotengine.org
977: 2024/02/19(月)01:11 ID:DtZmL+d4(1) AAS
>>937の者ですがShapeCast2DによるArea2Dの検出を使うことで解決しました
大量の衝突を扱うにはパフォーマンス的に向いてなさそうではあるが自分の用途的には問題なさそう
色々アドバイスくれた人に感謝
備忘録的に自分が引っかかった部分を書いておくと
Area2Dの移動後にArea2D.force_update_transform()で物理サーバー上の位置を更新しておかないと
ShapeCast2D.force_shapecast_update()の検出が思ったようにいかないので注意
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.051s