返回介绍

Camera.ViewportPointToRay 视窗位置转射线

发布于 2019-12-18 15:37:29 字数 1842 浏览 1166 评论 0 收藏 0

JavaScript => ViewportPointToRay(position: Vector3): Ray;
C# => Ray ViewportPointToRay(Vector3 position);

Description 描述

Returns a ray going from camera through a viewport point.

返回从相机出发穿过视点的一个射线。

Resulting ray is in world space, starting on the near plane of the camera and going through position's (x,y) coordinates on the viewport (position.z is ignored).

产生的射线是在世界空间中,从相机的近裁剪面开始并穿过视口POSITION(x,y)坐标(position.z被忽略)

Viewport coordinates are normalized and relative to the camera. The bottom-left of the camera is (0,0); the top-right is (1,1).

视窗坐标被规范化,并相对于相机。相机的左下为(0,0);右上是(1,1)。

JavaScript:

	// Prints the name of the object camera is directly looking at	function Update () {
		// Get the ray going through the center of the screen
		var ray : Ray = camera.ViewportPointToRay (Vector3(0.5,0.5,0));
		// Do a raycast
		var hit : RaycastHit;
		if (Physics.Raycast (ray, hit))
			print ("I'm looking at " + hit.transform.name);
		else
			print ("I'm looking at nothing!");
	}

C#:

using UnityEngine;
using System.Collections;
 
public class ExampleClass : MonoBehaviour {
    void Update() {
        Ray ray = camera.ViewportPointToRay(new Vector3(0.5F, 0.5F, 0));
        RaycastHit hit;
        if (Physics.Raycast(ray, out hit))
            print("I'm looking at " + hit.transform.name);
        else
            print("I'm looking at nothing!");
    }
}

Camera

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文