問題タブ [collider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
905 参照

c# - Raycast が一貫してキャラクターのコライダーにヒットするが、他のすべてに一貫してヒットする

私は FPS ゲームを作成しており、敵がいつ私を見ることができるかを検出するメソッドを作成しようとしています。レイキャストを使用してこれを行います。

レイキャストが常に (巨大な) ボックス コライダーにヒットするとは限らないという問題があります。

レイキャストは AIShooting スクリプトから発生し、キャラクターのボックス コライダーにヒットすることを期待しています。

AIShooting スクリプトは次のようになります。

でレイキャストを見えるようにすると、Debug.Drawline()このようになります。レイは右側のキャラクターから左側のキャラクターに向けて発射されます (巨大なボックスコライダーを使用)。

ただし、ラインDebug.Log("THE ENEMY SEES YOU");は敵キャラクターに非常に近い場合にのみトリガーされ、その場合でも、特定の場所で発生し、まったく一貫していません.

レイキャスト表示

前もって感謝します!

0 投票する
0 に答える
306 参照

unity3d - Unity の Physics2D Raycast でオブジェクトが検出されないのはなぜですか?

Unity で 2D ゲームを作っていますが、あなたの助けが必要です。

写真のように9色のドットをランダムに作るゲームです。プレーヤーは、対応する色でドットを接続する必要があります。これはすべて私がしました。

問題: あるドットをクリックしてすぐに別のドットに移動して接続するとすぐに接続されず、約 1 秒後に接続されます。あるポイントをクリックして 1 秒ほど押したまま、次のポイントにすばやく移動すると、接続されます。

つまり、最初のポイントまたは 2 番目のポイントを待つ必要があります。

結局のところ、これはすべてコライダーと Raycast によるものです。彼にはチェックする時間がありません。

私のコードの例(非常に短縮)

問題は、「Input.GetMouseDown(0)」で、マウスがオブジェクトを通過しても「hit.collider is equal null」で、約 1 秒後に hit.collider が null ではなく、カラー タグを付与することです。

ビデオの例: https://www.youtube.com/watch?v=8x6TSBfBIzc

すべてのコード スクリプト: https://drive.google.com/open?id=1QKRInr26acu-E4zXPUf-DbW0h9zbsnUr

期待してこの問題を解決するにはどうすればよいですか?なぜすぐに接続されないのですか?