タイルに弾が当たっても消えない

250912_douga

タイルに接触したら弾が消滅するように設定しているはずなのですが、消えずにタイルを通過してしまいます。
「オブジェクトの当たり判定と接触」「カメラの範囲外になった」などは条件を満たすのですが
「タイルと接触」の条件だけ満たせず、弾が消滅しません。

弾とタイルのコリジョンのレイヤーとマスクを衝突するように設定してもダメでした。
なぜ弾がタイルを認識しないのでしょうか。
下のチュートリアルも参考にしてみたのですが、うまくいきません。

GIFを拝見したところ、

弾がタイルに接触できていないように見えます。(接触できていればタイルにひっかかってとまってしまうはずなので)

一方でキャラクターは立っているのでタイルとキャラクター自体は接触できているようですので、弾のコリジョン設定に問題がありそうです。

  1. 弾のCollisionShape2d(壁判定)が無効になっている。
  2. 弾とタイルのCollisionLayer/Maskがあっていない。

のいずれかではないかと思いますのでご確認をいただければと思います。

「いいね!」 1

確認しましたら弾のCollisionShape2d(壁判定)が無効になっていました。。

チェックを外したことで弾がタイルと接触し消えるようになりました。ありがとうございます!

「いいね!」 1

すみません、自分も同じ現象に当たったので質問させてください。

こちらのGIFのように壁に当たって止まってはいるものの消えず、

斜め下に撃つとやはり床に当たった段階では消えません。

(斜め下では壁にぶつかった時に消える時があり、消滅時に出るようにした白い光のようなエフェクトが出てます)

二枚目がコリジョン判定の画像です。

実際の大きさはGIFの方が等倍になります。

これよりコリジョンを大きくしたり長方形にしても変わりませんでした。

弾速を落としても同じでした。

原因が特定できず、困っています。ステートリンクはAnyStateから全方向に当たった場合で判定しています。

bullet

消えているときもある・・・ということはただの設定ミスではなさそうですね。

プロジェクトをお送りいただくことは可能でしょうか?

色々削るとエラー起きそうなので申し訳ないのですがまるまる送らせて頂きます。

Zでジャンプ、Xで射撃、Cでリロードです。

二段ジャンプ可、薄い床は↓ですり抜けできます。

射撃中斜めや上下に十字キーを入れたら射撃方向を変更できます。

弾の発射ノード自体は「Kit_GunnerMuzzle_1」にあります。

(射撃中プレイヤーは上半身が子オブジェクトになり、その銃口に発射用のノードが付きます)

弾は3秒くらい経っても消えます。本来はタイルに当たると消える設定です。

(今は薄い床に当たっても消える設定です)

あと恐縮なのですが、プレイヤーの坂の挙動もおかしいのでそちらの確認もお願いします。

境目で落下判定になってしまいます。マージンを増やすと落下はしなくなりますが境目で移動速度が落ちます。

タイルの坂判定はオンにするとプレイヤーが坂の上だとずっと落下状態になるため今はオフにしています。

「いいね!」 1

こちらわかりました。

弾の件についてですが、Gunner_bullet1の「コリジョン」が「90度」回転されていることが問題だったようで、回転を「0度」にすると問題が起きません。

なぜ回転すると動作がうまくいかないのか、坂で落下になるのか、といったコリジョンの問題の件ですが改善を予定しており、近日中に公開予定のプロデューサーレターで状況をお伝えさせていただきますので少しお待ちをいただければと思います。

わかりました!ありがとうございます!

またアップデートの方お待ちしています。