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.WorldToViewportPoint

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

Description

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

	// Finds out whether target is on the left or right side of the screen
	var target : Transform;
	
	function Update () {
		var viewPos : Vector3 = camera.WorldToViewportPoint (target.position);
		// viewport coordinates range from zero to one
		if( viewPos.x > 0.5 )
			print ("target is on the right side!");
		else
			print ("target is on the left side!");
	}
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public Transform target;
    void Update() {
        Vector3 viewPos = camera.WorldToViewportPoint(target.position);
        if (viewPos.x > 0.5F)
            print("target is on the right side!");
        else
            print("target is on the left side!");
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	public target as Transform

	def Update() as void:
		viewPos as Vector3 = camera.WorldToViewportPoint(target.position)
		if viewPos.x > 0.5F:
			print('target is on the right side!')
		else:
			print('target is on the left side!')