Juegos

Tutorial de Unity3D

Tutorial de Unity3D

Introducción a Unity 3D

Unity 3D es un potente motor de desarrollo de juegos. Es multiplataforma, es decir, te permite crear juegos para dispositivos móviles, web, escritorio y consola, alrededor de 30 plataformas en total. Unity 3D tiene muchas características interesantes, algunas de ellas se detallan a continuación:

Interfaces de Unity

Exploremos las interfaces del editor de Unity, que son configurables.  Se compone de ventanas tapizadas que puede reorganizar según sus necesidades.  Exploremos la configuración de ventana predeterminada. Aquí está la imagen como se ve

Ventana de jerarquía

La ventana de jerarquía representa todos los objetos de la escena. Muestra cómo los objetos están vinculados entre sí en la escena, por lo que estas dos ventanas están relacionadas. En la ventana de jerarquía hay una lista desplegable llamada Crear. Puede crear un objeto vacío, objetos 3D, objetos 2D, luz, audio, video, sistema de partículas y objetos de cámara muy fácilmente. La ventana de jerarquía se muestra a continuación. 'Sin título' es el nombre de la escena. Puedes cambiarle el nombre como quieras. Puede ver un icono desplegable en el lado derecho de sin título (nombre de la escena). Al hacer clic en este menú desplegable, puede ver diferentes opciones para Guardar escena y Agregar nueva escena.

Ventana de escena

La ventana de escena es donde creas tu escena. Es donde puedes interactuar con los objetos y modelos de tu juego. Puede cambiar el tamaño, remodelar y reposicionar sus objetos de escena. Esta es la ventana donde empiezas a trabajar con Unity. La vista de escena puede ser 2D o 3D dependiendo de la configuración de su proyecto. Aquí hay una captura de pantalla de cómo se ve la ventana de la escena:

En la ventana de la escena puede ver otra pestaña etiquetada Sombreado, aquí es donde puede seleccionar el tipo de vista que desea, ya sea sombreada o estructura alámbrica. Tiene muchas otras opciones como Miscelánea, Iluminación global, GI en tiempo real, GI al horno y muchas otras. Puede ver en 2D o 3D utilizando el botón junto al Sombreado desplegable. El siguiente es el botón de alternancia para la iluminación de la escena. De manera similar, un botón de alternancia para el audio de la escena. A continuación, se muestra una lista desplegable para habilitar el cuadro de cielo, la niebla, el material animado y los efectos de imagen.

Ventana de juego

La ventana de juego representa tu juego final publicado en el modo de juego. Se renderiza a partir de las cámaras que usaste en tu juego. En la ventana del juego puedes ver otra barra de herramientas como se muestra a continuación en la captura de pantalla:

La pantalla 1 muestra la cámara presente en la escena del juego. Por defecto está configurado en Pantalla 1 para cámara principal. Si tiene varias cámaras y desea cambiar, puede seleccionar de la lista desplegable. Junto a esto, puede ver un menú desplegable para las relaciones de aspecto. Puede seleccionar de acuerdo con la pantalla del monitor de su dispositivo de destino. A continuación puedes ver un Control deslizante de escala para acercar. Desplácese hacia la derecha y examine más detalles de su escena en el modo de reproducción. El siguiente es el botón para Maximizar en juego, cuando se hace clic, el tamaño de la ventana del juego será máximo en el modo de juego. Silenciar el audio alternar se utiliza para silenciar / reactivar audio. Estadisticas muestra estadísticas de renderizado sobre el audio y los gráficos de tu juego.

Ventana Activos del proyecto

Como muestra el nombre, la ventana de activos tiene todos los activos de su proyecto que puede usar. Si importa algo nuevo, aparecerá en la ventana de activos del proyecto. La ventana de activos del proyecto tiene dos partes, el panel izquierdo y el panel derecho, como se muestra en la siguiente captura de pantalla:

