包含此页的版本:
不含此页的版本:
有时获取与屏幕位置相对应的光线,然后移动相机在场景中创建特定视点图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。更多信息
请参阅术语表沿着那条射线。例如,您可能希望允许用户使用鼠标选择一个对象,然后放大它,同时将其“固定”到鼠标下方的相同屏幕位置(例如,当相机查看战术地图时,这可能很有用)。执行此作的代码相当简单:
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);
}
}
}