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

Camera.ViewportToScreenPoint

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

切换到手册

声明

public Vector3 ViewportToScreenPoint(Vector3 position);

描述

position从视口空间转换为屏幕空间。

视口空间是标准化的,相对于相机的。相机的左下角是 (0,0);右上角是 (1,1)。z 轴位置是相机的世界单位。

屏幕空间以像素定义。屏幕的左下角是 (0,0);右上角是 (pixelWidth,pixelHeight)。z 轴位置是相机的世界单位。

using UnityEngine;

public class Example : MonoBehaviour { // Draw an image based on normalized view coordinates // rather than pixel positions. Texture2D bottomPanel;

void VPToScreenPtExample() { var origin = Camera.main.ViewportToScreenPoint(new Vector3(0.25f, 0.1f, 0)); var extent = Camera.main.ViewportToScreenPoint(new Vector3(0.5f, 0.2f, 0));

GUI.DrawTexture(new Rect(origin.x, origin.y, extent.x, extent.y), bottomPanel); } }