2017年08月04日
【unity5】Vector3.Distance()で2点間の距離を測る : 解説あり
unityでゲーム作ってる時、
「ここからここまでの距離が知りたい」
とかありますよね?
プレイヤーに一番近いアイテムを拾ったり、
目的地までの距離を測ったりと、色々な事に使えます。
一見、難しそうですが超簡単です。
それでは、やっていきましょう。
スポンサードリンク
これだけです(笑)。
a, b にはTramsform.positionが入ります。
まぁ位置ですね。
これだけで使えます!
まず使用例を挙げますと、
こんなのがあります。
クラスの中を解説しますが、
「other」という変数を宣言しています。
型は「Transform」です。
Transformは「位置・回転・大きさ」のプロパティを扱います。
今回はそのTransformの中の「位置」を使います。
Start関数に移ります。
float _distance で変数を宣言していますが、
型は「float」です。
距離は、少数で取得されるためです。
a, b 間の距離を少数で取得する、という事ですね。
そして、「otherの位置」と「ここ(ゲームオブジェクト自身)の位置」の間の
距離を算出して「_distance」に入れています。
最後の「Print(_distance);」ですが、
これは、コンソールに取得した距離を表示させているだけですので、
まぁそんなに気にしなくても良いかと。
ではでは、これで終わりです。
※この記事のサンプルはUnity - スクリプトリファレンスの改良版を公開しています。
スポンサードリンク
「ここからここまでの距離が知りたい」
とかありますよね?
プレイヤーに一番近いアイテムを拾ったり、
目的地までの距離を測ったりと、色々な事に使えます。
一見、難しそうですが超簡単です。
それでは、やっていきましょう。
スポンサードリンク
Vector3.Distance()の使い方
Vector3.Distance(Vector3 a, Vector3 b);
これだけです(笑)。
a, b にはTramsform.positionが入ります。
まぁ位置ですね。
これだけで使えます!
解説
まず使用例を挙げますと、
using UnityEngine;
using System.Collections;
public class Example : MonoBehaviour {
public Transform other;
void Start () {
float _distance = Vector3.Distance(other.position, transform.position);
print(_dinstance);
}
}
こんなのがあります。
クラスの中を解説しますが、
「other」という変数を宣言しています。
型は「Transform」です。
Transformは「位置・回転・大きさ」のプロパティを扱います。
今回はそのTransformの中の「位置」を使います。
Start関数に移ります。
float _distance で変数を宣言していますが、
型は「float」です。
距離は、少数で取得されるためです。
a, b 間の距離を少数で取得する、という事ですね。
そして、「otherの位置」と「ここ(ゲームオブジェクト自身)の位置」の間の
距離を算出して「_distance」に入れています。
最後の「Print(_distance);」ですが、
これは、コンソールに取得した距離を表示させているだけですので、
まぁそんなに気にしなくても良いかと。
ではでは、これで終わりです。
※この記事のサンプルはUnity - スクリプトリファレンスの改良版を公開しています。
スポンサードリンク
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
この記事へのトラックバックURL
https://fanblogs.jp/tb/6557674
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック
※ ブログに表示されるのは、主の承認が必要なので時間がかかります!
コメントに気づかない場合もありますので、返信が遅れる場合も...