私は、エージェントがnaviesh/agentを補助自動追尾機能として使用しています。その後、エージェントは宛先に達すると再び無効になります。無効になっているnavmeshエージェント(プレーヤー)がnavmeshにいるかどうかをチェック
navmeshagentを有効にせずに、許容範囲内でプレーヤーが現在navmeshにいるかどうかを確認する方法が必要です。または、navmeshagentのプレーヤーバインディングの「効果」を無効にすることなく削除する方法がある場合は、それを使用して問題を解決することもできます。
私は擬似コードで推測する、これは私がnavmeshagentを無効にしてを達成しようとしているものです:
if (!agent.isOnNavMesh){ DisableClickSelection();}
私はYは、プレイヤーと取得するnavmeshの変換比較の可能性を考えていました高さの違いとそれを使用して、プレーヤーがnavmesh上にあるかどうかを判断するが、特定のXとZポイントでnavmeshのY変換を取得する方法についてわからない。たぶん私はレイキャストを使うことができますか?私は最善の方法をよく分かりません。私が言ったように、プレイヤーにエージェントのプレイヤーバインディングの「効果」を取り除いても、エージェントを有効にしたままにする方法があれば、それも使えるはずです。
10/10完璧な応答と正確に何を私が話していた。ありがとうございました。 –
クリックがnavmeshの外にある場合、登録に同じ正確なコンセプトを使用するとどう思いますか?それは最高のコースか簡単ですか? –
@MikeH特に何かをクリックしていないと、クリックが1つの位置を確認するよりもレイの方が多いので、もう少し難しいです。これは、粗いコライダーがnavmeshにほぼ並んでいた場合(別の物理層で大きなボックスコライダーになり、残りのシーンとのやりとりを避けることができます)、機能します。クリックすると、そのコライダーにヒットするレイキャストが行われ、この回答に示されたロジックに対してヒットポイントが使用されます。これが不可能な場合...私はこのアプローチがクリックではうまくいかないと思います。 – Serlite