UNITY 3D
UNITY 3D
Marc Lidon
Unity 3D
© 2019 Marc Lidon
Primera edición, 2019
© 2019 MARCOMBO, S.A.
www.marcombo.com
Diseño de la cubierta: ArteMio
Maquetación: ArteMio
Revisor técnico: Pablo Martínez
Correctora: Laura Seoane
Directora de producción: M.ª Rosa Castillo
«Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra sólo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. Diríjase a CEDRO (Centro Español de Derechos Reprográficos, www.cedro.org) si necesita fotocopiar o escanear algún fragmento de esta obra».
ISBN: 978-84-267-2682-7
D.L.: B-25488-2018
Impreso en Printek
Printed in Spain
Quiero agradecerle a Jaume Castells la dedicación y el esfuerzo
por enseñarme el camino de la programación:
“Un buen maestro marca la diferencia” y también a Enrique Rendón, porque en toda buena aventura necesitas un buen compañero.
Contenido
Introducción a Unity
1. Introducción
2. ¿Qué es Unity?
3. Descarga e instalación de Unity
4. Proyectos 2D y 3D
5. Guardar el proyecto y la escena
Interfaz de Unity
1. Importación de Assets
2. Ventana Proyectos (Project)
3. Ventana Escena (Scene View)
4. Ventana Juego (Game View)
5. Ventana Jerarquía (Hierarchy window)
6. Ventana Inspector y creación de un GameObject
Editor de terrenos
1. Crear un terreno
2. Esculpir la superficie
3. Pintar el terreno
4. Poner vegetación
5. Poner agua en el terreno
6. Crear una zona de viento (windzone)
7. Editar árboles
Creación de un escenario modular
1. Importar los modelos
2. Modelos
3. Materiales y texturas
4. Parámetros básicos de los materiales
5. Colliders y Rigid Bodies
6. Model vs Prefabs
7. Montar un escenario simple
8. Importar Standard Assets y probar el escenario
Introducción básica de C# con Unity
1. Introducción
2. Crear y manipular variables
3. Trabajar con operadores aritméticos
4. Operadores lógicos y de comparación
5. Crear declaraciones lógicas con if - else
6. Crear declaraciones con switch
7. Trabajar con loops
8. Crear y llamar funciones
9. Entender qué son los Arrays
10. Mi primera clase
Programación orientada a objetos
1. Introducción
2. Clase GameObject
3. Acceder a los componentes
4. Entender las transformaciones
5. Vector3
6. Mover objetos
7. Rotar objetos
8. Escalar objetos
Creación de un Player en C#
1. Introducción
2. Character Controller
3. Movimientos del Character Contoller
4. Los Inputs
5. Mover y rotar nuestro Character Controller
6. Saltar obstáculos
7. Rigidbody
8. Mover un Rigidbody
9. Controlar el movimiento de un Rigidbody
10. Añadir un salto al Rigidbody
11. Seguimiento simple de nuestra cámara
12. Destruir objetos con colisiones
13. Tele-transportación con Triggers
14. Proyecto final
Raycast y Decals
1. Introducción
2. Abrir puertas con triggers
3. Raycast
4. Cómo obtener información con RaycastHit
5. Comunicación con SendMessage
6. Decals
7. Instanciar los Decals con Raycast
8. Rotación de nuestros Decals
9. Selección de objetos para disparar
10. Crear un Array de Decals
11. Emparentar los Decals
12. Destruir las Cajas
UI (Interfaz de Usuario)
1. Introducción
2. Entendiendo el Canvas (lienzo)
3. Entendiendo el Rect Transform
4. Image
5. Image Raw
6. Text
7. Button
8. Slider
9. Creación de una mirilla
10. Creación de un contador de coins
11. Creación de una barra de vida
12. Hacer daño a nuestro FPSController
13. Cómo curar a nuestro FPSController
14. Cómo limitar el número de munición
15. Pantalla de fallecimiento
Animación
1. Animación en Unity
2. El flujo de trabajo
3. Animation Clips
4. Ventana Animation
5. Animation Controller
6. Máquina de estados
7. Proyecto de un soldado
Navigation y Pathfinding
1. Vista general del sistema de navegación en Unity
2. Cómo funciona el sistema de navegación
3. Construir un NavMesh
4. Crear un NavMesh Agent
5. Crear un NavMesh Obstacle
6. Crear un Off-mesh Link
7. Proyectos de Navigation
Iluminación
1. Introducción
2. Iluminación
3. Apagar las luces
4. Tipos de luces
5. Propiedades de las luces
6. Iluminación directa e indirecta
7. Iluminación Baked
8. Iluminación Mixed
9. Práctica general
10. Ponte a prueba
Las partículas
1. Introducción
2. Sistema de partículas
3. Creación de un sistema de partículas
4. Editar las propiedades de las partículas
Menús y sonido
1. Introducción
2. Vista general de sonido
3. Empezar con el proyecto
4. Creación de nuestro Player
5. Crear proyectiles para nuestro player
6. Crear un enemigo
7. Colisiones
8. Explosiones
9. Añadir sistema de puntos y vidas
10. Escena principal y GameOver
1. Introducción
Primero te doy la bienvenida y las gracias por adquirir esta obra, que pretende documentar de una forma práctica todos los módulos básicos de Unity con todo lo que conlleva aprender un programa de este tipo.
Para empezar con buen pie he creído conveniente hacer una introducción desde cero y crear una base con la que trabajar. Cuando hablo de base me refiero a que el verdadero potencial de Unity reside en la facilidad con la que podemos crear interactividad entre objetos mediante la programación. Entiendo que a muchos les dé miedo la palabra programación por la misma razón que a mí en mis comienzos y es el desconocimiento. Esta es la primera de las razones que nos frenan a la hora de crear grandes proyectos, en todo caso no prometo que después de terminar el libro te conviertas en un súper programador, seamos humildes y tengamos los pies en el suelo, la respuesta es no, pero sí que vas a adquirir conocimientos y habilidades que te permitirán entender cómo se realizan juegos en Unity como empezar a leer código y, lo más importante, a utilizar Unity para crear tus propios proyectos.
2. ¿Qué es Unity?
Unity es un motor de videojuegos que se ha hecho muy popular en los últimos años. En realidad un motor de videojuegos es un conjunto de herramientas que nos facilitan el cálculo de formas geométricas y comportamientos físicos que se utilizan en los videojuegos. Estas herramientas están diseñadas para agilizar el proceso de creación de contenido del juego y no para la resolución de problemas informáticos.
Una de las características que hacen de este motor un referente en la industria de videojuegos es que nos permite la importación de muchos formatos 3D como 3ds, Cinema4D, Blender, FBX y también importar recursos de tipo gráfico, visual y de audio, todo ello posteriormente puede ser optimizado por Unity.
Читать дальше