こんにちは私はRaycastAllを使用してlayermasksとレイキャスティングがどのように動作するかについて小さな質問をしています。Raycasting Layermask vs RaycastAll
私は私のオブジェクトの内側からレイを投影しようとしていて、元のオブジェクトと同じレイヤーにレイがレイラマスクしているので、元のオブジェクト自体の "ヒット"を無視する必要があります。
私の質問は:レイキャスティングがレイラマスクを使用するときに、他の望ましくないレイヤーとの衝突を登録して単純に無視するか、最初にそれらのレイヤーとの衝突を登録しないか?レイキャスターを使用してレイヤーに論理的に応答するか、厳密にレイヤーマスクを使用するかどうかを判断すると、パフォーマンスが悪化するか同等になるか?それともそれほど大きな違いではないでしょうか?
私は、「あなたがオブジェクトの内側からそれをキャストすると、そのオブジェクトと衝突しません」と言う記事を知っていますが、明らかにそうです。
おかげ
返信いただきありがとうございます。物理学は私のゲームでは非常に簡単なので、私は正直なところ、パフォーマンスの違いに気付かないと思っていますが、私はraycastスクリプトを一度に実行する(極端ではない)方法。しかし、レイディキャストはどのようにして(2D)から放射されるコライダーを無視し、すべてが同じレイヤーにある場合に最も効率的な方法で隣接オブジェクトと衝突するのか? (RaycastAllが最善の選択ではないと仮定して) –
たとえば、RaycastHitでオブジェクトを取得したときに、最も簡単な解決策の1つを無視したいオブジェクトにアタッチされたスクリプト内にレイをキャストすると、オブジェクトそのもの。しかし、それは本当にあなたのゲームのオブジェクトをどのように整理するかによって異なります。たぶん別のレイヤーにオブジェクトを設定したり、異なるz座標からレイをキャストしたりできます(それは2dのレイキャストに影響します) – vmchar