Compartir a través de


Caso práctico: HoloTour

HoloTour para Microsoft HoloLens proporciona visitas personales 3D envolventes a lugares emblemáticos de todo el mundo. A medida que los diseñadores, artistas, productores, diseñadores de audio y desarrolladores que trabajan en este proyecto se han descubierto, la creación de una representación 3D convincentemente real de una ubicación conocida toma una combinación única de magos creativos y tecnológicos. Este caso práctico le guiará por el proceso de captura y creación del contenido usado para HoloTour.

La tecnología

Con HoloTour, queríamos hacer posible que la gente visite algunos de los destinos más sorprendentes del mundo, como las ruinas de Machu Picchu en Perú o la Piazza Navona del día moderno en Italia, directamente desde sus propias salas de estar. Nuestro equipo lo convirtió en el objetivo de HoloTour para "hacerte sentir que realmente estás allí". La experiencia necesitaba ser algo más que imágenes o vídeos. Al aprovechar la tecnología única de visualización, seguimiento y audio de HoloLens creemos que podríamos transportarte virtualmente a otro lugar. Tendríamos que capturar los lugares de interés, sonidos y geometría tridimensional de cada ubicación que visitamos y luego volver a crearlo dentro de nuestra aplicación.

Para ello, necesitamos una plataforma de cámara de 360° con captura de audio direccional. Necesitaba capturar en una resolución extremadamente alta, de modo que las imágenes se verían nítidas cuando se reproducen en un HoloLens y las cámaras deben colocarse cerca para minimizar los artefactos de unión. Queríamos una cobertura esférica completa, no solo a lo largo del horizonte, sino también por encima y por debajo de ti. La plataforma también tenía que ser portátil para que podamos llevarla por todo el mundo. Hemos evaluado las opciones disponibles fuera de los estantes y nos dimos cuenta de que simplemente no eran lo suficientemente buenos para darse cuenta de nuestra visión, ya sea debido a la resolución, el costo o el tamaño. Si no pudimos encontrar una plataforma de cámara que satisfaga nuestras necesidades, tendríamos que construir una sola.

Creación de la plataforma

La primera versión, hecha de cartón, Velcro, cinta de conductos y 14 cámaras GoPro, era algo que MacGyver habría estado orgulloso. Después de revisar todo, desde soluciones de gama baja hasta equipos fabricados a medida, las cámaras GoPro fueron en última instancia la mejor opción para nosotros porque eran pequeñas, asequibles y tenían almacenamiento de memoria fácil de usar. El factor de forma pequeño fue especialmente importante porque nos permitió colocar cámaras bastante cerca, cuanto menor sea la distancia entre las cámaras, más pequeña serán los artefactos de unión. Nuestra disposición de cámara única nos permitió obtener cobertura de esfera completa más suficiente superposición para alinear de forma inteligente las cámaras y suavizar algunos artefactos durante el proceso de unión.

Aprovechar las funcionalidades de sonido espacial en HoloLens es fundamental para crear una experiencia envolvente convincentemente real. Usamos una matriz de cuatro micrófonos situada debajo de las cámaras en el tripod, que capturaría el sonido desde la ubicación de nuestra cámara en cuatro direcciones, lo que nos proporciona suficiente información para crear sonidos espaciales en nuestras escenas.

Nuestra plataforma de cámara de 360° está configurada para filmar fuera del Pantheon.

Nuestra plataforma de cámara de 360° está configurada para filmar fuera del Pantheon.

Probamos nuestra plataforma casera llevándola a Rattlesnake Ridge cerca de Seattle, capturando el paisaje en la parte superior de la caminata. El resultado, aunque significativamente menos pulido que las ubicaciones que ves en HoloTour hoy, nos dio la confianza de que nuestro diseño de plataforma era lo suficientemente bueno para hacerte sentir como si realmente estuvieras allí.

Actualizamos nuestra plataforma de Velcro y cartón a una carcasa de cámara impresa en 3D y compramos paquetes de batería externos para las cámaras GoPro para simplificar la administración de la batería. Luego hicimos una prueba más extensa, viajando a San Francisco para crear un recorrido en miniatura de la costa de la ciudad y el emblemático puente Golden Gate. Esta plataforma de cámara es lo que usamos para la mayoría de nuestras capturas de las ubicaciones que visita en HoloTour.

Filmación de la plataforma de cámara de 360° en Machu Picchu.

