Unityに関連する記事です

ゲーム内の特定の種類のゲームオブジェクトをすべて取得して、その中の最も近いゲームオブジェクトの情報を取得する


 上記の処理を実行するためのSearchGameObjectスクリプトを作成します。
 作成したSearchGameObjectスクリプトを任意のゲームオブジェクトにアタッチすることによって、
アタッチされたゲームオブジェクトから見て最も近い距離にいる別のゲームオブジェクトの情報を取得する、という内容になっています。

 今回のケースではSearchGameObjectスクリプトをプレイヤー役のゲームオブジェクトにアタッチします。
タグには「Enemy」を指定しておいて、ゲーム内に存在するすべての「Enemy」タグを持つゲームオブジェクトをUpdateで常に取得します。
取得したゲームオブジェクトとプレイヤーとの距離をそれぞれ算出し、その差分が最も小さいゲームオブジェクトの情報を取得するようにしています。
 この結果を用いることで、「最も近くにいる敵を対象にとる」というロジックに利用できます。


検証動画(Consoleに取得したゲームオブジェクトの名前が表示されます)
https://gyazo.com/0be28b486ef177e6243898c2d97910b3


SearchGameObjectスクリプトを作成する


SearchGameObject.cs

 <= クリックすると開きます。




 無事に取得できましたら、あとは取得したゲームオブジェクトの情報を他のクラスと紐づけするか、あるいは別のクラスの変数に直接代入するようにすれば利用できるようになります。

インスペクター画像



検証動画(SearchGameObjectのsearchNearObjの値が変化していることを確認します)
https://gyazo.com/6abaff18db8d19357caa742de6a594f8

 

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu



プログラムの基礎学習

コード練習

技術/知識(実装例)

2Dおはじきゲーム(発展編)

2D強制横スクロールアクション(発展編)

3Dダイビングアクション(発展編)

2Dタップシューティング(拡張編)

レースゲーム(抜粋)

2D放置ゲーム(発展編)

3D脱出ゲーム(抜粋)

2Dリアルタイムストラテジー

2Dトップビューアドベンチャー(宴アセット使用)

3Dタップアクション(NavMeshAgent 使用)

2Dトップビューアクション(カエルの為に〜、ボコスカウォーズ風)

3Dトップビューアクション(白猫風)

VideoPlayer イベント連動の実装例

VideoPlayer リスト内からムービー再生の実装例(発展)

AR 画像付きオブジェクト生成の実装例

AR リスト内から生成の実装例(発展)

private



このサイト内の作品はユニティちゃんライセンス条項の元に提供されています。

管理人/副管理人のみ編集できます