お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。
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平面と交差するレイ
レイを平面と交差させます。 この関数では 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.