Filmación de la plataforma de cámara de 360° en Machu Picchu.

Entre bambalinas

Antes de filmar, necesitábamos averiguar qué ubicaciones queríamos incluir en nuestro recorrido virtual. Roma fue la primera ubicación que queríamos enviar y queríamos hacerlo bien, así que decidimos hacer un viaje de exploración con antelación. Enviamos un equipo de seis personas , incluidos artistas, diseñadores y productores, para una visita en persona a los sitios que estábamos considerando. El viaje tardó unos 9 días a 2,5 para viajar, el resto para filmar. (Para Machu Picchu optamos por no hacer un viaje scout, investigando con antelación y reservando un par de días de búfer para filmar).)

Mientras que en Roma, el equipo tomó fotos de cada área y anotó hechos interesantes, así como consideraciones prácticas, como lo difícil que es viajar a cada lugar y lo difícil que sería filmar debido a multitudes o restricciones. Esto puede sonar como unas vacaciones, pero es mucho trabajo. Los días comenzaron temprano por la mañana y no se detendrían hasta la noche. Cada noche, las imágenes se cargaron para que el equipo vuelva a revisar en Seattle.

Nuestra tripulación de capturas en Roma.

Nuestra tripulación de capturas en Roma.

Una vez completado el viaje scout, se realizó un plan final para la filmación real. Esto requería una lista detallada de dónde íbamos a filmar, en qué día, y en qué momento. Cada día en el extranjero es caro, por lo que estos viajes deben ser eficientes. Reservamos guías y controladores en Roma para ayudarnos y totalmente utilizados todos los días desde antes del amanecer hasta después del atardecer. Necesitamos obtener el mejor material posible para que te sientas como si estuvieras ahí.

Captura del vídeo

Hacer algunas cosas sencillas durante la captura puede facilitar mucho el procesamiento posterior. Por ejemplo, cada vez que une imágenes de varias cámaras, terminará con artefactos visuales porque cada cámara tiene una vista ligeramente diferente. Los objetos más cercanos son a la cámara, cuanto mayor sea la diferencia entre las vistas y mayor será el tamaño de los artefactos de unión. Esta es una manera fácil de visualizar el problema: mantenga el pulgar hacia arriba delante de la cara y fíjelo con un solo ojo. Ahora cambia los ojos. Verá que el pulgar parece moverse con respecto al fondo. Si mantiene el pulgar más lejos de la cara y repite el experimento, el pulgar parecerá moverse menos. Ese movimiento aparente es similar al problema de unión que nos enfrentamos: Sus ojos, como nuestras cámaras, no ven exactamente la misma imagen porque están separados por un poco de distancia.

Dado que es mucho más fácil evitar los peores artefactos mientras filma lo que es corregirlos en posprocesamiento, intentamos mantener a la gente y las cosas lejos de la cámara con las esperanzas de que podríamos eliminar la necesidad de unir objetos de primer plano. Mantener una gran limpieza alrededor de nuestra cámara fue probablemente uno de los mayores desafíos que tuvimos durante el disparo y tuvimos que conseguir creatividad para que funcione. Trabajar con guías locales fue una gran ayuda en la gestión de multitudes, pero también encontramos que el uso de señales (y a veces pequeños conos o bolsas de bean) para marcar nuestro espacio de filmación era razonablemente eficaz, especialmente porque solo necesitábamos obtener una pequeña cantidad de imágenes en cada ubicación. A menudo, la mejor manera de conseguir una buena captura era llegar muy temprano por la mañana, antes de que la mayoría de las personas se mostraran.

Algunas otras técnicas de captura útiles proceden directamente de las prácticas de cine tradicionales. Por ejemplo, usamos una tarjeta de corrección de color en todas nuestras cámaras y capturamos fotos de referencia de texturas y objetos que podríamos necesitar más adelante.

Un corte rugoso de Machu Picchu mostrando la tarjeta de corrección de color.

Un corte áspero de material de Pantheon antes de unir.

Procesamiento del vídeo

Capturar contenido de 360° es solo el primer paso: se necesita un montón de procesamiento para convertir las imágenes de cámara sin procesar capturadas en los recursos finales que ve en HoloTour. Una vez que volvimos a casa, necesitábamos tomar el vídeo de 14 fuentes de cámara diferentes y convertirlo en un solo vídeo continuo con artefactos mínimos. Nuestro equipo de arte utilizó una serie de herramientas para combinar y pulir las imágenes capturadas y desarrollamos una canalización para optimizar el procesamiento tanto como sea posible. Las imágenes se tenían que unir, corregir el color y luego componer para eliminar elementos y artefactos distraídos o para agregar bolsillos complementarios de la vida y el movimiento, todo ello con el objetivo de mejorar esa sensación de estar allí.

Un corte áspero de material de Pantheon antes de unir.

Un corte áspero de material de Pantheon antes de unir.

Para unir los vídeos, usamos una herramienta denominada PTGui y la integramos en nuestra canalización de procesamiento. Como parte del posprocesamiento extrajemos fotogramas de nuestros vídeos y encontramos un patrón de unión que parecía bueno para uno de esos fotogramas. Luego aplicamos ese patrón a un complemento personalizado que hemos escrito que permitió a nuestros artistas de vídeo ajustar y ajustar el patrón de unión directamente al componer en After Effects.

Captura de pantalla de PTGui en la que se muestran las imágenes de Pantheon cosidas.

Captura de pantalla de PTGui en la que se muestran las imágenes de Pantheon cosidas.

Reproducción de vídeo

Una vez completado el procesamiento de la grabación, tenemos un vídeo sin problemas, pero es extraordinariamente grande, alrededor de la resolución de 8K. El vídeo de descodificación es costoso y hay muy pocos equipos que pueden controlar un vídeo 8K, por lo que el siguiente desafío era encontrar una manera de reproducir este vídeo en HoloLens. Hemos desarrollado una serie de estrategias para evitar el costo de descodificación mientras el usuario se siente como si estuviera viendo todo el vídeo.

La optimización más fácil es evitar la descodificación de partes del vídeo que no cambian mucho. Hemos escrito una herramienta para identificar las áreas de cada escena que tienen poco o ningún movimiento. Para esas regiones se muestra una imagen estática en lugar de descodificar un vídeo cada fotograma. Para que esto sea posible, dividimos el vídeo masivo en fragmentos mucho más pequeños.

También nos aseguramos de que todos los píxeles que descodificamos se usaron de forma más eficaz. Experimentamos con técnicas de compresión para reducir el tamaño del vídeo; dividimos las regiones de vídeo según los polígonos de la geometría en las que se proyectaría; ajustamos las UV y reempaquetamos los vídeos en función de la cantidad de detalles de diferentes polígonos incluidos. El resultado de este trabajo es que lo que comenzó como un solo vídeo de 8k se convirtió en muchos fragmentos que parecen casi inintelligibles hasta que se vuelven a proyectar correctamente en la escena. Para un desarrollador de juegos que comprenda la asignación de texturas y el empaquetado uv, probablemente será familiar.

Vista completa del Pantheon antes de las optimizaciones.

Vista completa del Pantheon antes de las optimizaciones.

La mitad derecha del Pantheon, procesada para la reproducción de vídeo.

La mitad derecha del Pantheon, procesada para la reproducción de vídeo.

Ejemplo de una sola región de vídeo después de la optimización y el empaquetado.

Ejemplo de una sola región de vídeo después de la optimización y el empaquetado.

Otro truco que usamos era evitar la descodificación de vídeo que no está viendo activamente. Mientras se encuentra en HoloTour, solo puede ver parte de la escena completa en cualquier momento dado. Solo descodificamos vídeos dentro o poco fuera del campo de vista (FOV). A medida que giras la cabeza, empezamos a reproducir las regiones del vídeo que ahora están en tu FOV y dejas de reproducir las que ya no están dentro. La mayoría de las personas ni siquiera observarán que esto está sucediendo, pero si gira rápidamente, verá que el vídeo tarda un segundo en empezar, mientras tanto verá una imagen estática que, a continuación, se atenuará en el vídeo una vez que esté lista.

Para que esta estrategia funcione, desarrollamos un amplio sistema de reproducción de vídeo. Hemos optimizado el código de reproducción de bajo nivel para hacer que el cambio de vídeo sea extremadamente eficaz. Además, tuvimos que codificar nuestros vídeos de forma especial para que sea posible cambiar rápidamente a cualquier vídeo en cualquier momento. Esta canalización de reproducción tardó una cantidad significativa de tiempo de desarrollo, por lo que la implementamos en fases. Empezamos con un sistema más sencillo que era menos eficiente, pero permitía a los diseñadores y artistas trabajar en la experiencia, y lo mejoraba lentamente a un sistema de reproducción más sólido que nos permitía enviar en la barra de calidad final. Este sistema final tenía herramientas personalizadas que creamos en Unity para configurar el vídeo dentro de la escena y supervisar el motor de reproducción.

Recreación de objetos de espacio cercano en 3D

Los vídeos constituyen la mayoría de lo que ves en HoloTour, pero hay una serie de objetos 3D que aparecen cerca de ti, como la pintura en piazza Navona, la fuente fuera del Pantheon o el globo de aire caliente que se encuentra en para escenas aéreas. Estos objetos 3D son importantes porque la percepción de profundidad humana es muy buena cerca, pero no muy buena lejos. Podemos alejarnos del vídeo a distancia, pero para permitir a los usuarios recorrer su espacio y sentir que realmente están allí, los objetos cercanos necesitan profundidad. Esta técnica es similar al tipo de cosa que se puede ver en un museo de historia natural: imagen de un diorama que tiene paisajismo físico, plantas y muestras animales en primer plano, pero se acerca a una pintura mate enmascarada inteligentemente en el fondo.

Algunos objetos son simplemente recursos 3D que hemos creado y agregado a la escena para mejorar la experiencia. La pintura y el globo de aire caliente caen en esta categoría porque no estaban presentes cuando filmamos. Al igual que los activos del juego, fueron creados por un artista 3D en nuestro equipo y texturados adecuadamente. Los colocamos en nuestras escenas cerca de donde se encuentras, y el motor de juegos puede representarlos en las dos pantallas de HoloLens para que aparezcan como un objeto 3D.

Otros activos, como la fuente fuera del Pantheon, son objetos reales que existen en las ubicaciones donde estamos grabando vídeo, pero para sacar estos objetos del vídeo y en 3D, tenemos que hacer una serie de cosas.

En primer lugar, necesitamos información adicional sobre cada objeto. Mientras está en la ubicación para filmar, nuestro equipo capturó una gran cantidad de imágenes de referencia de estos objetos para que tengamos suficientes imágenes detalladas para volver a crear con precisión las texturas. El equipo también realizó un examen de fotogrametría , que construye un modelo 3D a partir de docenas de imágenes 2D, lo que nos proporciona un modelo aproximado del objeto a escala perfecta.

A medida que procesamos nuestras imágenes, los objetos que se reemplazarán posteriormente por una representación 3D se quitarán del vídeo. El recurso 3D se basa en el modelo de fotogrametría, pero limpia y simplificada por nuestros artistas. Para algunos objetos, podemos usar partes del vídeo (como la textura del agua en la fuente), pero la mayoría de la fuente es ahora un objeto 3D, que permite a los usuarios percibir profundidad y caminar alrededor de ella en un espacio limitado en la experiencia. Tener objetos casi espaciales como este suma en gran medida al sentido del realismo y ayuda a poner en tierra a los usuarios en la ubicación virtual.

Material de panteón con la fuente quitada. Se reemplazará por un recurso 3D.

Material de panteón con la fuente quitada. Se reemplazará por un recurso 3D.

Consideraciones finales

Obviamente, había más que crear este contenido que lo que hemos analizado aquí. Hay algunas escenas, nos gusta llamarlas "perspectivas imposibles", incluyendo el paseo en globo de aire caliente y la lucha del gladiador en el Colosseum, que tomó un enfoque más creativo. Los abordaremos en un caso práctico futuro.

Esperamos que compartir soluciones a algunos de los desafíos más grandes que tuvimos durante la producción es útil para otros desarrolladores y que está inspirado en usar algunas de estas técnicas para crear sus propias experiencias envolventes para HoloLens. (Y si lo haces, asegúrate de compartirlo con nosotros en el foro de desarrollo de aplicaciones de HoloLens).

Acerca de los autores

David Haley David Haley es un desarrollador sénior que ha aprendido más sobre las plataformas de cámara y la reproducción de vídeo de lo que pensaba que era posible trabajar en HoloTour. Danny Askew Danny Askew es un artista de video que se asegura de que su viaje a través de Roma fue lo más impecable posible.
Jason Syltebo Jason Syltebo es un audio Designer que se asegura de que podrías experimentar el paisaje sonoro de cada destino que visitas, incluso cuando vuelves en el tiempo. Travis Steiner Travis Steiner es un director de diseño que ha investigado y explorado ubicaciones, ha creado planes de viaje y dirigido filmación en el sitio.

Consulte también