UnityのベクトルであるVector3についての簡潔な説明になります。
Vector3はUnityEngineに含まれおり3Dのベクトル(位置や方向)を表すために使用する構造体です。
Vector3はUnityの3D空間での方向や座標を表すのに使用されます。
ベクトルなので向きと大きさをもったものになります。
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);
}
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)
ゲームオブジェクトごとの向きを取得する場合は、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についてよく使うものについての紹介になります。
関連記事:
【Unity】オブジェクトの影をなくす方法 - Django Girls and Boys 備忘録
【Unity】オブジェクトの影(シェイド)を消す方法 - Django Girls and Boys 備忘録
【Unity】ML-Agentsの学習実行コマンド「C」について - Django Girls and Boys 備忘録
【Unity(初心者向き)】ゲームオブジェクトの向きを変えさせる便利な方法について - Django Girls and Boys 備忘録
【Unity(初心者向き)】ゲームオブジェクトの向きや角度、回転について - Django Girls and Boys 備忘録
【Unity(初心者向き)】ベクトルVector3やオブジェクトの向きについて - Django Girls and Boys 備忘録
【Unity】文字列データなどをテキストファイルとして書き込む方法 - Django Girls and Boys 備忘録
【MapBox】地図情報サービスMapBoxの導入 - Django Girls and Boys 備忘録
【Unity】「Unityの教科書」 初心者から中級者まで、ゲーム開発の頼れるガイド - Django Girls and Boys 備忘録
【Unity】『UnityではじめるML-Agents実践ゲームプログラミング』について - Django Girls and Boys 備忘録