ゲームクリエイターのkinaです。
今日はUnityのオブジェクト同士の距離の取り方を書きます。
今日はUnityのオブジェクト同士の距離の取り方を書きます。
2つのオブジェクトが範囲内に入ったらアクションを起こす。
これを実装しようとすると、ColliderつけてTriggerチェックして、OnCollisionEnterやってと。。。
当たり判定は便利ですが、簡単な処理なら使わずに済ませたい&マウスポチポチがめんどくさいです。
そこで、2つのオブジェクトの距離を取ることができる関数を紹介します。
Vector3.Distanceです。
実際のコードを書いてみましょう。
実はこの関数を知らずに最初は計算しようとしていました・・・
絶対値を取って計算して差分を調べてとか。
その時、ちょっと息抜きでライブラリ辞典を 見たら書いてました。
まさに取りたかった値です。
まだ知らない便利な関数がたくさんあると思うので、暇な時は辞典を見るようにします。
みなさんも意外と知らない便利な関数があるかもしれないですよ。
これを実装しようとすると、ColliderつけてTriggerチェックして、OnCollisionEnterやってと。。。
当たり判定は便利ですが、簡単な処理なら使わずに済ませたい&マウスポチポチがめんどくさいです。
そこで、2つのオブジェクトの距離を取ることができる関数を紹介します。
Vector3.Distanceです。
実際のコードを書いてみましょう。
public GameObject objA; public GameObject objB; void Update(){ Vector3 Apos = objA.transform.position; Vector3 Bpos = objB.transform.position; float dis = Vector3.Distance(Apos,Bpos); Debug.Log("Distance : " + dis); }簡単に書くとこんな感じです。
実はこの関数を知らずに最初は計算しようとしていました・・・
絶対値を取って計算して差分を調べてとか。
その時、ちょっと息抜きでライブラリ辞典を 見たら書いてました。
まさに取りたかった値です。
まだ知らない便利な関数がたくさんあると思うので、暇な時は辞典を見るようにします。
みなさんも意外と知らない便利な関数があるかもしれないですよ。
ブログを引っ越しました。
Unity,cocos2dxを中心とした、ゲーム制作の技術メモ。沖縄のゲームアプリ開発会社・ブリブサーのブログです。
ほぼ毎日更新中!下記リンクよりどうぞ。
ブリブサー開発戦線〜僕らはあの戦いを忘れない〜
コメント