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

La prensa creó al nuevo Messi y ahora castiga a Lamine Yamal por no serlo

Lamine Yamal no es Messi, ni Cristiano Ronaldo, ni Mbappé: el problema no es su fútbol, sino las expectativas que han creado sobre él Hoy parece que le toca recibir…

Nadie apostaba por el Real Madrid, pero Mourinho volvió a dar una lección de fútbol

El Real Madrid vuelve a demostrar que nunca se le puede dar por muerto, Mourinho ganó la batalla al Barcelona Ayer el Real Madrid volvió a demostrar por qué es…

Deja una respuesta

You Missed

La prensa creó al nuevo Messi y ahora castiga a Lamine Yamal por no serlo

  • Por admin
  • octubre 26, 2026
  • 36 views
La prensa creó al nuevo Messi y ahora castiga a Lamine Yamal por no serlo

Nadie apostaba por el Real Madrid, pero Mourinho volvió a dar una lección de fútbol

  • Por admin
  • octubre 26, 2026
  • 45 views
Nadie apostaba por el Real Madrid, pero Mourinho volvió a dar una lección de fútbol

El Barça juega mejor, pero el Real Madrid de Mourinho nunca debe darse por muerto

  • Por admin
  • octubre 24, 2026
  • 31 views
El Barça juega mejor, pero el Real Madrid de Mourinho nunca debe darse por muerto

Real Madrid y Barcelona ganan entre polémicas: ¿es esta la Liga que queremos?

  • Por admin
  • octubre 20, 2026
  • 43 views
Real Madrid y Barcelona ganan entre polémicas: ¿es esta la Liga que queremos?

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

  • Por admin
  • octubre 15, 2026
  • 76 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
  • 49 views
El Barça está por encima de Messi, señor Gaspart, pero su historia más gloriosa lleva su nombre