El panel izquierdo muestra la estructura jerárquica de los activos del proyecto.  Al hacer clic en cualquier carpeta, se mostrarán los detalles en el panel derecho. Por ejemplo en la figura dada Prefabricados se hace clic en la carpeta en el panel izquierdo, por lo que sus detalles se muestran en el panel derecho, ya que contiene dos objetos del juego. En el panel de la izquierda puede ver un Favoritos sección, donde puede arrastrar los elementos que desea utilizar con mucha frecuencia para evitar perder tiempo en su búsqueda. Encima puedes ver un Crear desplegable que le permite crear un script C #, una carpeta, un sombreador, una máscara GUI, una escena, un prefabricado, un material y mucho más.

Ventana de consola

La ventana de la consola es el lugar donde puede ver sus errores, advertencias y mensajes. Puede ajustarlos haciendo clic en sus botones de alternancia. También te permite borrar todos los errores, advertencias y mensajes. Puede pausar los errores durante un tiempo determinado. Aquí puedes ver en la siguiente figura

El icono desplegable en la esquina superior derecha tiene opciones para el registro del editor y el registro de seguimiento de la pila.

Ventana del inspector

La ventana del inspector es una de las ventanas más interesantes y útiles del editor. Es el lugar donde puedes editar todas las propiedades del objeto de juego seleccionado. Cada objeto del juego tiene su propio tipo, por lo que sus propiedades serán diferentes y la ventana del inspector puede variar. Los activos, los scripts y los objetos del juego varían en propiedades. Veamos las propiedades de un cubo en la ventana del inspector. Aquí está la imagen:

Puede cambiar el nombre de su objeto de juego simplemente haciendo clic en el nombre anterior y escribiendo uno nuevo. A continuación, verá la sección de transformación donde puede ajustar la posición, la rotación y la escala de su objeto de juego seleccionado. En el último, verá un nombre de botón como Agregar componente, haga clic en él para agregar nuevos componentes a su objeto de juego, por ejemplo, si desea adjuntar una secuencia de comandos, simplemente haga clic en agregar componente y escriba el nombre de la secuencia de comandos.

Barra de herramientas

La última es la pestaña de la barra de herramientas, tiene muchas características útiles. Contiene algunas herramientas básicas para manipular la vista de la escena y los objetos. En el centro hay botones para reproducir, pausar y controlar por pasos. Los siguientes dos botones muestran su nube de Unity y su cuenta de Unity. Aquí está la figura de cómo se ve:

Introducción a Unity

Comencemos a crear un nuevo proyecto en Unity porque es hora de jugar con lo que hemos aprendido. Haga doble clic en el icono de Unity. Aparecerá la siguiente ventana:

Ingresar Nombre del proyecto, seleccionar un lugar de trabajo Localización y luego seleccione el tipo de su proyecto ya sea 2D o 3D. Haga clic en Crear proyecto.

De forma predeterminada, verá una escena sin título que contiene una cámara principal y una luz direccional en la escena. Empecemos a crear un entorno.

Entorno del edificio

En primer lugar, cree un plano haciendo clic en Crear -> Objeto 3D y luego seleccione Avión. O alternativamente puede crearlo haciendo clic en GameObject -> Objeto del juego y luego seleccione Avión. Vaya a la ventana de jerarquía y haga clic en el objeto del juego plano. Ahora vaya a la ventana del inspector y cámbiele el nombre a Suelo. Ahora ajuste los valores de transformación para que este plano parezca una carretera recta. Simplemente escale X a 6 y Z a 50. Aquí está la imagen como se ve

Ahora descargue una textura de carretera y aplíquela en el objeto del suelo. Crea un nombre de carpeta como Textura. Arrastre la textura de la carretera descargada a la carpeta de Texture. Ahora seleccione Suelo y arrastre la textura de la carretera en la vista de escena. Aquí está la imagen como se ve

Esta es la textura que descargué

Después de aplicar textura en el suelo, haga clic en Suelo y configure el mosaico en la ventana del inspector. Así es como lo configuro.

Ahora que ha creado un modelo de carretera, creemos un modelo de bola en unidad.

Ir Crear -> objeto 3D y luego seleccione Esfera, Verás un objeto de esfera en la ventana de la escena. Selecciónelo y vaya a la ventana del inspector para renombrarlo como Bola. Ahora ajuste los valores de transformación en consecuencia. Simplemente escale a 5 a lo largo de los tres ejes y colóquelo en el centro de la carretera. Así es como se ve

