Unity Zoom 2D y Zoom 3D

Aquí vamos a aprender algo muy sencillo hacer Zoom con la rueda del botón en nuestro juego.

 

Aquí tenemos un mapa en Unity2D, en mi caso es un juego educativo que estoy creando donde el Zoom mediante la rueda del ratón, me alejo y me acercó de dichas imágenes.

 

Aquí tenemos la imagen de una rana o un sapo lo que vamos a hacer es ir a nuestra cámara de Unity y vamos a crear el siguiente Script

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class zoom2D : MonoBehaviour
{
    private float Tamaño;
    private bool Desplazar;
    private float Xmover;
    private float Ymover;
    private Vector3 mousePosition;
    public float VelocidaddelZoom = 0.1f;

    void Start()
    {

        Tamaño = Camera.main.orthographicSize;

    }

    // Update is called once per frame
    void Update()
    {

        mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);

        if (Input.GetAxis("Mouse ScrollWheel") > 0)
        {
            Tamaño -= VelocidaddelZoom;

        }
        if (Input.GetAxis("Mouse ScrollWheel") < 0)
        {

            Tamaño += VelocidaddelZoom;
        }
        Camera.main.orthographicSize = Tamaño;
        if (Input.GetMouseButtonDown(2))
        {
            Xmover = mousePosition.x;
            Ymover = mousePosition.y;
            Desplazar = true;
        }
        if (Input.GetMouseButtonUp(2))
        {
            Desplazar = false;
        }
        if (Desplazar)
        {

            Camera.main.transform.position = new Vector3(Camera.main.transform.position.x - mousePosition.x + Xmover, Camera.main.transform.position.y - mousePosition.y + Ymover, Camera.main.transform.position.z);
        }
    }
}

Con este simple Script ya tendriamos nuestro Zoom en 2D ahora os enseñare el Script en 3D con la rueda del mouse que tambien debereis de incorporar a la camara

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class zoom : MonoBehaviour
{
    public GameObject player;

    void Update()
    {
        if (Input.GetAxis("Mouse ScrollWheel") != 0)
        {
            transform.localPosition += Vector3.forward * Input.GetAxis("Mouse ScrollWheel") * 200;
            {
                RaycastHit hit;
                Ray ray = this.transform.GetComponent<Camera>().ScreenPointToRay(Input.mousePosition);
                Vector3 desiredPosition;

                if (Physics.Raycast(ray, out hit))
                {
                    desiredPosition = hit.point;
                }
                else
                {
                    desiredPosition = transform.position;
                }
                float distance = Vector3.Distance(desiredPosition, transform.position);
                Vector3 direction = Vector3.Normalize(desiredPosition - transform.position) * (distance * Input.GetAxis("Mouse ScrollWheel"));

                transform.position += direction;
            }
        }
    }
}

 

 

Related Posts

Messi después del Mundial: la historia de un campeón que siguió intentando tocar el cielo

Lionel Messi: la historia del niño que tuvo que perder muchas veces antes de tocar el cielo La historia de Lionel Messi no es solamente la historia de uno de…

Argentina no perdió por un complot: España fue mejor y hay que aceptarlo

Cinco días después de la final: Argentina no perdió por un complot, perdió porque España fue mejor Han pasado cinco días desde la final del Mundial y todavía seguimos escuchando…

Deja una respuesta

You Missed

Messi después del Mundial: la historia de un campeón que siguió intentando tocar el cielo

  • Por admin
  • julio 27, 2026
  • 13 views
Messi después del Mundial: la historia de un campeón que siguió intentando tocar el cielo

Argentina no perdió por un complot: España fue mejor y hay que aceptarlo

  • Por admin
  • julio 24, 2026
  • 23 views
Argentina no perdió por un complot: España fue mejor y hay que aceptarlo

No fue el Mundial de Lamine Yamal: Rodri se convirtió en el verdadero líder de España

  • Por admin
  • julio 23, 2026
  • 30 views
No fue el Mundial de Lamine Yamal: Rodri se convirtió en el verdadero líder de España

Jugadores que ganaron el Mundial antes de los 20 años: la lista histórica

  • Por admin
  • julio 22, 2026
  • 39 views
Jugadores que ganaron el Mundial antes de los 20 años: la lista histórica

Mbappé vs Lamine Yamal: ¿quién es mejor?

  • Por admin
  • julio 21, 2026
  • 48 views
Mbappé vs Lamine Yamal: ¿quién es mejor?

Lamine Yamal 2026: ¿El nuevo rey del fútbol mundial?

  • Por admin
  • julio 21, 2026
  • 37 views
Lamine Yamal 2026: ¿El nuevo rey del fútbol mundial?