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

El Real Madrid remonta a la Roma, pero sigue sin convencer: ¿tiene Vinícius los días contados?

El Real Madrid remonta a la Roma, pero sigue sin convencer: ¿tiene Vinícius los días contados? Ayer el Real Madrid consiguió una victoria frente a la Roma en un partido…

El Barça está por encima de Messi, señor Gaspart, pero su historia más gloriosa lleva su nombre

JOAN GASPART a LEO MESSI Gaspart, Messi y el Barça: el club está por encima de todos, pero su historia no se puede borrar «¿Quién se ha creído? Que vaya…

Deja una respuesta

You Missed

El Real Madrid remonta a la Roma, pero sigue sin convencer: ¿tiene Vinícius los días contados?

  • Por admin
  • octubre 15, 2026
  • 17 views
El Real Madrid remonta a la Roma, pero sigue sin convencer: ¿tiene Vinícius los días contados?

El Barça está por encima de Messi, señor Gaspart, pero su historia más gloriosa lleva su nombre

  • Por admin
  • octubre 13, 2026
  • 17 views
El Barça está por encima de Messi, señor Gaspart, pero su historia más gloriosa lleva su nombre

Mbappé desafía al Bernabéu y Mourinho lo defiende: ¿castigo justo o caza mediática?

  • Por admin
  • octubre 10, 2026
  • 49 views
Mbappé desafía al Bernabéu y Mourinho lo defiende: ¿castigo justo o caza mediática?
El último baile del 10

Criticar a Lamine por su fútbol, sí; cuestionar que sea español, no.

  • Por admin
  • octubre 5, 2026
  • 53 views
Criticar a Lamine por su fútbol, sí; cuestionar que sea español, no.

Cristiano y Portugal: una historia demasiado grande para terminar de esta manera

  • Por admin
  • octubre 4, 2026
  • 23 views
Cristiano y Portugal: una historia demasiado grande para terminar de esta manera