Ahora crea una valla o muro alrededor de la carretera.

Ir Crear -> Objeto 3D y luego seleccione Cubo. Selecciónelo y cámbiele el nombre a Pared1. Vaya a la ventana del inspector y establezca los valores de transformación para que parezca un muro alrededor de la carretera. Así es como se ve:

Vea estos valores de transformación para Pared1. Escala Y a 6 y Z a 500. Luego, ajuste su posición para que llegue a las esquinas de la carretera.

Ahora busque una textura de pared, descárguela y cópiela en el Textura carpeta en activos. Arrastre la textura de la pared a la pared en la ventana de la escena. Ajuste la labranza para que se vea agradable y suave. Ajusté el mosaico como X a 50 e Y a 1.5. Después de ajustar el mosaico, así es como se ve

Esta es la textura que usé para la pared

Hemos creado un muro para un lado de la carretera. Ahora haz lo mismo para el otro lado de la carretera también. En lugar de pasar por todo el proceso, podemos simplemente copiar Pared1 y cambiarle el nombre a Wall2.

Seleccione Pared1 en la ventana de jerarquía y luego haga clic derecho y luego seleccione Duplicar opción. Creará otro objeto de juego con el mismo tamaño y valores de transformación. Haga clic en Pared1 (1) y cambiarle el nombre a Wall2. Ahora ajuste la posición para que llegue a la otra esquina de la carretera.

Mira la siguiente imagen lo genial que se ve

Mis valores de posición para Wall2 son X a -29.6 Y a 2.6 y Z a 2.6.

Ahora crea un material para Bola. Vaya a la ventana Proyecto y cree una carpeta haciendo clic derecho en el mouse y luego seleccione Carpeta. Nómbrelo como Materiales. Nuevamente, haga clic derecho en el mouse y cree un material. Nómbralo como bola roja. En la ventana del inspector, seleccione el color del material. Ir Mapas principales y seleccione el color Albedo a rojo. Aumente la textura metálica desplazando la barra hacia la derecha. Arrastre este material a la Bola en la vista de la escena. Así es como se ve

Así es como se ve el material:

Así que hemos terminado con el desarrollo de nuestro medio ambiente. Ahora es el momento de programar. Para esto tenemos que crear un script.

Scripting en Unity

Para implementar sus propias funciones de juego y para controlar el comportamiento del juego, Unity proporciona un mecanismo de scripting. Puedes escribir tu propio script para la salida deseada del juego. Con estos scripts puede activar eventos del juego, puede cambiar las propiedades de los componentes y puede responder a las entradas del usuario. Básicamente, Unity admite dos lenguajes de programación diferentes con fines de scripting, uno es C # y el otro es JavaScript. Aparte de estos dos idiomas, muchos otros .NET también se pueden usar con Unity. Los scripts se conocen como componente de comportamiento en Unity.

Crear un guión

Comencemos a crear un script de Unity. Para esto, vaya a la ventana de activos y cree una nueva carpeta llamada Guiones (puede omitir la creación de nuevas carpetas para cada nuevo tipo de activo, pero es una buena práctica mantener las cosas organizadas). Así es como se ve mi ventana de activos ahora:

Ahora abre el Guiones carpeta, haga clic derecho, luego vaya a Crear y seleccione C# texto. Cambiar el nombre de la secuencia de comandos a Movimiento. Estamos creando este script para mover y rodar la pelota en la carretera. Por ahora, la pelota está parada, sin hacer nada, creemos algo de movimiento en ella.

Haga doble clic en el script de movimiento que se abrirá en Mono Develop. Si su secuencia de comandos es un comportamiento mono, verá un código preescrito como este

usando el sistema.Colecciones; usando el sistema.Colecciones.Genérico; usando UnityEngine; public class MovementScript: MonoBehaviour // Use esto para la inicialización void Start ()  // La actualización se llama una vez por cuadro void Update ()  

Puede ver dos funciones Iniciar () y Actualizar ().

Comienzo(): La función de inicio se utiliza para inicializar variables y objetos. Se llama solo una vez cuando el script está habilitado justo antes de cualquier otra llamada de función de actualización.

