#unity/日常积累

Camera.WorldToScreenPoint

public Vector3 WorldToScreenPoint (Vector3 position);

public Vector3 WorldToScreenPoint (Vector3 position, Camera.MonoOrStereoscopicEye eye);

参数

eye

可选参数,可用于指定要使用的眼睛变换。默认值为 Mono。

描述

将 position 从世界空间变换为屏幕空间。

屏幕空间以像素定义。屏幕的左下角为 (0,0),右上角 为 (pixelWidth,pixelHeight)。z 位置为与摄像机的距离,采用世界单位。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    public Transform target;
    Camera cam;

    void Start()
    {
        cam = GetComponent<Camera>();
    }

    void Update()
    {
        Vector3 screenPos = cam.WorldToScreenPoint(target.position);
        Debug.Log("target is " + screenPos.x + " pixels from the left");
    }
}