Legacy Documentation: Version 5.2
LanguageEnglish
  • C#
  • JS

Script language

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

Camera.ViewportToWorldPoint

Switch to Manual
public Vector3 ViewportToWorldPoint(Vector3 position);

Parameters

Description

Transforms position from viewport space into world 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.

Note that it transforms a x-y screen position, into a x-y-z position in 3D space.

You provide the function with a vector where the x-y components of the vector are the screen coordinates and the z component is the distance of the resulting plane from the camera.

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