Actualizar(): Es una función de comportamiento mono, se llama una vez en cada fotograma.

Aparte de estos dos, hay muchas otras funciones de comportamiento mono, por ejemplo, awake (), fixedUpdate (), lateUpdate (), etc.

Para mover la bola en la carretera primero hay que convertirla en un cuerpo rígido (es un cuerpo sólido ideal en el que se desprecia la deformación). Seleccione Bola en la ventana de jerarquía y haga clic en Agregar componente botón en la ventana del inspector. Escriba cuerpo rígido y presione Ingresar. Un cuerpo rígido se adherirá al Bola. Ahora vaya al script y cree una variable privada de tipo Cuerpo rígido. Ahora asigne el cuerpo rígido de la bola a esta variable que acaba de crear en el script.

Rigidbody rb privado; rb = GetComponent (); 

Ahora escribe un código para el movimiento de este cuerpo rígido. Cual es la idea? La bola debe moverse cuando presiono las teclas de flecha del teclado. Debe moverse hacia adelante cuando se presiona la tecla hacia arriba, hacia atrás cuando se presiona la tecla hacia abajo, etc.

Entonces, la entrada proviene del teclado, ¿cómo debo obtener esta entrada?? La clase de entrada de Unity tiene un nombre de función GetAxis (), para devuelve el valor del eje virtual identificado por el nombre del eje. Cree dos variables, una para el eje xy otra para la entrada del eje y. Así es como debería ser

float moveHorizontal = Entrada.GetAxis ("Horizontal"); 

Ahora cree una variable Vector3 para obtener valores de movimiento.

Vector3 movimiento = nuevo Vector3 (moveHorizontal, 0.0f, moveVerticle); 

El primer parámetro es el valor del eje x, el segundo es el valor del eje y y el tercero es el valor del eje z. Como la bola no se moverá en la dirección del eje y, asígnele cero. Por último, agregue este movimiento al cuerpo rígido y multiplique con un número constante para la velocidad o cree otra variable para la velocidad. Vea el código completo a continuación

usando el sistema.Colecciones; usando el sistema.Colecciones.Genérico; usando UnityEngine; Movimiento de clase pública: MonoBehaviour velocidad de flotación pública; Rigidbody rb privado; // Use esto para la inicialización void Start () rb = GetComponent ();  // Fixed Update se llama después de un número fijo de frame void FixedUpdate () float moveHorizontal = Input.GetAxis ("Horizontal"); float moveVerticle = Entrada.GetAxis ("Horizontal"); Vector3 movimiento = nuevo Vector3 (-1 * moveHorizontal, 0.0f, -1 * moveVerticle); rb.AddForce (movimiento * velocidad);  

Como la velocidad es una variable pública, puede asignar un valor en la ventana del inspector. Adjunte este script a la bola arrastrándolo a la ventana del inspector o presionando Agregar componente botón. Presione el botón de reproducción y pruebe su codificación, ya sea que la bola se esté moviendo o no.

Configuración de la cámara

Lo último que notará es que cuando presiona el botón de avance y la bola comienza a moverse, sale de la cámara cuando la cámara está estacionaria. Qué debemos hacer? Deberíamos mover la cámara también? Si, es lo mas simple de hacer. Haga que la cámara sea hija de la pelota arrastrando la cámara principal a la pelota.

Conclusión

Este fue un tutorial introductorio básico en el que aprendió muchas características interesantes, creación de entornos y secuencias de comandos en Unity. No lo dudes, empieza a crear tu primer juego con Unity hoy y disfruta!

Los 10 mejores juegos para jugar en Ubuntu
La plataforma Windows ha sido una de las plataformas dominantes para juegos debido al gran porcentaje de juegos que se están desarrollando hoy para ad...
5 mejores juegos de arcade para Linux
Hoy en día, las computadoras son máquinas serias que se usan para jugar. Si no puede obtener la nueva puntuación más alta, sabrá a qué me refiero. En ...
Batalla por Wesnoth 1.13.6 Desarrollo liberado
Batalla por Wesnoth 1.13.6 lanzado el mes pasado, es el sexto lanzamiento de desarrollo en el 1.13.x y ofrece una serie de mejoras, sobre todo en la i...