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

スクリプト言語

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

Plane.Raycast

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

public function Raycast(ray: Ray, enter: float): bool;
public bool Raycast(Ray ray, float enter);
public def Raycast(ray as Ray, enter as float) as 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);
		}
	}
}
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public Plane groundPlane;
    public Transform markerObject;
    void Update() {
        if (Input.GetMouseButtonDown(0)) {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            float rayDistance;
            if (groundPlane.Raycast(ray, out rayDistance))
                markerObject.position = ray.GetPoint(rayDistance);
            
        }
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	public groundPlane as Plane

	public markerObject as Transform

	def Update() as void:
		if Input.GetMouseButtonDown(0):
			ray as Ray = Camera.main.ScreenPointToRay(Input.mousePosition)
			rayDistance as float
			if groundPlane.Raycast(ray, ):
				markerObject.position = ray.GetPoint(rayDistance)

See Also: Physics.Raycast.