私はプレイヤーがあるプラットフォームから別のプラットフォームにジャンプしたいゲームを持っています。私のプラットフォームでは、ボックスコライダーがあります。Unity OnTriggerEnterが間違ってトリガーする
私がジャンプしようとしたとき、時には自分のプレーヤーがコライダーの側にぶつかり、それに磨きをかけて滑り落ち、最終的に死の状態を引き起こします。これを防ぐために、私はプラットフォームの隣にトリガーコライダーを置きました。私はまた、トリガーコライダーをボックスコライダーの少し下に置きます。そのため、プレーヤーがエッジを飛び越えても、両方をアクティブにしません。
トリガーがアクティブになっている場合、私は死の機能を果たします。そうでなければ、プレイヤーは強固なジャンプを行い、他のゲームロジックを続けます。 しかし、私は、プレーヤーがプラットフォームの端に着陸したときに、オントリガイベントと同様に衝突機能に入ることがあることに気付きます。
シーンビューで、プレーヤーのコライダーがプラットフォームの下のトリガーコライダーに入っていないことがわかりました。これは奇妙です。
私はこのミックスにレイキャストを追加しようとしましたが、レイキャストにもかかわらず、プレーヤーがトリガーに入っていないときになぜOnTriggerEnter
がトリガーしているのか分かりません。
プレイヤーがスピードを落としているので、プレイヤーのコライダーがプラットフォームコライダーに押し込む可能性があると考えましたが、シーンビューに表示されると思いました。
私の質問私は、プラットフォームのコライダーに着地するとき、どのようにそれがトリガーコライダーをトリガすることは可能ですか?私はその上から飛び跳ねています。下からではありません。私がプラットフォームを完全に逃した場合、トリガーは予期されたとおりに起動しますが、プラットフォームの上に着陸すると、トリガー・コライダーと重なり合わず、引き続き発砲します。
/E
これは私の3D環境のビューの側面です。正確な描写ではなく、あなたのためにそれを単純化することです。私のプレイヤーはあるプラットフォームから別のプラットフォームにジャンプしていますが、これらのプラットフォームはすべて、ボックスコライダーを備えた3次元キューブです。 2つのプラットフォームの間では、少し下のレベルで私はトリガーコライダーを持っています。
私のプレーヤーがトリガーコライダーにゲームを打つと、私の質問は時々私のプレーヤーがスケッチのようにボックスコライダーの端に着陸することがありますが、何らかの理由でゲームオーバートリガーコライダーをトリガーします。それらの間には十分な空間があり、触っていてもいない。
要約すると、プレイヤーとトリガーコライダーの間に接触がない場合、私のオントリガーが実行されていますが、その理由は何ですか?あなたが見ることができるように
は私のプレーヤーのコライダーはプラットフォーム箱コライダーの上にしっかりとあり、まだontriggerenterプラットフォームへと下にある次のコライダーのためのトリガーと私のプレイヤーが進む、描画線を無視します死のアニメーションに私はこれ以上具体的なことはできません。あなたが今私を助けて、なぜこれが起こっているのか説明してください。私のプレイヤーは、彼らが触れていないトリガーコリドーから遠く離れています。
あなたのコードで質問を編集し、分かりやすくするために別々にしてください。 – Programmer
これはコードとはまったく関係がありません。いくつかのスクリーンショットを入れて、より意味をなさせるようにしてください。 –
2つ以上のプラットフォームが表示され、1つは他のプラットフォーム内にあり、1つは非常に低い高さです。箱の衝突を簡単にする必要があります。大きな解像度に必要な精度は、リソースが非常に高価で、正しく設定しないでください。より大きなボックスと充分な距離を持ち、別のものは1つもありません – joreldraw