版本: Unity 6 (6000.0)
语言English
  • C#

Camera.ViewportToWorldPoint

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法采纳所有提交内容,但我们会阅读用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

public Vector3 ViewportToWorldPoint(Vector3 position);

参数

position 视口空间中的 3D 向量。

返回值

Vector3 世界空间中的 3D 向量。

描述

position 从视口空间转换到世界空间。

视口空间是归一化的,相对于摄像机。视口的左下角为 (0,0);右上角为 (1,1)。z 坐标是以世界单位从摄像机测量的距离。

请注意,ViewportToWorldPoint 将屏幕上的 x-y 坐标转换为 3D 空间中的 x-y-z 坐标。

为该函数提供一个向量,其中向量的 x-y 分量为屏幕坐标,z 分量为结果平面到摄像机的距离。

// Draw a yellow sphere at top-right corner of the near plane
// for the selected camera in the Scene view.
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void OnDrawGizmosSelected() { Camera camera = GetComponent<Camera>(); Vector3 p = camera.ViewportToWorldPoint(new Vector3(1, 1, camera.nearClipPlane)); Gizmos.color = Color.yellow; Gizmos.DrawSphere(p, 0.1F); } }