Version: 2022.1

Camera.ViewportToWorldPoint

切换到手册
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); } }