Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

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

Camera.ScreenToWorldPoint

Switch to Manual
ScreenToWorldPoint(position: Vector3): Vector3;
Vector3 ScreenToWorldPoint(Vector3 position);
def ScreenToWorldPoint(position as Vector3) as Vector3

Description

Transforms position from screen space into world space.

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.

	// Draw a yellow sphere in the scene view at the position
	// on the near plane of the selected camera that is
	// 100 pixels from lower-left.
	function OnDrawGizmosSelected () {
		var p : Vector3 = camera.ScreenToWorldPoint (Vector3 (100,100,camera.nearClipPlane));
		Gizmos.color = Color.yellow;
		Gizmos.DrawSphere (p, 0.1);
	}
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void OnDrawGizmosSelected() {
        Vector3 p = camera.ScreenToWorldPoint(new Vector3(100, 100, camera.nearClipPlane));
        Gizmos.color = Color.yellow;
        Gizmos.DrawSphere(p, 0.1F);
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	def OnDrawGizmosSelected() as void:
		p as Vector3 = camera.ScreenToWorldPoint(Vector3(100, 100, camera.nearClipPlane))
		Gizmos.color = Color.yellow
		Gizmos.DrawSphere(p, 0.1F)