JavaRush /Blog Java /Random-ES /Java en realidad virtual. ¿Es cierto que la VR/AR es el f...

Java en realidad virtual. ¿Es cierto que la VR/AR es el futuro y hay un lugar para Java en él?

Publicado en el grupo Random-ES
En los artículos anteriores de esta serie ya hemos examinado casi todas las tecnologías más o menos modernas del mercado de TI moderno, como la inteligencia artificial , blockchain , servicios en la nube , big data , etc., y hemos descubierto cómo se utiliza el lenguaje de programación Java. en estos nichos y en qué medida juega un papel importante. Java en realidad virtual.  ¿Es cierto que la VR/AR es el futuro y hay un lugar para Java en él?  - 1Hoy hablaremos de otro segmento tecnológico de moda y muy interesante: la realidad virtual y la realidad aumentada, es decir, la realidad virtual y aumentada. “Creo que muy pronto una parte importante de la población de los países desarrollados interactuará con las soluciones de RA de forma continua todos los días. Muy pronto, la RA se convertirá en parte de nuestra vida diaria”. Tim Cook, director ejecutivo de Apple

¿Qué son la realidad virtual y la realidad aumentada?

Para empezar, averigüemos qué son estas tecnologías, cómo se utilizan y en qué se diferencian entre sí. Empecemos por la VR, es decir, la realidad virtual. Las aplicaciones de realidad virtual se ejecutan en dispositivos especiales que capturan completamente la visión del usuario para crear la impresión de que se encuentra en otro lugar. Todos los cascos de realidad virtual populares, como HTC Vive u Oculus Rift, bloquean completamente la visión del usuario cuando los usan. Cuando se enciende un dispositivo de este tipo, los paneles LCD u OLED de su interior se refractan mediante lentes especiales para llenar completamente el campo de visión del usuario con el contenido transmitido, ya sea un juego, un vídeo de 360 ​​grados o simplemente la interfaz de un programa. . La mayoría de los cascos de realidad virtual, incluido el Oculus Rift antes mencionado, así como Vive, PlayStation VR, Windows Mixed Reality y otros, utilizan tecnología de seguimiento de movimiento de seis grados de libertad (6DOF), que se logra a través de sensores o cámaras externos. Esto permite que los dispositivos detecten no sólo la dirección en la que se mira, sino también el movimiento que realiza el usuario hacia esa dirección. Esto, junto con los detectores de movimiento 6DOF, permite a los usuarios moverse en el espacio virtual, lo que hace que dichas aplicaciones sean mucho más inmersivas. En cuanto a la AR, es decir, la realidad aumentada, su diferencia con la VR es que la AR no se esfuerza por absorber completamente tu visión, sino que le agrega ciertos elementos. Los dispositivos AR como Microsoft HoloLens y varios tipos de gafas inteligentes permiten al usuario ver todo lo que lo rodea proyectando imágenes hacia donde mira. Este concepto también incluye numerosas aplicaciones y juegos para teléfonos inteligentes como Pokemon Go, Temple Treasure Hunt, ARrrrrgh, Ingress y muchos más. Utilizan la cámara de un dispositivo móvil para monitorear el entorno y complementarlo con diversos tipos de información colocada en la pantalla. Las pantallas AR pueden superponer algunos datos muy simples sobre la realidad, como la esfera de un reloj, por ejemplo, pero también pueden implementar objetos tan complejos como hologramas de monstruos en medio de una habitación. Por ejemplo, el juego Pokémon Go proyecta personajes de Pokémon en la pantalla de tu dispositivo, hacia donde apunta la lente de la cámara. Mientras que varios tipos de gafas de realidad aumentada permiten a los usuarios colocar elementos de la interfaz e íconos de aplicaciones encima de la imagen de la realidad que observan. "Creo que la realidad aumentada será la mayor revolución tecnológica de nuestro tiempo". Tim Sweeney, programador y desarrollador de videojuegos estadounidense, fundador de Epic Games Java en realidad virtual.  ¿Es cierto que la VR/AR es el futuro y hay un lugar para Java en él?  - 2

VR y AR no son lo mismo

Esta, de hecho, es la principal desventaja de la realidad aumentada frente a la realidad virtual. Si la realidad virtual reemplaza completamente la imagen en su vista, entonces la realidad aumentada solo la complementa y, a menudo, ocupa solo un área muy pequeña de la visión del usuario. Pero esta es también la principal ventaja de la realidad aumentada, porque este método ofrece a los desarrolladores posibilidades casi ilimitadas. Por ejemplo, las aplicaciones móviles de RA que pueden reconocer objetos en la imagen de una cámara y transmitir información sobre ellos al usuario existen desde hace varios años. Las gafas AR especiales, como HoloLens, permiten a los usuarios colocar ventanas flotantes a su alrededor que pueden verse en la pantalla del dispositivo. Sin mencionar los muchos juegos que utilizan la realidad aumentada como elemento central del juego (Pokemon Go, RoboRaid, Fragments) o como característica adicional. Por lo tanto, la realidad virtual y la realidad aumentada son dos tecnologías muy diferentes que se utilizan para propósitos diferentes, aunque generalmente se hace referencia a la AR y la VR como dos tipos del mismo enfoque. Si el propósito de los dispositivos y aplicaciones de realidad virtual es reemplazar la realidad y transportar virtualmente al usuario a otro lugar, entonces la realidad aumentada trabaja con la realidad, complementando lo que ya tenemos ante nuestros ojos con nueva información. Ambas tecnologías aún están en sus inicios, pero se consideran extremadamente prometedoras y tienen el potencial de revolucionar la forma en que la gente usa las computadoras en un futuro cercano. “Creo que en un futuro próximo se contarán muchas historias en el espacio virtual”. Joe Russo, director de cine estadounidense Java en realidad virtual.  ¿Es cierto que la VR/AR es el futuro y hay un lugar para Java en él?  - 3

AR/VR y Java

Aunque el nicho de AR/VR utiliza varios lenguajes de programación, incluidos C#, C/C++, JavaScript, Swift e incluso Python, Java es uno de los más demandados. De hecho, las razones son las mismas que en el caso de otras tecnologías: el código Java permite que las aplicaciones se ejecuten rápidamente, la orientación a objetos facilita la creación de componentes de aplicaciones individuales y la independencia de la plataforma hace que los productos AR/VR en Java sean más universales. En el caso de la AR, es decir, la realidad aumentada, Java será uno de los principales lenguajes de programación, porque la gran mayoría de aplicaciones de AR se crean para dispositivos móviles. En consecuencia, Java es la principal opción para las aplicaciones AR creadas para dispositivos basados ​​en el sistema operativo móvil Android, mientras que en el caso de los productos Apple se utilizan los lenguajes Objective-C y Swift. Hoy en día, las aplicaciones de RA admiten muchos dispositivos diferentes, incluidos cascos, gafas, dispositivos portátiles e incluso lentes de contacto. En muchos sentidos, es Java el que le permite crear soluciones de RA que funcionarán en plataformas diferentes, a menudo muy diferentes. Hoy en día, las aplicaciones de RA basadas en Java se están implementando activamente en clínicas, bancos, restaurantes, museos, etc. "La RA ya está revolucionando la forma en que abordamos el comercio y las compras, creando un puente entre los mundos digital y físico". Muchaneta Kapfunde, fundadora de FashNerd.com

Tipos de aplicaciones de RA

Ahora echemos un vistazo rápido a los principales conjuntos de herramientas (SDK) y marcos que tiene sentido usar para desarrollar aplicaciones AR. Pero primero, veamos los dos tipos principales de aplicaciones de RA: aplicaciones de marcador y de geolocalización.
  • Aplicaciones de marcador AR.

    Las aplicaciones Marker AR se basan en tecnología de reconocimiento de imágenes. Utilizan marcadores en blanco y negro como activadores que activan la visualización de contenido AR al usuario. Así, para poder ver un elemento de realidad aumentada frente a él, el usuario de dicha aplicación debe apuntar con la cámara al marcador correspondiente en su entorno. Una vez que el dispositivo reconoce el marcador, la aplicación superpone datos digitales y muestra al usuario un elemento de realidad aumentada. Este tipo de aplicaciones, en particular, son muy utilizadas con fines publicitarios en tiendas, restaurantes y otros comercios donde esta funcionalidad es apropiada.

  • Aplicaciones de geolocalización.

    El segundo tipo principal de aplicación AR, basada en la ubicación, funciona sin marcadores, basándose en la información de ubicación del usuario proporcionada por GPS, acelerómetro o brújula digital, y superponiendo objetos AR sobre ubicaciones físicas reales. Y nuevamente usamos Pokémon Go como ejemplo: esta es probablemente la aplicación AR de geolocalización más famosa.

    "La tarea clave para el desarrollo de las tecnologías AR y VR es crear una única plataforma abierta donde los desarrolladores puedan implementar todas sus ideas".

    Mark Zuckerberg, creador de la red social Facebook

    Java en realidad virtual.  ¿Es cierto que la VR/AR es el futuro y hay un lugar para Java en él?  - 4

