yotiky Tech Blog

とあるエンジニアの備忘録

Unity - マウスホイールでズームイン/ズームアウトする

対象のオブジェクトをマウスホイールでズームインしたりズームアウトするサンプルスクリプト

f:id:yotiky:20200805012606g:plain

カメラを移動する場合。

public class Zoomer: MonoBehaviour
{
    public float zoomSpeed = 1;
    private Camera mainCamera;

    void Start()
    {
        mainCamera = Camera.main;
    }
    void Update()
    {
        var scroll = Input.mouseScrollDelta.y;
        mainCamera.transform.position += -mainCamera.transform.forward * scroll * zoomSpeed;
    }
}

次にオブジェクト自体を移動してしまう場合。 こちらはズームと言うよりは、マウスホイールを使った移動です。

public class Zoomer: MonoBehaviour
{
    public GameObject targetObject;
    public float zoomSpeed = 1;
    private Camera mainCamera;

    void Start()
    {
        mainCamera = Camera.main;
    }
    void Update()
    {
        var scroll = Input.mouseScrollDelta.y;
        targetObject.transform.position += mainCamera.transform.forward * scroll * zoomSpeed;
    }
}