UnityのベクトルであるVector3についての簡潔な説明になります。
Vector3はUnityEngineに含まれおり3Dのベクトル(位置や方向)を表すために使用する構造体です。
Vector3はUnityの3D空間での方向や座標を表すのに使用されます。
ベクトルなので向きと大きさをもったものになります。
1.コンストラクタ
X軸、Y軸、Z軸の成分から以下のように3次元ベクトルを生成します。
using UnityEngine;
public class Sample : MonoBehaviour {
float x = 1;
float y = 2;
float z = 3;
Vector3 v = new Vector3(x, y, z);
}
2.static変数
Unityではワールド座標における前後左右上下などよく使われるベクトルはあらかじめstatic変数(以下のVector3.forward、Vector3.back、Vector3.zeroなど)として用意されています。
これらはコンストラクタを使わずにstatic変数として使用できます。
Vector3 v0 = Vector3.zero; // Vector3(0, 0, 0)
Vector3 v1 = Vector3.one; // Vector3(1, 1, 1)
Vector3 vf = Vector3.forward; // Vector3(0, 0, 1)
Vector3 vb = Vector3.back; // Vector3(0, 0, -1)
Vector3 vu = Vector3.up; // Vector3(0, 1, 0)
Vector3 vd = Vector3.down; // Vector3(0, -1, 0)
Vector3 vr = Vector3.right; // Vector3(1, 0, 0)
Vector3 vl = Vector3.left; // Vector3(-1, 0, 0)
3.ゲームオブジェクトごとの向き
ゲームオブジェクトごとの向きを取得する場合は、transformを用います。
オブジェクトを配置、選択した時に表示される青、赤、緑の矢印がそれを表しています。
ゲームオブジェクトの向きとしてそれぞれ青(正面:Z軸)、赤(右:X軸)、緑(上:Y軸)を表しています。
キャラクタの向きや進行方向などに使用されます。
Vector3とは異なり、forward、right、upのみが用意されているため、back、left、downは
forward、right、upにマイナスの符号をつけて表します。
// 前(正面)
Vector3 forward = transform.forward;
// 後
Vector3 back = -transform.forward;
// 右
Vector3 right = transform.right;
// 左
Vector3 left = -transform.right;
// 上
Vector3 up = transform.up;
// 下
Vector3 down = -transform.up;
以上、Vector3についてよく使うものについての紹介になります。