Los mejores SDK para desarrollar aplicaciones AR

  • Google ARCore

    ARCore es la plataforma clave de Google para el desarrollo de aplicaciones AR, admite dispositivos basados ​​en el sistema operativo móvil Android y trabaja con bibliotecas Java/OpenGL, Unity y Unreal.

    Entre las capacidades clave de ARCore: seguimiento de movimiento (ARCore puede determinar la posición y el punto de dirección del dispositivo usando la cámara incorporada), modelado ambiental (la plataforma es capaz de determinar superficies horizontales, lo que permite, por ejemplo, colocar objetos virtuales en mesas o en el piso), estimación de iluminación (determina el nivel de iluminación, si es necesario, resaltando los objetos virtuales para que se vean naturales en el entorno), y otros.

  • ARToolKit

    ARToolKit es un conjunto de herramientas de código abierto para desarrollar aplicaciones AR.

    A pesar de que es un kit abierto y gratuito, ARToolKit incluye un conjunto muy rico de funciones, que incluyen soporte para Unity3D y OpenSceneGraph, la capacidad de crear aplicaciones AR en tiempo real, integración con gafas inteligentes, soporte para diferentes tipos de cámaras, calibración automática de la cámara, etc.

    ARToolKit es compatible con una variedad de plataformas, incluidas Android, iOS, Linux, Windows y Mac OS.

  • Vuforia

    Vuforia es quizás la plataforma más popular y conocida para desarrollar aplicaciones de realidad aumentada.

    Entre las funciones clave de Vuforia: reconocimiento de diversos tipos de objetos e imágenes; soporte para reconocer textos básicos, creación de marcadores personalizados, creación de mapas 3D de varias ubicaciones, soporte para servicios en la nube y almacenamiento de datos local, etc.

    Vuforia admite plataformas como Android, Plataforma universal de Windows, Unity e iOS.

  • ARKit de Apple

    Bueno, Apple también tiene su propio conjunto de herramientas para desarrollar aplicaciones AR, que se introdujo junto con iOS11 y se llama ARKit. Naturalmente, sólo es compatible con dispositivos iOS e incluye todas las funciones básicas para crear aplicaciones de realidad aumentada.

    "Nuestro objetivo actual es hacer que las experiencias de realidad virtual sean más divertidas e inmersivas, y permitir que las personas experimenten estas experiencias juntas".

    John Hanke, director ejecutivo de Niantic

  • Las mejores plataformas y marcos para desarrollar aplicaciones de realidad virtual

    Y finalmente, repasemos algunas de las plataformas y marcos abiertos más populares para desarrollar aplicaciones de realidad virtual.
    • GuriVR

      GuriVR es un editor de realidad virtual de código abierto que le permite convertir descripciones de texto de escenas 3D en modelos 3D reales para aplicaciones de realidad virtual. Admite texto, modelos 3D, imágenes, grabaciones de audio, locuciones, gráficos 3D y muchas otras funciones.

    • Espacio abierto 3D

      OpenSpace3D es una plataforma abierta y gratuita para desarrollar aplicaciones y juegos de realidad virtual basados ​​en tecnologías de realidad virtual. Admite una gran cantidad de plataformas y dispositivos diferentes, incluidos Leap Motion, HTC Vive/Oculus, Google Cardboard y otros. También incluye funcionalidad para crear aplicaciones AR.

    • OSVR: Plataforma de realidad virtual de código abierto

      OSVR es otra plataforma universal para soluciones de realidad virtual y realidad aumentada. Le permite detectar, configurar y administrar cientos de dispositivos VR/AR, así como varios tipos de dispositivos periféricos. OSVR admite múltiples motores de juegos y sistemas operativos, y proporciona servicios como distorsión de tiempo asíncrona y modo directo para admitir renderizado de baja latencia.

    • Prímula VR

      Primrose VR es un marco de navegador abierto para crear experiencias de realidad virtual simples, como demostraciones de productos virtuales, reuniones virtuales o actividades virtuales. Primrose VR es compatible con todos los navegadores modernos y se ejecuta en WebGL.

    • IdeaSpace VR (CMS)

      IdeaSpaceVR no es un marco o plataforma, sino un sistema de gestión de contenido (CMS) abierto para contenido de realidad virtual. Desarrollado por PHP/MySQL, IdeaSpaceVR es un sistema modular instalado localmente con un reproductor de contenido incorporado para aplicaciones de realidad virtual.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION