Legacy Documentation: Version 5.5
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Camera.ViewportToScreenPoint

Switch to Manual
public Vector3 ViewportToScreenPoint(Vector3 position);

Description

Transforms position from viewport space into screen space.

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;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Texture2D bottomPanel; void VPToScreenPtExample() { Vector3 origin = Camera.main.ViewportToScreenPoint(new Vector3(0.25F, 0.1F, 0)); Vector3 extent = Camera.main.ViewportToScreenPoint(new Vector3(0.5F, 0.2F, 0)); GUI.DrawTexture(new Rect(origin.x, origin.y, extent.x, extent.y), bottomPanel); } }