Rayに沿ってカメラを動かす
画面の位置に対応する光線を取得し、その光線に沿ってカメラを動かすと便利な場合があります。たとえば、ユーザーがマウスでオブジェクトを選択し、マウスの下の同じ画面位置に「ピン留め」したままにしながらズームインできるようにすることができます(これは、カメラが戦術的なマップを見ている場合など)。これを行うためのコードはかなり簡単です。
目次
コード
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);
}
}
}
ディスカッション
コメント一覧
まだ、コメントがありません