Unity y AR Foundation tienen muchas propiedades para explotar y generar experiencias únicas de realidad aumentada rápidamente. Hoy te traigo un tutorial sobre cómo crear una aplicación con plane detection y, por último, te mostraré cómo integrarlo con nuestra nueva herramienta de Editor Remote. ¡Lee abajo el tutorial sobre AR Foundation Plane detection!
Tutorial paso a paso: AR Foundation Plane detection
AR Foundation permite tomar lo mejor de las plataformas de ARCore y ARKit para lograr aplicaciones versátiles. En esta oportunidad trabajaré con Unity 2020.1 para utilizar las versiones más actualizadas de todas las plataformas mencionadas. Es necesario resaltar que estas se estarán actualizando constantemente según cómo los SDKs bases vayan evolucionando.
Como siempre, usaremos Unity HUB, ya sabes que este launcher es necesario porque podemos instalar las versiones que deseemos y sobretodo conectar con las dependencias como ARCore o ARkit, dependiendo el caso. Cuando se inicie el programa, veremos el skin de color Negro. Esto cambia por completo la experiencia, era algo que muchos lo pediamos.
- Lo primero que haremos es configurar el build setting. Tenemos que cambiar la plataforma hacia Android, luego iremos a player setting. Cambiaremos el nombre del company name, por supuesto eliminamos vulkan de la opción de Graphics. Modificamos el minimum api level, lo pondré desde Android 8, no te olvides de agregar la escena en la que estás trabajando.
- Ahora iremos hacia package manager para instalar los elementos necesarios. En AR Foundation seleccionamos el “3.1.5” e instalamos, luego seleccionamos ARCore en su versión 3.1.7, cuando terminemos de instalar ya podemos comenzar a trabajar en la experiencia.
- Borramos el main camera y luego traeremos a la experiencia el AR Sesion y el AR Session Origin. Ahora llamaremos a dos elementos importantes: AR Default Plane y AR Default Point Cloud.
- Estos dos elementos los “convertiremos en prefabs”, para eso primero creamos una carpeta por temas de orden y luego arrastramos cada uno de estos hacia dicha carpeta cuando tengamos esto creado, podemos borrar los elementos en la jerarquía.
- Ahora iremos a agregar elementos dentro del AR Session Origin, para ello, lo seleccionamos y hacemos clic a “ add component”, agregaremos AR Point Cloud Manager, el prefab conectado será “AR Default Point Cloud”.
- Agregaremos otro componente que será AR Plane Manager, su prefab conectado será “AR Default Plane”.
- Un dato super importante es entender el modo de detección, existirán tres: Horizontal, Vertical y “todo”, entendiendo que captará ambos planos. Agregaremos un componente llamado “AR Raycast Manager”.
Si lanzáramos la experiencia en estos momentos, ya podría detectar las superficies sin problemas, pero vamos hacer algo más interactivo:
- Usaremos un script que existe en los samples de Unity, lo usaré para este caso específico. Se llama “PlaceonPlane”, lo arrastramos hacia la carpeta. Al ver el código podemos entender lo que trata de generar: que un objeto aparezca en los planos que selecciones nosotros, y, claro, nos brindará la opción de agregar el prefab que deseemos.
- Regresamos al AR Sesion Origin y agregaremos este nuevo script. Respecto al prefab, creamos una esfera. Para que tenga una mejor experiencia reducimos su escala y lo movemos a una posición más adecuada. Ahora esta esfera la arrastramos aquí mismo.
- Guardamos el proyecto y podemos ir a compilarlo.
- Clic a «build and run» (recuerda que tu smartphone debe estar conectado a tu laptop y debe estar habilitado en modo desarrollador y USB Debbuging).
- Automáticamente, la app comienza a detectar los planos de cualquier superficie, ya sea un mueble, un cuadro o el mismo suelo, y, claro, podemos colocar la esfera donde queramos siempre y cuando tengamos el plano detectado.
¿Qué te pareció este tutorial? Si te pareció interesante ponlo en práctica y si te pareció útil compártelo con quien lo pueda necesitar. ¡Gracias por leerme!
Patreon
Si desear apoyarme para mantener mi sitio web, puedes hacerlo y también recibirás los archivos de mis tutoriales de Spark AR accediendo a mi patreon.