メインコンテンツへスキップ
< すべてのトピックに戻る

複数のGameObjectの中から最も近いものを取得するには?

対象となるオブジェクト群を配列やリストで取得し、forや foreach ループを使って自分からの距離(Vector3.Distance)を一つずつ計算し、最小値のものを見つけ出します。

ホーミング弾のターゲットや、近くにあるアイテムを拾う機能など、プレイヤーの周囲の環境を動的に評価してアクションの対象を決定するために必須のアルゴリズムだからです。

距離計算は平方根(ルート)の計算が入って重いため、負荷を下げたい場合は正確な距離ではなく、二乗の距離((a.positionb.position).sqrMagnitude)を使って比較するのが最適化の定石です。

目次

9周年キャンペーン実施中 早い申込みほど受講料がお得に