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

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

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

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

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

3523閲覧

Prefabからスポーンしたモンスターが対象に移動してくれない

araragi_dev

総合スコア60

Unity3D

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

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2018/12/30 07:16

前提・実現したいこと

VRソーシャルサービスの「Vrchat」でタワーディフェンスゲームを実現しようとしております。
対象に向かって移動するモンスターをスポーンするオブジェクトを作りたいです。

発生している問題・エラーメッセージ

モンスター(AIThirdPersonController)はScene内の宝箱にIntaractすると、ProjectのPrefabからScene内にスポーンします。
モンスターはProject内のPlayer_crystal2に対して移動するようにAI Character Control(Script)のTargetに設定しています。
しかしモンスターが対象(Player_crystal2)に向かって移動してくれません。
(図で移動対象は空中にありますが、プレイ時に地上に持っていきます。)

モンスターをPrefabとしてProjectからスポーンさせるのではなく、
はじめからScene内に配置し、TergetもScene内のオブジェクトを設定すれば移動してくれます。

おそらくPrefab関連の使い方が間違っている気がします。。。

イメージ説明

補足情報(FW/ツールのバージョンなど)

Unity 2017.4.15f1 LTS
スクリプトはStandard AssetsとToyBoxとVRCSDKのみ利用しており、自身で記述しておりません。

最後に

質問を見てくださりありがとうございます。
大変身勝手なお願いではありますが、もし少しのお時間がありましたら非力な私を助けて下さい。
お忙しい中恐縮ですが、どうぞよろしくお願いいたします。

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

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

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

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

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

Takaya901

2018/12/30 07:33

「TergetもScene内のオブジェクトを設定すれば移動してくれます」ということは、Player_crystal2も最初はScene内におらず、何かのタイミングでスポーンされるということでしょうか。
araragi_dev

2018/12/30 07:49

ご確認ありがとうございます! Player_crystal2はPrefabとしてProject内にいる際にモンスターのTergetとして指定し、 その後Project内から手動でScene内に配置しました。 そのため、何かのタイミングでスポーンしていません。 (また、Project内にいるモンスターPrefabに対して、Scene内にいるPlayer_Crystal2を指定することができませんでした。。。) その他、不足点がありましたら何なりとお願いいたします。
guest

回答1

0

ベストアンサー

こちらの記事が参考になるかもしれません.
【Unity】動的に増やすGameObjectは別にPrefabでなくとも良い

Project内のオブジェクトはC#でいうクラス定義のようなもので,Scene内に手動で配置するなりInstantiateするなりして初めて実体を持ちます.したがって,Project内のオブジェクトをTargetにしても追いかけることはできず,Scene内の実体をTargetにしなければなりません.
そして,Project内のPrefabはScene内オブジェクトを参照できないため,他の手段が必要になります.

AI Character ControlがモンスターをInstantiateする役割を持っていて,かつPlayer_crystal2の実体を参照できるのであれば,次の記事のコメント欄で挙げられている方法がスマートだと思います.
Prefabからロードした際にアタッチしたものが外れる

投稿2018/12/30 09:08

編集2018/12/30 09:23
Takaya901

総合スコア181

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

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

araragi_dev

2018/12/30 16:40

Takaya901さん ありがとうございます! 無事に対象に向かって移動するモンスターをスポーンするオブジェクトが作れました。 頂いたアドバイスのもと、Prefabではなくすべて実体としてSceneに配置し、 配置したモンスターを複製する方法を取りました。 貴重なお時間を頂きありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問