WisdomSoft - for your serial experiences.

光線

光線は開始点と方向を表す単位ベクトルで構成された3次元空間上の直線です。

位置と方向

空間内の指定した原点から特定の方向に伸びる線のことを光線と呼びます。光線は、その名前の通りのイメージです。空間上の任意の開始点から、特定の方向に無限に伸びる線を値として表現できます。

光線は UnityEngine.Ray 構造体で表されます。

UnityEngine.Ray 構造体
public struct Ray

この構造体のコンストラクタはオーバーロードされており、光線の開始点と方向の 2 つの座標を指定できます。

Ray 構造体のコンストラクタ
public Ray(Vector3 origin, Vector3 direction)

origin パラメータに開始点となる座標を指定し、direction パラメータに単位ベクトルで方向を指定します。

これらの値はプロパティで公開されています。開始点は origin プロパティから、方向は direction プロパティから設定または取得できます。

Ray 構造体 origin プロパティ
public Vector3 origin { get; set; }
Ray 構造体 direction プロパティ
public Vector3 direction { get; set; }

方向を表す direction プロパティは単位ベクトルです。単位ベクトルは長さが 1 のベクトルで、Vector3 構造体の normalized プロパティで任意のベクトルを単位ベクトルに変換できます。

コード1
using UnityEngine;

public class Test : MonoBehaviour
{
	void Start()
	{
		Vector3 origin = Vector3.zero;
		Vector3 direction = Vector3.up;
		Ray ray = new Ray(origin, direction);
		print(ray);
	}
}
実行結果
コード1 実行結果

コード1は、全ての要素が 0 の原点から、Y 軸方向に向かう光線を作成しています。