質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Q&A

1回答

3107閲覧

NavMeshAgentで生成位置がずれてしまう

ligo

総合スコア7

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

0グッド

0クリップ

投稿2020/06/22 11:13

・前提・実現したいこと
戦車のゲームを作っています。敵の戦車を作りました。敵の戦車はプライヤーがある範囲の中に入ると砲塔をプレイヤーに向け、一定時間ごとに大砲から弾を発射します。また、NavMeshAgentをアタッチし、ターゲットの方向に経路探索して向かうようにしたいです。
弾の発射方法は、大砲の先に空のオブジェクトを配置し、空のオブジェクトに弾を生成するスクリプトをつけています。生成する時の座標には空のオブジェクトの座標を入れています。
Unityのバージョンは2019.3.10f1です。

・問題
NavMeshAgentをアタッチしなければ空のオブジェクトの位置に弾が生成されるのですが、NavMeshAgentをアタッチすると、弾の生成位置のY座標が下がってしまいます。赤い方が敵の戦車です。コンソールに表示されているは弾が生成された位置です。(Instantiate直前に空のオブジェクトの位置を表示させました)また、赤い方の戦車は沈んでしまっているのですが、これはBase Offsetを調節したところ解決しました。
こちらが弾を生成するスクリプトです。

・試した方法
まず、「発射された時、弾を生成する空のオブジェクト(EnemyShootPointと名付けております)が変なところにいるのでは」と思い、弾を発射した時に止めて見てみたのですが以下の写真のように位置は合っていました。弾を発射した時に一度止めてEnemyShootPointのLocal座標を表示させたところです。

また、NavMeshAgentのRadiusやHeight、Base Offsetをいろいろ変えてみたのですが解決しませんでした。

・最後に

いろいろなサイトを見てみたのですが、原因も解決策もわからず困っています。もしわかる方がいらっしゃいましたら、ご指導お願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

弾の生成時にNavMeshAgentを無効にしたところうまくいきました。しかし、なぜNavMeshAgentがあると座標がおかしくなってしまうのかわかりません。教えていただけるとありがたいです。

投稿2020/06/23 00:28

ligo

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問