viernes, 21 de septiembre de 2018

Aprendiendo realidad virtual con Tony Parisi

'Learning Virtual Reality', subtitulado 'Developing inmersive experiences and applications for desktop, web and mobile', es un libro de mediana, tirando a corta, extensión que explica la realidad virtual con una clara orientación hacia desarrolladores aunque se detiene, acertadamente, tanto a explicar algunos aspectos generales de la realidad virtual como a los aspectos hardware de la misma.

El libro, que presenta, evidentemente, el estado del arte del momento en que ha sido escrito (2015) intenta ser abarcador en el sentido de explicar cómo desarrollar para diferentes tipos de dispositivos, desde los HDM (Head Mounted Displays) de gama alta, como Oculus Rift, hasta los se apoyan en dispositivos móviles como Gear VR o Google Cardboard.

Aunque en la parte de desarrollo trata algo sobre los SDK nativos, favorece el explicar el desarrollo sobre Unity 3D, una plataforma que el autor conoce muy bien y que proporciona unos mayores niveles de productividad y transversalidad.

El libro se estructura en siete capítulos:

  • 'Chapter 1: Introduction': Comienza definiendo lo que es realidad virtual, proporcionando un rápido recorrido por los elementos hardware que utiliza y las plataformas software existentes para luego revisar algunas aplicaciones posibles de la realidad virtual.

  • 'Chapter 2: Virtual Reality Hardware': Se centra, como el nombre indica, en el hardware de la realidad virtual.En el apartado de HDM (Head Mounted Display) se centra fundamentalmente en Oculus Rift, Samsung Gear y Google Cardboard. Luego revisa, muy escuetamente, algunos dispositivos de entrada

  • 'Chapter 3: Going Native: Developing for Oculus Rift on the Desktop': Se centra ya en el desarrollo sobre diversas plataformas y, en concreto, nos habla del desarrollo para Oculus Rift para lo que emplea Unity 3D, explicando brevemente algunos aspectos de su uso y mostrando algunas secciones de código. Antes hace una revisión, en mi opinión brillante, de los principales conceptos en gráficos 3D: polígonos, vértices y mallas, materiales, texturas y luces, cámaras, perspectivas y proyecciones e introduce ligeramente el álgebra con que matemáticamente se gestiona el movimiento y la representación (renderizado).

  • 'Chapter 4: Going Mobile: Developing for Gear VR': Se centra ahora en el segundo de los dispositivos explicados en el capítulo 2: Gear VR con lo que pasamos a hablar de una realidad virtual que se apoya en smartphones. De nuevo, aparte del SDK propio, el desarrollo se muestra sobre la plataforma Unity 3D y se acompaña de algún ejemplo en código.

  • 'Chapter 5: WebVR: Browser Based Virtual Reality in HTML5': en ester tercer capítulo de los dedicados a desarrollo, el objetivo es hablar del desarrollo para navegadores mediante la aplicación de HTML5. Lo primero que hace es explicar el API WebVR, su historia y principales características y forma de uso para acabar desarrollando una pequeña aplicación ejemplo. Finaliza con un breve repaso de las herramientas para edición y desarrollo con WebVR.

  • 'Chapter 6: VR Everywhere: Goolge Cardboard for Low-Cost Mobile Virtual Reality': Lo primero que hace es explicar las características del visualizador Google Cardboard VR tanto a nivel hardware como software. Luego explica cómo desarrollar para Google Cardboard usando el SDK de Google para Android para, a continuación, hacer lo propio sobre la plataforma Unity 3D, Finaliza explicando el uso de HTML5.

  • 'Chapter 7: Your First VR Application': Como el título anticipa, simplemente explica extremo a extremo el desarrollo de una aplicación sencilla: un visualizador de fotos panorámicas para un dispositivo móvil. Y lo hace sobre la plataforma Unity 3D y para Google Cardboard.

'Learning Virtual Reality' creo que es un buen libro, claramente explicado e ilustrativo. Me ha gustado especialmente la breve sección dedicada a explicar los conceptos de gráficos 3D, muy importante para hacerse con el vocabulario y entender realmente lo que se hace luego mediante software.

Para una persona no interesada en el desarrollo, le proporciona una idea general razonable de lo que es la realidad virtual, su uso y cómo se crean experiencias y el nivel de profundidad técnica tampoco se hace insoportable. Si se mira con los ojos de un desarrollador, creo que sirve de introducción, para tener una visión panorámica y saber qué SDKs y herramientas están disponibles así como hacerse una primera idea de la forma de desarrollar. Pero creo que para convertirse en un auténtico desarrollador de realidad virtual hará falta algo más que este libro.

Entendido esto, creo que es una buena introducción para cualquiera de los dos perfiles de lector.


Tony Parisi

(Fuente: Traducción y ligera elaboración propia de la ficha de autor en O'Reilly)

Tony Parisi
Tony Parisi es un emprendedor y arquitecto software / CTO. Ha desarrollado estándares y protocolos internacionales, creado productos software muy notables y lanzado y vendido compañías de tecnología. La pasión de Tony por la innovación se ve superada únicamente por su deseo de construir grandes productos.

Tony es pionero en realidad virtual, co-creador de VRML y los estándares ISO X3D para gráficos tridimensionales en red, y continua innovando en tecnología 3D. Es co-oorganizador de la San Francisco WebGL Meetup, y de San Francisco WebVR Meetup, y miembro del grupo de trabajo Khronos COLLADA que crea glTF, el nuevo formato de fichero estándar para aplicaciones 3D web y móviles.

Tony es también autor de libros en O'Reilly Media como  'WebGL: WebGL Up and Running' (2012), y 'Programming 3D Applications in HTML5 and WebGL' (2014).

Tony es actualmente Vicepresidente de Productos de Plataforma en WEVR.

Puedes saber más del autor visitando su perfil en LinkedIn o siguiéndole en Twitter donde se identifica como @auradeluxe

Ficha técnica: