1. Curso básico de Unity (AR y VR)
Requisitos.
Requisitos del sistema para la versión de Unity 5.4.0
OS: Windows 7 SP1+, 8, 10; Mac OS X 10.8+.
GPU: Tarjeta gráfica con DX9 (modelo de shader 3.0) o DX11 con capacidades de
funciones de nivel 9.3.
Ram: 4 a 8Gb.
Procesador: Corei 3 tercera generación o superior (o su equivalente en AMD)
Para desarrollo
OS: Windows 7 SP1+, 8, 10; Mac OS X 10.8+.
Windows XP y Vista no son compatibles; y las versiones de servidor de Windows
& OS X no se han probado.
GPU: Tarjeta gráfica con DX9 (modelo de shader 3.0) o DX11 con capacidades de
funciones de nivel 9.3.
El resto depende principalmente de la complejidad de sus proyectos.
Requisitos adicionales para el desarrollo de plataformas:
iOS: Computadora Mac con sistema operativo versión OS X 10.9.4 como mínimo y
Xcode 7.0 o superior.
Android: Android SDK y Java Development Kit (JDK).
Windows Store: Windows 8.1 (64-bit) and corresponding Visual Studio and
platform SDK:
o Windows 8.1/Windows Phone 8.1: Visual Studio 2013 or later and Windows 8.1
SDK;
o UWP: Visual Studio 2015 or later and Windows 10 SDK;
o IL2CPP scripting backend also requires C++ compiler feature to be installed with
Visual Studio.
WebGL: Mac OS X 10.8+ o Windows 7 SP1+ (solo editor de 64 bits).
Para ejecutar juegos de Unity
Por lo general, el contenido desarrollado con Unity puede ejecutarse bastante bien
en todas partes. Qué tan bien se ejecuta depende de la complejidad de su
proyecto.
Requisitos más detallados:
2. Escritorio:
o Tarjeta gráfica: DX9 (modelo de shader 3.0) o DX11 con capacidades de
funciones de nivel 9.3.
o CPU: compatible con el conjunto de instrucciones SSE2.
El reproductor para iOS requerirá iOS 7.0 o superior (ya no 6.0).
Android: OS 4.4 o posterior; CPU ARMv7 (Cortex) con tecnología NEON o CPU
Atom; OpenGL ES 2.0 o posterior.
WebGL: Cualquier versión de escritorio reciente de Firefox, Safari
Tema Horas
1 Introducción a Unity
1.1 Entorno Unity
1.2 Assets
1.3 Escena
1.4 Objetos y componentes
1.5 Scripts (C#)
2 AR
2.1 Vuforia en Unity
2.1.1 Creación de marcadores en Vuforia
2.2 Primer Proyecto Vuforia-Unity (modelo 3D)
2.3 Aplicación de Scripts
3 VR
3.1 Proyecto VR
3. Tema 1 Introducción a Unity
Unity es un motor genérico para la creación de videojuegos enfocado hacia el
desarrollo casual, permite un desarrollo rápido de videojuegos, se puede crear un
videojuego sin escribir código (poco recomendable).
Además, cuenta con su propia herramienta de edición integrada, unity cuanta dos
tipos de licencia: Personal (gratuita) y Profesional (de pago).
Una de sus grandes ventajas es que soporta una gran cantidad de plataformas.
1.1 Entorno Unity
4. 1.2 Assets
Cuando creamos un proyecto nuevo en unity dentro de este tenemos una serie de
assets que son los recursos a utilizar en la escena o las escenas de nuestro
proyecto.
Algunos tipos de assets utilizados son:
Escenas del juego: Es el tipo principal de asset. Cada nivel del juego se
guarda en un asset de tipo escena.
Maya: Geometría 3D que podemos añadir a la escena. Podemos importar
modelos con animaciones (FBX, OBJ, 3DS, etc).
Materiales: Definen el aspecto que le podemos dar a una maya (textura,
color, sombreado, etc).
Scripts: Permiten personalizar el comportamiento de los objetos del juego
mediante programación.
Clips de audio: Músicas y efectos de sonido.
Nota: Se pueden importar paquetes de assets predefinidos.
1.3 Escena
Cada nivel del juego se almacena en un asset de tipo escena, la escena contiene
un árbol de objetos (Game Objects), Unity sigue una arquitectura basada en
componentes.
Dentro de la escena tenemos únicamente Game Objects
Los objetos no se definen por su tipo (todos son Game Objects
Lo que define a los objetos son los componentes que contienen
Podemos añadir varios componentes a cada Game Object
Los componentes definen la forma de actuar del objeto
5. 1.4Objetos y componentes
Podemos crear distintos tipos de Game Objects
predefinidos en el menú GameObject:
Llevan ya una serie de componentes.
Si creamos un Empty Game Object sólo
tendremos un componente Transform.
--Útil para agrupar objetos
Podemos agrupar objetos bajo un mismo nodo
arrastrando y soltando.Podemos renombrar
Game Objects en la vista Inspector (click sobre
el nombre)
Formas básicas
Podemos crear nodos con formas geométricas básicas:
Planos
Cubos
Esferas
Cilindros
6. Estos objetos incorporan una serie de componentes:
Transform (posición y orientación)
Renderer (material)
Mesh (maya geométrica)
Collider (geometría de colisión)
Navegar por la escena
Podemos utilizar diferentes combinaciones de teclado para
navegar por la escena 3D en el editor
Desplazamiento lateral: Click scroll
Zoom: Scroll del ratón
Rotación: Click derecho.
Seleccionar un objeto: Click sobre el objeto
Podemos ver sus propiedades en el inspector
Mover, rotar o escalar el objeto: Click sobre el objeto y arrastrar
Podemos aplicar la transformación sólo sobre un eje.
7. 1.5Scripts(C#)
Los scripts son un tipo de assets que permiten personalizar el comportamiento de
los objetos mediante programación.
Se añaden como componente a los objetos, cuando un Game Object tiene un
componente script, este código se ejecuta sobre el objeto.
Se pueden utilizar diferentes lenguajes.
2 AR.
Aumentaty reality(Realidad Aumentada) es el término que se usa para definir la
visión de un entorno físico del mundo real, a través de un dispositivo tecnológico,
es decir, los elementos físicos tangibles se combinan con elementos virtuales,
logrando de esta manera crear una realidad mixta "Realidad Aumentada" en tiempo
real.
2.1 Vuforia en Unity
Vuforia es un SDK que permite construir aplicaciones basadas en la Realidad Aumentada;
una aplicación desarrollada con Vuforia utiliza la pantalla del dispositivo como un "lente
mágico" en donde se entrelazan elementos del mundo real con elementos virtuales (como
letras, imágenes, etc.).
Para usar vuforia en unity primero tenemos que crearnos una cuenta en la siguiente paguna:
https://developer.vuforia.com/downloads/sdk
Una vez creada la cuenta y se inicie sesión nos vamos a la opción de Downloads y
seleccionamos la opción de sdk y descargamos el paquete de unity.
8. Para cargar el paquete de vuforia en unity nos vamos a assets click derecho y nos
desplegara un menú en el que seleccionaremos import package ---> Custom
Package y ahí seleccionaremos el lugar donde descargamos el paquete de vuforia
haceptar y empezara la carga.
9. 2.1.1 Creación de marcadores en Vuforia
Para crear un nuevo marcador vamos al menú de Develop y seleccionamos Target
Manager luego le damos al botón de Add Database saldrá la siguiente ventana
donde le daremos un nombre y seleccionaremos el tipo de Database
Una vez terminado esto le dams en créate y nos aparecerá una lista de las
Database que tenemos seleccionamos la que acabamos de crear.
Al seleccionar la base que acabamos de crear nos saldrá la siguiente ventana en
la que podremos agregar nuestros marcadores
10. Le damos en addTarget y nos mostrara lo siguiente seleccionamos tipo single
Imagen y le damos en browse y seleccionamos la imagen que queremos usar
como marcador.
Ya seleccionada la imagen nos pedirá que le asignemos medidas y en caso de
que el nombre de la imagen sea muy lago se lo cambiamos y le damos en add.
Después de un corto tiempo no generara nuestro primer marcador.
11. Para descargarlo seleccionamos el marcador y le damos a Download nos saldrá la
siguiente ventana en la que le daremos en que formato lo descargará
Seleccionamos unity editor y descargamos.
Nos descargara un paquete similar al que descargamos de vuforia este paquete
se carga de igual manera que el de vuforia.
2.2 Primer Proyecto Vuforia-Unity (modelo 3D).
Para la creación del primer proyecto usaremos el marcador que creamos y el
paquete de vuforia.
Creamos un proyecto nuevo en unity e importamos los paquetes tanto el de
vuforia como el del marcador después quitaremos la main cámara del proyecto y
en los assets esta una carpeta llamada Vuforia buscamos otra carpeta llamada
Prefabs en esta buscamos el componente llamado ARcamara y lo ponemos en la
escena.
12. Al arrastrar la ARCamara en la escena nos parecerá en el lado izquierdo la
cámara.
En la misma carpeta de Prefabs encontraremos otro elemento de nombre
ImageTarget este también lo agregamos a la escena.
Y en la parte derecha en el árbol de escena se actualizará y nos quedará de esta
manera.
13. En el árbol de escena seleccionamos el ImageTarget y del lado derecho aparecerán
sus propiedades en las cuales buscaremos DataBase e ImageTarget y
seleccionaremos nuestra DataBase y nuestro marcador que creamos.
Una vez hecho esto el ImageTarget tomara la textura de nuestro marcador y de esta
manera ya tendremos nuestra cámara y marcador en la escena de esta manera.
14. Ahora para agregar un modelo 3D como medio de prueba utilizaremos un cubo para
esto nos vamos al menú de GameObject y seleccionamos 3D object y cubo.
Al darle click nos creara un gameobject Cubo en el árbol de la escena este cubolo
arrastraremos y lo pondremos como parte del ImageTarget quedando de esta
manera el árbol de la escena.
De esta manera ya colocamos el modelo en el marcador y podemos probar si lo que
hicimos está bien en la vista de Game
Ahora podemos exportarlo para formar el apk y probarlo en celular.
15. Para esto vamos al menú file -> Build Settings que
nos abrirá una ventana emergente.
En esta daremos en add open scenes para agregar nuestra escena después
seleccionamos la plataforma en la que exportaremos (Android) y daremos en buil
después de un corto tiempo nos dará el apk para instalarlo y probar la aplicación.
16. 2.3 Aplicación de Scripts
El aplicar un script impacta en el comportamiento del objeto que lo usa, un ejemplo
será el siguiente: en el proyecto anterior ya tenemos montado el cubo en el marcado
pues crearemos un script que cambie de color ese cubo.
El script seria el siguiente (C#)
Este script lo guardaremos en una nueva carpeta que
crearemos dentro de assets en mi caso se llama misScript,
para agregar el script al cubo solo tenemos que arrastrarlo al
cubo y comprobar si se agregó en las propiedades del cubo
De esta manera el script ya trabajara sobre este objeto y al privarlo podrán ver que
el cubo cambia de color rápida mente
17. 3 VR.
Es un entorno de escenas u objetos de apariencia real. La acepción más común
refiere a un entorno generado mediante tecnología informática, que crea en el
usuario la sensación de estar inmerso en él.
VR ha sido tradicionalmente soportado en Unity vía plugins externos. Esto tiene
ciertos defectos:
Cada dispositivo VR tiene un diferente plugin.
Los plugins pueden entrar en conflicto el uno con el otro.
Cambiar entre plugins de VR para soportar múltiples dispositivos es una
gran cantidad de trabajo extra.
Cada lanzamiento nuevo SKD de VR / Los tiempos de ejecución puede
romper juegos viejos.
Cambiar entre modo VR y no VR es no trivial.
Optimizaciones de bajo nivel del motor no son posibles con un
acercamiento de plugin de dos cámaras separadas.
Y en este curso se trabajará con el plugin de Google y lo descargaremos de la
siguiente página https://developers.google.com/vr/unity/download de igual forma
que vuforia te descargará un paquete que podrás importar en unity para trabajar
con él.
3.1 Proyecto VR.
Creamos un nuevo proyecto de unity y de igual forma de cómo se importó el
paquete de vuforia, importamos el de google y nos dejara las siguientes carpetas
en el asset.
Dentro de la carpeta Carboard prefabs está un
componente de nombre CardboardMain la cual que es la
cámara que usaremos la
arrastramos dentro de la escena.
Lo siguiente que aremos será crea un terreno para esto nos iremos al menú
GameObject 3D Object Terrain
18. Con el terreno en la escena ubicaremos la cámara de una parte céntrica del
terreno.
Con el terreno podremos probar el siguiente script.
Nota: el script completo se dará durante el curso.
19. Este script nos permitirá caminar de manera automática en la aplicación siempre
que estemos viendo al frente o con una leve inclinación hacia abajo (el script selo
agregamos a la cámara). Una vez hecho esto podremos exportar e proyecto para
probarlo en el dispocitivo