忍者ブログ

素人ゲーム開発を垂れ流しつつ、覚醒に至るまでの記録や役立ち情報、愚痴を書くブログ。ちなみに前立腺の開発もやっている。

即刻GPTを使った方がいい理由
ゲーム開発でもバリバリ役に立ちます。
コーディングに詰んだりした時や、ネット検索でどう
検索していいかわからないときにかなり強みになるでしょう。
そして時短につながります。



以下GPTのやり取りを一部載せておきます↡

 

それに対してのGPTの返答↡

OK、やりたいことは明確
2Dで2点間の距離(長さ)を求めて、一番近いオブジェクトを選びたいね。


基本:2点間の距離を求める

Vector2 obj1;
Vector2 obj2;
 
float distance = Vector2.Distance(obj1, obj2);

これでOK。
内部的には √(x² + y²) をやってくれる。


でも「一番近いもの」を探すなら最適化した方がいい

距離比較だけなら 平方根は不要

Vector2.Distance() は √ を使うので少し重い。
比較だけなら sqrMagnitude を使うのが定石。

Vector2 diff = obj1 - obj2;
float sqrDistance = diff.sqrMagnitude;

または一発で:

float sqrDistance = (obj1 - obj2).sqrMagnitude;

これは √ を使わないので高速。


複数オブジェクトから一番近いものを選ぶ例

public Transform GetNearest(Transform origin, Transform[] targets)
{
    Transform nearest = null;
    float minSqrDistance = Mathf.Infinity;
 
    Vector2 originPos = origin.position;
 
    foreach (Transform target in targets)
    {
        Vector2 targetPos = target.position;
 
        float sqrDist = (originPos - targetPos).sqrMagnitude;
 
        if (sqrDist < minSqrDistance)
        {
            minSqrDistance = sqrDist;
            nearest = target;
        }
    }
 
    return nearest;
}

ポイントまとめ

  • 距離を知りたい → Vector2.Distance

  • 比較したいだけ → sqrMagnitude

  • Mathf.Sqrt は基本避ける(比較用途では不要)


さらに高速にするなら

大量にある場合:

  • 事前に検索半径でフィルタ(Physics2D.OverlapCircle など)

  • 空間分割(QuadTree)

  • DOTS系


今作ってるのは

  • 敵AIのターゲット選択?

  • 弾のホーミング?

  • UIロックオン?

用途によって最適解ちょっと変わるよ。
どのタイプ?


以上チャットGPT-----------------------↑↑↑



数秒で返ってきます。是非、個人やチームで開発している
方がいらしたら使ってみることをお勧めします。かなり時短です。
そして思いもよらない小技をぽろっと言ってきたりもします。

PR
COMMENT
NAME
TITLE
MAIL (非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS (コメント編集に必須です)
SECRET
管理人のみ閲覧できます
 
  
ブログ内検索
最新コメント
[01/01 FrankSeita]
[10/06 ダージリン]
[10/03 ゼン]
[10/01 ダージリン]
[09/25 ゼン]
プロフィール
HN:
kawaハギ
年齢:
36
性別:
男性
誕生日:
1989/07/03
職業:
無職
趣味:
ゲーム 音楽
自己紹介:
人類を5次元意識へ押しあげる為のゲームを
開発しています。

小学生3年頃から鬱を発症。対人恐怖症、醜形恐怖等で引きこもり。
生きる意味を長らく探し求め、ようやく答えを見つけスピリチュアル
にたどり着く。覚醒を数段階体験し現在は”もう一度”物理的な自立を目指しています。
カウンター
Copyright ©  -- 覚醒できるゲームを作るブログ --  All Rights Reserved

Design by CriCri / Material by petit sozai emi / powered by NINJA TOOLS / 忍者ブログ / [PR]