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

¿Por qué hablamos tanto de Lamine si Raphinha está siendo el mejor del Barcelona?

Raphinha, el gran olvidado del Barcelona: cuando el marketing pesa más que el rendimiento Raphinha me parece uno de los grandes olvidados de este Barcelona, y sinceramente creo que es…

Lamine tiene el futuro, pero el presente del Barcelona se llama Raphinha

El Barça gana 5-2, Lamine vuelve a marcar, pero para mí el alma de este equipo sigue siendo Raphinha Ayer el Barcelona ganó 5-2 al Rayo Vallecano y, evidentemente, estamos…

Deja una respuesta

You Missed

¿Por qué hablamos tanto de Lamine si Raphinha está siendo el mejor del Barcelona?

  • Por admin
  • septiembre 3, 2026
  • 21 views
¿Por qué hablamos tanto de Lamine si Raphinha está siendo el mejor del Barcelona?

Lamine tiene el futuro, pero el presente del Barcelona se llama Raphinha

  • Por admin
  • septiembre 1, 2026
  • 23 views
Lamine tiene el futuro, pero el presente del Barcelona se llama Raphinha

El tiempo también gana a Messi: Argentina dice adiós a una leyenda irrepetible

  • Por admin
  • septiembre 1, 2026
  • 23 views
El tiempo también gana a Messi: Argentina dice adiós a una leyenda irrepetible

Raphinha y diez más: el Barça gana, pero Lamine Yamal vuelve a dejar dudas

  • Por admin
  • agosto 28, 2026
  • 27 views
Raphinha y diez más: el Barça gana, pero Lamine Yamal vuelve a dejar dudas

Cuando Mbappé y Vinícius juegan el uno para el otro, el Real Madrid es otro equipo

  • Por admin
  • agosto 27, 2026
  • 45 views
Cuando Mbappé y Vinícius juegan el uno para el otro, el Real Madrid es otro equipo

Lamine Yamal no es Messi ni Cristiano: dejémosle escribir su propia historia

  • Por admin
  • agosto 27, 2026
  • 32 views
Lamine Yamal no es Messi ni Cristiano: dejémosle escribir su propia historia