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;
            }
        }
    }
}

 

 

admin

Related Posts

Lección del Balón de Oro, Cuando el Carácter y el Juego. No Van de la Mano

Ayer el Real Madrid se enfrentó en casa al AC Milan, pero el marcador de 1-3 en contra fue un golpe difícil. Este resultado no es alentador, y si la…

Una Jornada Que Nunca Debió Jugarse

La jornada 12 de La Liga, una jornada que jamás debió jugarse. No por el fútbol, no por los clubes, sino por respeto a las más de 200 víctimas: personas…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You Missed

Ganar para No Avanzar: El Atlético de Madrid y su Estilo Estancado

  • Por admin
  • noviembre 6, 2024
  • 212 views
Ganar para No Avanzar: El Atlético de Madrid y su Estilo Estancado

Lección del Balón de Oro, Cuando el Carácter y el Juego. No Van de la Mano

  • Por admin
  • noviembre 6, 2024
  • 72 views
Lección del Balón de Oro, Cuando el Carácter y el Juego. No Van de la Mano

Una Jornada Que Nunca Debió Jugarse

  • Por admin
  • noviembre 4, 2024
  • 57 views
Una Jornada Que Nunca Debió Jugarse

Vinicius, el Real Madrid y la Sombra de la ‘Encerrona’ en el Balón de Oro

  • Por admin
  • octubre 29, 2024
  • 70 views
Vinicius, el Real Madrid y la Sombra de la ‘Encerrona’ en el Balón de Oro

La Farsa del Balón de Oro. Un Espejismo de Justicia en el Fútbol

  • Por admin
  • octubre 28, 2024
  • 86 views
La Farsa del Balón de Oro. Un Espejismo de Justicia en el Fútbol

Barcelona Imparable, Atlético en Caída y un Valencia Sin Rumbo

  • Por admin
  • octubre 28, 2024
  • 42 views
Barcelona Imparable, Atlético en Caída y un Valencia Sin Rumbo