Tutorial de Unity3D

Tutorial de Unity3D

Introducción a Unity 3D

Unity 3D es un poderoso motor de desarrollo de juegos. Es una plataforma cruzada que le permite crear juegos para dispositivos móviles, web, de escritorio y consola, alrededor de 30 plataformas en todos. Unity 3D tiene muchas características emocionantes, algunas de ellas se dan a continuación:

  • Costo: La versión personal de Unity 3D es gratuita para principiantes, estudiantes y aficionados. Unity Personal tiene todas las características centrales de Unity. También cuenta con Core Analytics, Cloud Build, anuncios, multijugador, compras en la aplicación y funciones de plataforma cruzada. Aparte de estas características, Unity Personal también tiene algunas limitaciones. Otras dos versiones Unity Plus y Unity Pro también están disponibles para creadores y profesionales serios, a partir del precio de $ 35 por mes.
  • Todo el editor en uno: La unidad es conocida como un editor todo en uno. El editor de Unity tiene múltiples herramientas amigables para los artistas para diseñar experiencias impresionantes. Tiene un fuerte traje de herramientas de desarrollador para implementar la lógica del juego y el juego de realización de alta gama. Unity también te permite crear juegos 2D y 3D. También incluye herramientas de avance de IA basadas en un sistema de navegación. Tiene un excelente sistema incorporado para crear interfaces de usuario llamativas. Su motor de física Box2d nos permite crear movimiento realista, impulso, fuerza y ​​juego.
  • Plataformas: Unity admite muchas plataformas diferentes como Linux, iOS, Android, Windows, etc. Totalmente casi 30 plataformas.
  • Realidad virtual y aumentada: Unity apoya el desarrollo de la realidad virtual y aumentada. Es el motor más utilizado para el desarrollo XR. Tiene Microsoft Hololens, Stream VR/Vive, Gear VR y PlayStation VR Support in Unity Plus para realidad virtual y aumentada.
  • Multijugador: Para los juegos en red y multijugador en tiempo real, la unidad es la mejor opción. Proporciona servidores para la colaboración en tiempo real.
  • Rendimiento de motor: El rendimiento del motor de Unity es extraordinario. Sistema de cómputo multiproteo viene para escenarios intensivos. Unity Engine tiene herramientas de perfil avanzadas que determina si su juego está atado a CPU o no, y también le dice cómo optimizarlo con una mejor experiencia.
  • Tienda de activos de Unity: Es un catálogo masivo de contenido gratuito y pagado. Puede aumentar su tiempo de desarrollo descargando muchos modelos y activos gratuitos incorporados. Incluso Unity Asset Store tiene proyectos completos tanto gratis como de pago.
  • Representación gráfica: Unity tiene uno de los mejores sistemas de renderizado de gráficos. Le permite crear entornos como el día luminoso, el brillo llamativo de los signos de neón, las medianoche con poca luz y los túneles sombríos. Produce efectos visuales increíbles. Aunque Unity admite multiplataforma, pero aún intenta cubrir la API de gráficos de bajo nivel de cada plataforma para obtener mejores resultados y sofocar la experiencia del usuario.
  • Colaboración en equipo: Tiene características que habilitan la colaboración y el simple flujo de trabajo. El almacenamiento en la nube de Unity le permite guardar, compartir y sincronizar sus proyectos en cualquier lugar.
  • Informes de rendimiento: El sistema de informes de rendimiento de la unidad se ocupa de los problemas en tiempo real. Los problemas de altas prioridades se resuelven de manera muy eficiente. Encuentra errores de aplicación en dispositivos y plataformas.

Interfaces de la unidad

Explore las interfaces del editor de Unity, que son configurables. Está formado por ventanas tapadas que puede reorganizar de acuerdo con su necesidad. Exploremos la configuración de la ventana predeterminada. Aquí está la imagen como se ve

Ventana de jerarquía

La ventana de la jerarquía representa cada objeto 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 la jerarquía hay una lista desplegable llamada como 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 la jerarquía se muestra a continuación. 'Sin título' es el nombre de la escena. Puedes cambiarte el nombre como quieras. Puedes ver un ícono 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 Salvar la escena y Agregar nueva escena.

Ventana de escena

La ventana de la escena es donde creas tu escena. Es donde puedes interactuar con tus objetos y modelos de juego. Puede cambiar el tamaño, remodelar y reposicionar los objetos de su escena. Esta es la ventana donde comienzas a trabajar con Unity. La vista de la 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 escena puedes ver otra pestaña etiquetada Sombreado, Aquí es donde puede seleccionar qué tipo de vista desea. Tiene muchas otras opciones como la iluminación global, Miscelánea, GI en tiempo real, GI horneado y muchas otras. Puede ver a 2D o 3D usando el botón al lado del Sombreado desplegable. El siguiente es el botón de alternar para la iluminación de la escena. Del mismo modo, un botón de palanca para el audio de la escena. Lo siguiente es una lista desplegable para habilitar los efectos de Sky Box, Fog, Animated Material y Image.

