問題タブ [navmesh]

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 に答える
1826 参照

c# - Unity 5.4 の「宛先の設定」はアクティブなエージェントでのみ呼び出すことができ、インスタンス化時の宛先が正しくありません

兵士をスポーンし、ナビ メッシュをマウスでクリックして連隊として移動させようとしています。しかし、「「宛先の設定」はアクティブなエージェントでのみ呼び出すことができます」というエラーが表示されます。これは、ナビゲーション メッシュから高または低にインスタンス化することによって引き起こされる可能性があることをフォーラムで読みました。しかし、y 軸上にスポーンポイントをどこに置いても、何も変わりません。私は通常 Y = 0 でそれらをスポーンします。Unity は、インスタンス化するときに私のプレハブ クローンを自動的に y = 0.303 に設定するようです...理由はわかりません。シーン ビューで実行時に y 軸の兵士を移動できません。もう 1 つの「楽しい」ことは、Awake で getComponent を呼び出しても、nav Mesh エージェントの割り当てられていない参照例外が発生することです。「宛先の設定」エラーに到達するには、別の関数で呼び出す必要があります。

0 投票する
1 に答える
2280 参照

c# - Unity - NavMeshAgent が複数のコーナーで機能しない

私は現在 Unity3D ゲームに取り組んでおり、ナビゲーション メッシュ エージェントでいくつかの問題が発生しました。私の現在の目的は、敵を最も近いプレイヤー (3 人になる予定) に向かって歩かせることです。敵をスポーンすると、どのプレイヤーが最も近いかをチェックします。これは、以下のコードに見られるように、プレーヤーに向かって残りの距離で行われます

このスニペットでは、距離は '<code>float.MaxValue' で開始され、(プレイヤーが現在の距離よりも近づくたびに、ゲームオブジェクトである '<code>playerToFollow' として設定されます。

問題はここにあります: プレーヤーへのパスに 0 または 1 つのコーナーがある場合。ナビゲーション メッシュ エージェントは、プレイヤーに向かってその道を歩き始めます。しかし…パスに複数のコーナーが含まれる場合は常に距離が計算されないため、 が返されagent.remainingDistance == float.PositiveInfinityます。

これは、距離 ( float.MaxValue) が残りの距離 ( float.PositiveInfity) より小さいことを意味します。

私が忘れる可能性のあるものはありますか?私にお知らせください。いつでも詳細をお知らせできます。

0 投票する
1 に答える
243 参照

unity3d - 巨大なボクセルを使用した奇妙な NavMesh ベイク処理

プロトタイプでパス検索に Navmash を使用しようとしていますが、エージェントが目標に十分近づくと「線」が大きく離れてしまうため、問題が発生しています。

画像: ここに画像の説明を入力

赤い四角は立方体が配置される場所ですが、ご覧のとおり、エージェントがいるボクセル ラインは四角の中央にあります。それを修正する方法の手がかりはありますか?

ボクセル サイズを最小値 (0.02) に設定しましたが、結果は同じです。

ありがとう!

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

c# - エージェントを使用せずに OffMeshLink を検出する

私は NavMesh パスファインディング ソリューションを使用して AI を実行していますが、いくつかの制限があるため (彫刻されたオブジェクトが近づいたときにテレポートするなど)、NavMeshAgent を使用したくありません。

したがって、NavMesh.CalculatePath() のパス上で Rigidbody を移動して、ある種の融合を行いました。これは今のところ非常にうまく機能していますが、パス上の OffMeshLinks を検出するのに問題があります (Vector3 の単なる配列であるため)。

上記のように NavMesh.Raycast() を使用して少し「だます」ことができますが、常に機能しているわけではなく、1 つではない OffMeshLink を検出することもあります。

前もって感謝します :)

0 投票する
1 に答える
1250 参照

unity3d - コードでエディターモードでnavmeshを構築するためのクラスはUnityにありませんか?

以前は NavMeshBuilder でしたが、バージョン 5.5 ではそのようなクラスはありません。

エディター モードのコードで NavMesh をベイクするにはどうすればよいですか?

編集1

実行時に navmesh をベイクしたくありません。私がやりたいのは、NAVIGATION タブではなく、MY CODE を使用してエディター モード (プレイ モードではない) で navMesh をベイクすることだけです。まだ可能ですか?ナビゲーション メッシュを構築するメソッドを呼び出すだけです。

0 投票する
3 に答える
4452 参照

unity3d - NavMesh エージェントが無効なパスを計算する原因は何ですか?

問題の説明

NavMesh エージェントが無効なパスを計算するのに苦労していますが、明らかに理由はありません。この問題は、最初の有効なパスで既に移動しているときに時々発生します。

エージェントは自分の道を見つけることができません

上の画像では、宛先は左上隅のコーンです。(NavMeshAgent の方向矢印は気にしないでください。エージェントを手で動かして「ロックを解除」しようとしました)

  • インスタンス化されたら、エージェントに NavMesh 上の特定の宛先ポイントへのパスを計算するように依頼します( NavMesh.SamplePositionを使用して、宛先ポイントが NavMesh 上にあることを確認します)。すべて正常に動作します。エージェントは自分の道を見つけ、ターゲットに向かって動き始めます
  • しかし、旅の最中に突然、最初のステップからNavMeshが変更されていない間に、彼は自分自身を失います。私は彼に何も尋ねていません。新しいパスの新しい計算もしていません。

テスト済みのソリューション

  1. 目的地が NavMesh 上にあることを確認しました

  2. エージェントのエリア マスクをチェックして、NavMesh のさまざまなエリアにもかかわらず、エージェントが目的地へのパスを見つけられることを確認しました

  3. エージェントのパスが無効かどうか、ほぼすべてのフレームをチェックします。CalculatePathその場合、またはを使用して新しいものを計算しSetDestinationます。うまくいくこともあれば、うまくいかないこともあります。

  4. シーン全体ですべての NavMeshObstacle を無効にします (私のエージェントには NavMeshObstacle もその子にもありません)

  5. 初期位置と最終目的地の間にさらにステップを追加する

  6. エージェントのAutoRepathプロパティを無効にしました

  7. パスを計算し、すべてのコーナーを保存し、これと同様の方法を使用して一度に 1 つのコーナーでエージェントの目的地を設定します

注 : 別のエージェントが最初のエージェントをプッシュすると、後者が起動してパスを見つけたように見えます。

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

c# - NavMesh に十分に近くないため、エージェントの作成に失敗しました

ナビゲーション メッシュ エージェントを動的に作成するサード パーティ製のパッケージがあります。しかし、作成時にこの警告が表示されます

NavMesh UnityEngine.Object:Instantiate(GenericIndividual) STB.PACS.GenericIndividualPoll:.ctor(GenericIndividual) (Assets/STB/PACS/Source/System/GenericIndividualPoll.cs:48) に十分に近くないため、エージェントの作成に失敗しましたSTB.PACS.IndividualPath:Start() (Assets/STB/PACS/Source/Sys で)

以下にいくつかの画像を示します。

ここに画像の説明を入力

ここに画像の説明を入力