때로는 화면 위치에 해당하는 레이를 가져온 다음 해당 레이를 따라 카메라를 이동하는 것이 유용할 때가 있습니다. 예를 들어, 사용자가 마우스로 오브젝트를 선택한 후 마우스 아래 동일한 화면 위치에 ‘고정된’ 상태로 확대할 경우가 있습니다(이는 카메라가 전술 지도를 보고 있을 때 유용할 수 있음). 이렇게 하기 위한 코드는 매우 간단합니다.
using UnityEngine;
using System.Collections;
public class ExampleScript : MonoBehaviour {
public bool zooming;
public float zoomSpeed;
public Camera camera;
void Update() {
if (zooming) {
Ray ray = camera.ScreenPointToRay(Input.mousePosition);
float zoomDistance = zoomSpeed * Input.GetAxis("Vertical") * Time.deltaTime;
camera.transform.Translate(ray.direction * zoomDistance, Space.World);
}
}
}