Ventana de juego

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

Mostrar 1 muestra la cámara presente en la escena de tu juego. Por defecto está configurado en Pantalla 1 para la cámara principal. Si tiene varias cámaras y desea cambiar, entonces puede seleccionar de la lista desplegable. Junto a esto, puede ver un desplegable para las relaciones de aspecto. Puede seleccionar de acuerdo con la pantalla de su monitor de 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 modo de juego. El siguiente es el botón para Maximizar en el juego, Cuando se hace clic, el tamaño de la ventana del juego será máximo en el modo de juego. Silenciar el audio La palanca se usa para audio de silencio/inmuta. Estadísticas Muestra estadísticas sobre el audio y los gráficos de tu juego.

Ventana de activos del proyecto

Como el nombre muestra 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 captura de pantalla a continuación:

El panel izquierdo muestra la estructura jerárquica de los activos del proyecto. Cuando haga clic en cualquier carpeta, mostrará los detalles en el panel derecho. Por ejemplo en la figura dada Prefabricado La carpeta se hace clic en el panel izquierdo para que sus detalles se muestren en el panel derecho, ya que contiene dos objetos de juego. En el panel izquierdo puedes ver un Favoritos Sección, donde puede arrastrar elementos que desea usar con mucha frecuencia para evitar el desperdicio de tiempo en la búsqueda. Sobre él puedes ver un Crear desplegable que le permite crear un script de C#, una carpeta, un sombreador, una piel de GUI, una escena, una prefabricación, 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 palanca. También le permite borrar todos los errores, advertencias y mensajes. Puede detener los errores por cierto tiempo. Aquí puedes ver en la siguiente figura

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

Ventana del inspector

Inspector Window 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 de juego tiene su propio tipo para que sus propiedades sean diferentes y la ventana del inspector pueda variar. Activos, scripts y objetos de juego varían en propiedades. Veamos las propiedades de un cubo en la ventana del inspector. Aquí está la imagen:

Puedes cambiar el nombre de tu 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 la última ves 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 un script, simplemente haga clic en Agregar componente y escriba su nombre de script.

Barra de herramientas

El último es la pestaña 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 jugar, pausa y control de paso. Los siguientes dos botones muestran su cuenta de Unity Cloud and Unity. Aquí está la figura como se ve:

Comenzando con la unidad

Comencemos a crear un nuevo proyecto en Unity porque es hora de jugar con lo que hemos aprendido. Hará doble clic en la ventana del icono de Unity: aparecerá:

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

Por defecto, 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 de construcción

En primer lugar, cree un avión haciendo clic en Crear -> Objeto 3D y luego seleccione Avión. O alternativamente puede crearlo haciendo clic en GameObject -> Objeto de juego y luego seleccione Avión. Vaya a la ventana de la jerarquía y haga clic en el objeto de juego de avión. Ahora vaya a la ventana del inspector y cambie el nombre como Suelo. Ahora ajuste los valores de transformación para que este avión se vea como un camino recto. Solo escala X a 6 y Z a 50. Aquí está la imagen como se ve

Ahora descargue una textura de la carretera y aplíquela en el objeto de tierra. Crear un nombre de carpeta como textura. Arrastre la textura de la carretera descargada a la carpeta de Textura. 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 la textura en el suelo, haga clic en el suelo y configure el mosaico en la ventana del inspector. Así es como lo configuré.

Ahora ha creado un modelo de carretera, creemos un modelo de pelota en Unity.

Ir a Crear -> Objeto 3D y luego seleccione Esfera, Verás un objeto de esfera en la ventana de escena. Seleccionarlo y vaya a la ventana del inspector para cambiarlo como Pelota. Ahora ajuste los valores de transformación en consecuencia. Simplemente escévelo a 5 a lo largo de los tres eje y vuelva a colocarlo en el centro de la carretera. Así es como se ve

Ahora crea una cerca o pared alrededor de la carretera.

Ir a Crear -> Objeto 3D y luego seleccione Cubo. Seleccionarlo y cambiar el nombre a Muro. Vaya a la ventana del inspector y establezca los valores de transformación para que parezca una pared alrededor de la carretera. Así es como se ve:

Ver estos valores de transformación para Muro. 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 descargarlo y copiar al 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 bien 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 pared para un lado de la carretera. Ahora haz lo mismo para el otro lado del camino también. En lugar de pasar por todo el proceso, podemos copiar Muro y renombrarlo a Muro.

Seleccionar Muro En la ventana de jerarquía y luego haga clic derecho y luego seleccione Duplicar opción. Creará otro objeto de juego que tiene el mismo tamaño y valores de transformación. Haga clic en Wall1 (1) y renombrarlo a Muro. Ahora ajuste la posición para que llegue a la otra esquina de la carretera.

