Version: 2019.1

Camera.ViewportToScreenPoint

Switch to Manual
public Vector3 ViewportToScreenPoint (Vector3 position);

Description

Преобразует position (позицию) из пространства окна просмотра в пространство экрана.

Viewport space is normalized and relative to the camera. The bottom-left of the camera is (0,0); the top-right is (1,1). The z position is in world units from the camera.

Screenspace is defined in pixels. The bottom-left of the screen is (0,0); the right-top is (pixelWidth,pixelHeight). The z position is in world units from the camera.

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); } }