言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

Plane.Raycast

public function Raycast(ray: Ray, enter: float): bool;

Description

平面と交差するレイ

レイを平面と交差させます。 この関数では enter 平面と交差する位置としてレイに沿った距離としてセットします。 もしレイが平面と平行である場合、関数は false を返し、 enter にゼロをセットします。 もしレイが平面と反対側を指す場合、関数は false を返し、 /enter/ をレイに沿った距離として セットします(負の値)。

// Position a marker object at the point on the "ground" where the
// mouse is clicked. The ground is represented by a Plane object.
var groundPlane: Plane;
var markerObject: Transform;

function Update() {
	// If the mouse button is clicked...
	if (Input.GetMouseButtonDown(0)) {
		// Get a ray corresponding to the screen position of the mouse.
		var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
		var rayDistance: float;
		
		// If the ray makes contact with the ground plane then
		// position the marker at the distance along the ray where it
		// crosses the plane.
		if (groundPlane.Raycast(ray, rayDistance)) {
			markerObject.position = ray.GetPoint(rayDistance);
		}
	}
}

See Also: Physics.Raycast.