Vea la siguiente imagen 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 Pelota. Vaya a la ventana del proyecto y cree una carpeta haciendo clic derecho en el mouse y luego seleccione Carpeta. Nombrarlo como Materiales. Nuevamente haga clic derecho en el mouse y cree un material. Nombrarlo como bola roja. En la ventana del inspector, seleccione el color del material. Ir a Mapas principales y seleccione el color de albedo en rojo. Aumentar la textura metálica desplazando la barra a la derecha. Arrastre este material al Pelota En la vista de la escena. Así es como se ve

Así es como se ve el material:

Entonces hemos terminado con nuestro desarrollo de medio ambiente. Ahora es hora de hacer algo de codificación. Para esto tenemos que crear un script.

Scripting in Unity

Para implementar sus propias características de juego y controlar el comportamiento del juego, la unidad proporciona como mecanismo de secuencia de comandos. Puedes escribir tu propio guión para el resultado deseado del juego. Con estos scripts, puede activar eventos del juego, puede cambiar las propiedades de Componente y puede responder a las entradas del usuario. Básicamente, Unity admite dos lenguajes de programación diferentes para el propósito de secuencias de comandos, uno es C# y otro es JavaScript. Aparte de estos dos idiomas, muchos otros .Los idiomas netos también se pueden usar con Unity. Los scripts se conocen como componente de comportamiento en la unidad.

Creando un script

Empecemos a crear un script de unidad. 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 ahora la ventana de mis activos:

Ahora abre el Guiones carpeta, haga clic derecho, luego vaya a Crear y seleccionar C# guion. Cambiar el nombre de script a Movimienot. Estamos creando este script para mover y rodar la pelota en el camino. Por ahora la pelota es estacionario, no hacer nada, creemos un movimiento en él.

Haga doble clic en el script de movimiento que se abrirá en mono desarrollo. Si su script es un comportamiento mono, verá algún código previamente escrito como este

Uso del sistema.Colecciones;
Uso del sistema.Colecciones.Genérico;
usando UnityEngine;
Public Class Movementscript: Monobehaviour
// usa esto para la inicialización
inicio vacío ()

// La actualización se llama una vez por cuadro
update void ()

Puede ver dos funciones inicio () y actualizar ().

Comenzar(): 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 que cualquier otra función de actualización llame.

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

Aparte de estos dos, hay muchas otras funciones de comportamiento mono, por ejemplo, Awake (), FixedUpdate (), LateUpdate () etc.

Para mover la pelota en la carretera, en primer lugar, debe convertirlo en un cuerpo rígido (es un cuerpo sólido ideal en el que se descuida la deformación). Seleccionar Pelota En la ventana de jerarquía y haga clic en Agregar componente Botón en la ventana del inspector. Escriba el cuerpo rígido y presione Ingresar. Un cuerpo rígido se unirá al Pelota. Ahora vaya al script y cree una variable privada de tipo Cuerpo rígido. Ahora asigne el cuerpo rígido de la pelota a esta variable que acaba de crear en el script.

Rig Rigid de privado;
rb = getComponent ();

Ahora escriba algún código para el movimiento de este cuerpo rígido. ¿Cuál es la idea?? La pelota debe moverse cuando presiono las teclas de flecha del tablero de teclas. Debe avanzar cuando se presiona la tecla hacia arriba, hacia atrás cuando se presiona la tecla hacia abajo y así sucesivamente.

Entonces, la entrada al provenir del teclado, ¿cómo debo obtener esta entrada?? La clase de entrada de Unity tiene un nombre de función GetAxis (), Para devolver el valor del eje virtual identificado por el nombre del eje. Cree dos variables una para el eje X y 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 tercero es el valor del eje z. Ya que la pelota no se moverá en la dirección del eje y, asigne cero a él. 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

Uso del sistema.Colecciones;
Uso del sistema.Colecciones.Genérico;
usando UnityEngine;
Movimiento de clase pública: Monobehaviour
velocidad de flotación pública;
Rig Rigid de privado;
// usa esto para la inicialización
inicio vacío ()
rb = getComponent ();

// se llama a la actualización fija después del número fijo de cuadro
void fixupdate ()
Float MoveHorizontal = Entrada.GetAxis ("horizontal");
FLOAT MOVEVERTICA = 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 valor en la ventana del inspector. Adjunte este script a la pelota arrastrándola a la ventana del inspector o presionando Agregar componente botón. Presione el botón Play y pruebe que su codificación se mueva o no se mueve o no.

Cámara de configuración

Lo último que notará es que cuando presiona el botón Forward y la pelota comienza a mover, sale de la cámara, ya que la cámara está estacionaria. Qué debemos hacer? También deberíamos mover la cámara? Sí, es lo más simple de hacer. Haga que la cámara sea niño 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, la construcción del entorno y las secuencias de comandos en la unidad. No dudes, comienza a crear tu primer juego con Unity hoy y disfruta!