Unity y C# Desarrollo de videojuegos
Por Luis Ruelas
()
Información de este libro electrónico
Se comienza con los conce
Autores relacionados
Relacionado con Unity y C# Desarrollo de videojuegos
Libros electrónicos relacionados
PAC-MAN ZX SPECTRUM Calificación: 0 de 5 estrellas0 calificacionesSCRATCH Aprende a programar jugando Calificación: 0 de 5 estrellas0 calificacionesDesarrollo de Videojuegos 2D con Python Calificación: 0 de 5 estrellas0 calificacionesDiseño de Videojuegos, Técnicas y ejercicios prácticos Calificación: 0 de 5 estrellas0 calificacionesDesarrollo de aplicaciones para Android Calificación: 5 de 5 estrellas5/5Ingeniería inversa Calificación: 0 de 5 estrellas0 calificacionesDesarrollo de aplicaciones para Android Calificación: 0 de 5 estrellas0 calificacionesGamificación Calificación: 0 de 5 estrellas0 calificacionesVideojuegos: Construye tu empresa en 10 pasos Calificación: 0 de 5 estrellas0 calificacionesCreación de juegos y aplicaciones para Android Calificación: 0 de 5 estrellas0 calificacionesCreación de juegos y aplicaciones para Android Calificación: 0 de 5 estrellas0 calificacionesUnity 3D Calificación: 4 de 5 estrellas4/5Blender, Curso Práctico Calificación: 1 de 5 estrellas1/5Aprende a Desarrollar Videojuegos Calificación: 3 de 5 estrellas3/5UML. Arquitectura de aplicaciones en Java, C++ y Python. 2ª Edición Calificación: 0 de 5 estrellas0 calificacionesProgramación C# para Principiantes Calificación: 4 de 5 estrellas4/5Diseño de Videojuegos (2ª Edición) Calificación: 0 de 5 estrellas0 calificacionesDiseño de Videojuegos. 2ª Edición. Calificación: 5 de 5 estrellas5/5Processing: Desarrollo de interfaces de usuario, aplicaciones de visión artificial e IoT para Arduino y ESP8266 Calificación: 5 de 5 estrellas5/5Testing de Videojuegos Calificación: 0 de 5 estrellas0 calificacionesLEGO EV3. Programación de Robots: Robótica Calificación: 5 de 5 estrellas5/5Microcontrolador STM32 Programación y desarrollo Calificación: 0 de 5 estrellas0 calificacionesMicrocontrolador STM32 Programación y desarrollo: INGENIERÍA ELECTRÓNICA Y DE LAS COMUNICACIONES Calificación: 3 de 5 estrellas3/5Competencias digitales básicas Calificación: 0 de 5 estrellas0 calificacionesProgramación en C# para Principiantes Calificación: 0 de 5 estrellas0 calificacionesFusion 360 | paso a paso: La guía práctica para Autodesk Fusion 360! Diseño CAD, simulación FEM y CAM para principiantes Calificación: 0 de 5 estrellas0 calificacionesPython Aplicaciones prácticas Calificación: 0 de 5 estrellas0 calificacionesDesarrollo de Videojuegos. Desde el diseño a la comercialización Calificación: 0 de 5 estrellas0 calificacionesDesarrollo de aplicaciones móviles para Android con Kodular Calificación: 0 de 5 estrellas0 calificaciones
Programación para usted
Excel de la A a la Z: El Manual Práctico Paso a Paso de Microsoft Excel para Aprender Funciones Básicas y Avanzadas, Fórmulas y Gráficos con Ejemplos Fáciles y Claros Calificación: 0 de 5 estrellas0 calificacionesPython Paso a paso: PROGRAMACIÓN INFORMÁTICA/DESARROLLO DE SOFTWARE Calificación: 4 de 5 estrellas4/5GuíaBurros Microsoft Excel: Todo lo que necesitas saber sobre esta potente hoja de cálculo Calificación: 4 de 5 estrellas4/5Python a fondo Calificación: 5 de 5 estrellas5/5VBA Excel Guía Esencial Calificación: 5 de 5 estrellas5/5Aprender a programar con Excel VBA con 100 ejercicios práctico Calificación: 5 de 5 estrellas5/5Tablas dinámicas y Gráficas para Excel: Una guía visual paso a paso Calificación: 0 de 5 estrellas0 calificacionesPython para principiantes Calificación: 5 de 5 estrellas5/5JavaScript: Guía completa Calificación: 4 de 5 estrellas4/5Aprende programación Python: python, #1 Calificación: 0 de 5 estrellas0 calificacionesHTML para novatos Calificación: 5 de 5 estrellas5/5El gran libro de Python Calificación: 5 de 5 estrellas5/5Curso básico de Python: La guía para principiantes para una introducción en la programación con Python Calificación: 0 de 5 estrellas0 calificacionesFundamentos De Programación Calificación: 5 de 5 estrellas5/5Programación (GRADO SUPERIOR): PROGRAMACIÓN INFORMÁTICA/DESARROLLO DE SOFTWARE Calificación: 4 de 5 estrellas4/5Aprendizaje automático y profundo en python: Una mirada hacia la inteligencia artificial Calificación: 0 de 5 estrellas0 calificacionesProgramación orientada a objetos con C++, 5ª edición. Calificación: 5 de 5 estrellas5/5Linux Essentials: una guía para principiantes del sistema operativo Linux Calificación: 5 de 5 estrellas5/5Curso de Programación y Análisis de Software Calificación: 4 de 5 estrellas4/5Arduino. Trucos y secretos.: 120 ideas para resolver cualquier problema Calificación: 5 de 5 estrellas5/5Aprender PHP, MySQL y JavaScript Calificación: 5 de 5 estrellas5/5Todo el mundo miente: Lo que internet y el big data pueden decirnos sobre nosotros mismos Calificación: 4 de 5 estrellas4/5Tablas dinámicas para todos. Desde simples tablas hasta Power-Pivot: Guía útil para crear tablas dinámicas en Excel Calificación: 0 de 5 estrellas0 calificacionesPython Aplicaciones prácticas Calificación: 4 de 5 estrellas4/5Ortografía para todos: La tabla periódica de la ortografía Calificación: 5 de 5 estrellas5/5Controles PLC con Texto Estructurado (ST): IEC 61131-3 y la mejor práctica de programación ST Calificación: 3 de 5 estrellas3/5AngularJS: Conviértete en el profesional que las compañías de software necesitan. Calificación: 4 de 5 estrellas4/5115 Ejercicios resueltos de programación C++ Calificación: 3 de 5 estrellas3/5Aprende a Programar en C++ Calificación: 5 de 5 estrellas5/5
Comentarios para Unity y C# Desarrollo de videojuegos
0 clasificaciones0 comentarios
Vista previa del libro
Unity y C# Desarrollo de videojuegos - Luis Ruelas
SOBRE EL AUTOR
Luis Ruelas
Especialista en Animación 3D y Desarrollo de Videojuegos
Con 18 años de experiencia impartiendo clases en Universidades e Institutos del norte de México en: Desarrollo de Videojuegos con Unity, Animación y modelado 3D con Autodesk Maya y ZBrush, Metodología de la programación, Creación de multimedia y efectos visuales con Adobe Suite.
Proveedor de servicios de Animación 3D, capacitación, desarrollo de videojuegos y multimedia.
Instructor en Udemy con alumnos a nivel nacional de más de 38 países e impartiendo Master Class
en Desarrollo de Videojuegos con Unity en diversos estados de México.
Creador de Cineanimación
, empresa dedicada a impartir cursos especializados en el ámbito del desarrollo de videojuegos y animación 3D.
www.cineanimacion.com
creacionvideojuegos@gmail.com
1
TRABAJO CON UNITY
INTRODUCCIÓN
Unity es un motor de videojuegos creado por Unity Technologies disponible para Windows y OS X.
Con Unity podrás crear juegos en 2D y 3D para diversas plataformas como Windows, OS X, XBOX ONE, PS4, Nintendo Switch, Android y IOS como principales plataformas.
A su vez, también permite crear videojuegos y recorridos con realidad virtual y crear proyectos profesionales con realidad aumentada.
Los lenguajes de programación que acepta Unity son C#, JavaScript y Boo.
En este libro desarrollaremos scripts en el lenguaje C# y aprenderemos la metodología de la programación desde el inicio. No necesitas tener ninguna base para tomar este curso.
En este libro tutorial podrás aprender Unity desde cero creando un videojuego tipo plataforma 3D con todos los elementos necesarios de un videojuego profesional.
Creación de entornos 3D
Programación y animación de movimientos de personajes
Programación de funcionalidades de los personajes
Lógicas de diversos ataques de enemigos
Generación y programación de ítems
Funcionalidades profesionales de videojuegos como pantalla de inicio, pantalla de Game Over
, música, efectos sonoros, explosiones, pausa, barras de vida, cinemáticos y mas
Exportación de tu videojuego a plataforma Android, publicación y comercialización de tus videojuegos
INSTALACIÓN DE UNITY
Como primer paso para comenzar a desarrollar los ejercicios de este libro deberá de descargar el software UNITY.
Vaya a https://unity3d.com/es
Clic en Consigue Unity
.
Encontrarás 3 versiones: Personal, Plus y Pro. Para los ejercicios de este libro utilizaremos la versión gratuita Personal.
Tipos de cuentas de Unity
Descarga la versión de tu ordenador
Instala el software
Se te pedirá que crees una cuenta de Unity, misma que estará ligada a tus proyectos.
Pantalla para crear una identidad de Unity.
Una vez creada se te pedirá que confirmes tu email con un enlace en tu cuenta de correo
Inicia Unity con un Unity ID
DESCARGAR EL MATERIAL DE APOYO
Este ejercicio contiene material de apoyo mismo que se encuentra dividido por capítulos.
Los Assets
que están incluidos en este proyecto son objetos 3D y personajes con sus respectivas animaciones de la página https://shop.bitgem3d.com/
Dentro de la carpeta resources
ubicada en el sitio www.ra-ma.es
se encuentran todos los elementos en 3D, texturas, y audios que utilizarás en cada capítulo.
PREPARACIÓN DEL PROYECTO
Lo primero que tenemos que hacer es hacer un Set up
del proyecto.
Al momento de crear un nuevo proyecto se creará una carpeta maestra para nuestro proyecto, misma que contendrá las carpetas necesarias para manejar nuestro proyecto.
NOTA:
Cuando quiera exportar su proyecto completo; deberá de mover toda la carpeta maestra para que no se pierda ningún elemento.
Clic en el ícono New
Nuevo proyecto
En la siguiente pantalla se te pedirá lo siguiente:
Project name: Deberás de asignar un nombre para tu proyecto, en el caso de este ejercicio lo llamaré GhoulieMan
Template: Podrás elegir un proyecto 3D o 2D, para este proyecto elegiremos 3D
Location: La localización dentro de tu unidad donde estará alojado tu carpeta de proyecto
Organization: El nombre de tu organización personal
Parámetros para el nuevo proyecto.
Clic en Create Proyect
INTERFAZ DE UNITY
En este apartado revisaremos las ventanas principales para el inicio de nuestro trabajo dentro de Unity.
Ventana Scene
La ventana Scene
es nuestro monitor visual de todos los elementos y entorno de nuestro videojuego.
Para poderte mover a través de ella en el modo 3D:
Con Alt + botón izquierdo del ratón podrás rotar la vista
Con Alt + botón derecho del ratón podrás hacer acercamiento o alejamiento de la vista
Ventana Scene
La barra de herramientas nos ofrece herramientas para movernos y modificar elementos dentro de la ventana Scene
mismos que iremos viendo conforme a su utilidad.
La primera herramienta es Hand Tool
(acceso directo tecla Q
en el teclado) nos sirve para plantear y movilizarnos en la ventana Scene
.
Barra de Herramientas
Ventana Project
En la ventana Project
será donde se importen o se creen los elementos (Assets
) que se añadirán en el videojuego.
Ventana Project
Ventana Hierarchy
La ventana Hierarchy
es donde se encontrarán los elementos existentes dentro de nuestro videojuego.
Por defecto, al iniciar una nueva escena aparecerán dos elementos:
Main Camera: Es la cámara que nos permite visualizar el juego en la pestaña Game
, sin ella no tenemos visualización alguna.
Directional Light: Es la luz que nos permite iluminar los elementos dentro de nuestro juego, sin ella todo estaría en oscuridad.
Ventana Hierarchy
Elementos por defecto
Ventana Inspector
En la ventana Inspector
podremos visualizar y editar todos los settings
de los elementos que tengamos seleccionados.
En la ventana de Hierarchy
seleccione el objeto Main Camera
Vaya a la ventana Inspector
para visualizar los settings
de la cámara
Ventana Inspector
EDITORES DE SCRIPT
Ventana Console
En la ventana Console
podremos visualizar las alertas de errores en el código de programación, así como las advertencias sobre nomenclaturas obsoletas e impresiones con el commando print
dentro del Código.
Para editar el código de nuestros scripts, Unity cuenta con el editor Visual Studio.
Los ejercicios de este libro están editados con Visual Studio Code que podrás obtener de manera gratuita en el siguiente enlace.
https://code.visualstudio.com/
Página Web de Visual Studio Code
Para asignar un editor de código, en el menú general de Unity asigne Edit / Preferences
y en la ventana de preferencias seleccione la pestaña External Tools
y ahí podrá asignar el editor de su preferencia.
Preferencias de Unity
CONSTRUCCIÓN DE UNA PLATAFORMA BÁSICA
En este apartado crearemos una plataforma básica con todos los elementos físicos y visuales necesarios para que el personaje se pueda desplazar en ella, importando los elementos básicos desde nuestra carpeta de resources
.
Para iniciar con nuestro proyecto debemos de crear un nuevo folder (clic derecho) de escenas en la ventana de Proyect
, dentro del folder Assets
.
Haga un folder de Scenes
.
Carpeta de escenas
Salve la escena como "GhoulieMan01 (File/ Save Scene as…).
NOTA:
Es recomendable que salve el proyecto con diferentes nombres a medida que se va avanzando en el proyecto por cuestiones de seguridad. En dado caso que se llegará a corromper un archivo, se tiene un respaldo de pasos anteriores.
Haga dos folders y nómbrelo Models
y Textures
.
Creación de carpetas
Dentro del folder Models
haga otra carpeta y nómbrela Platforms
Importe del folder de resources el objeto module_tile_02_bd
al folder de Platforms
.
Importar 3D Assets
Importe al folder de Textures
la textura Fantasy_Demon_Cave_Atlas.tga
.
Importar texturas
Arrastre el objeto module_tile
a la ventana Hierarchy
.
Ventana Hierarchy
Vista Scene
Teniendo seleccionado el objeto observe sus atributos en la ventana Inspector
.
NOTA:
Cuando añadimos un objeto colocándolo directamente en la ventana Hierachy sin tener nada seleccionado, este objeto se coloca en su posición 0,0,0.
Propiedades de la plataforma 3D
Cuando colocamos estos elementos podemos moverlos de lugar con la herramienta Move Tool
(tecla W
en el teclado).
MoveTool
NOTA:
No es recomendable rotarla ya que nos puede generar problemas cuando asignemos algunos componentes.
Con la tecla F
del teclado se realiza un Frame
que significa que centra en la pantalla el objeto que tenemos seleccionado.
Rote la vista de la cámara de tal manera que la cámara quede frente al objeto
De la ventana Proyect, arrastre la textura Fantasy_Demon_Cave_Atlas.tga
al objeto
En inspector cambie el tipo de material a Unlit/Texture.
Texturización de objeto
Material Unlit/Texture
El tipo de material o Shader
tiene diversas propiedades en cuanto a la reflexión de luz y a los tipos de textuarizaciones se refiere. En cuanto al tipo de material que estamos utilizando Unlit/ Texture
es un material con iluminación propia y que no depende de la iluminación de la escena.
Para duplicar un elemento basta con seleccionarlo y asignar Control + D
.
Una vez duplicado el elemento deberá de tomar su herramienta Move Tool
y lo más recomendable es ir lo moviendo por eje, es decir tomar la flecha relativa al eje X y moverlo con ella para lograr el resultado que se muestra.
Duplicado de objetos
Para hacer Snap
entre dos objetos:
Con la tecla V
del teclado seleccionar una de las esquinas del objeto como se muestra.
Ejemplo de Snap
Junte los objetos como se muestra sin soltar la tecla V
.
Objetos con Snap
Haga 7 duplicados y colóquelos con snap.
Duplicado de plataformas
Para hacer un nuevo objeto nuevo (New Empty Object
), vaya al menú general y asigne GameObject / Create Empty
.
Creación de un Empty Object
Haga un nuevo Empty Object
, renómbrelo Platform
Reset sus transformaciones de posición a 0,0,0 haciendo clic en el engrane superior derecho de la ventana Transform
de Inspector
.
Reset
de transformaciones.
Transformaciones reseteadas
Para asignar un objeto como hijo
de otro; en la ventana Hierarchy
desplace el elemento que queremos como hijo sobre del que queremos que sea el padre.
Asigne los objetos plataformas como hijos del objeto Platform
.
Emparentamiento de objetos
Coloque la cámara en la vista del juego.
Reposición de la cámara
Los PREFABS son de suma importancia, ya que a través de ellos se nos permite crear una instancia de cualquier elemento y poderlo reutilizar cuantas veces necesitemos.
Haga un nuevo folder, nómbrelo Prefabs
y arrastre a él el objeto Platform
.
Creación de Prefabs
RETO AL LECTOR
Con los conocimientos adquiridos importe, texturice, acomode y asigne como hijos de Platform los siguientes elementos.
Plataforma completa derecha
Plataforma completa izquierda
NOTA:
Cuando modificamos un Prefab
en la ventana de Scene
, será necesario seleccionar desde Hierarchy
el elemento Prefab
(en este caso Platform
) y asignar el botón de Apply
en "Inspector para que los nuevos cambios se realicen en el prefab original y en todas sus instancias.
Aplicar cambios para el Prefab