Uso del motor Vuforia con UnityUsing Vuforia Engine with Unity

El motor de Vuforia ofrece una funcionalidad importante para HoloLens: la capacidad de conectar experiencias de AR a imágenes y objetos específicos del entorno.Vuforia Engine brings an important capability to HoloLens – the power to connect AR experiences to specific images and objects in the environment. Puede usar esta capacidad para superponer instrucciones paso a paso guiadas sobre maquinaria para la empresa industrial o para agregar características y experiencias digitales a un producto o juego físico.You can use this capability to overlay guided step-by-step instructions on top of machinery for the industrial enterprise or add digital features and experiences to a physical product or game.

El motor de Vuforia ofrece una amplia gama de características y destinos para que el proceso de desarrollo de AR sea más flexible.Vuforia Engine offers a broad range of features and targets to make your AR development process more flexible. Una de nuestras características más recientes, objetivos del modelo Vuforia, es una capacidad clave para los usos comerciales y industriales.One of our newest features, Vuforia Model Targets, is a key capability for both commercial and industrial uses. Los destinos de modelo permiten a las aplicaciones reconocer objetos físicos, como máquinas, automóviles o juguetes, y realizar un seguimiento de ellos según un modelo 3D de CAD o digital.Model Targets allow applications to recognize physical objects like machines, automobiles, or toys and track them based on a CAD or digital 3D model. En el caso de los usos industriales, esta característica puede proporcionar a los trabajadores de ensamblados y a los técnicos de servicios las instrucciones de trabajo de AR y la guía de procedimientos en la fábrica o en el campo.For industrial uses, this feature can provide assembly workers and service technicians with AR work instructions and procedural guidance while in the factory or out in the field.

Las aplicaciones de Vuforia Engine existentes que se compilaron para teléfonos y tabletas se pueden configurar fácilmente en Unity para que se ejecuten en HoloLens.Existing Vuforia Engine apps that were built for phones and tablets can easily be configured in Unity to run on HoloLens. Incluso puede usar el motor Vuforia para realizar la nueva aplicación de HoloLens en tabletas con Windows 10, como el libro de Surface Pro y Surface.You can even use Vuforia Engine to take your new HoloLens app to Windows 10 tablets such as the Surface Pro and Surface Book.

Obtener las herramientasGet the tools

Instale las versiones recomendadas de Visual Studio y Unity y, después, configure Unity para usar Visual Studio y el IDE y el compilador preferidos.Install the recommended versions of Visual Studio and Unity and then configure Unity to use Visual Studio and the preferred IDE and compiler.

Al instalar Unity, asegúrese de instalar el "back-end de scripting de la tienda Windows IL2CPP".When installing Unity, be sure to install the “Windows Store IL2CPP Scripting Backend”.

Agregue el paquete del motor Vuforia tal como se describe aquí.Add the Vuforia Engine package as described here..

Introducción al motor de VuforiaGetting started with Vuforia Engine

El mejor punto de partida para aprender sobre el motor de Vuforia y HoloLens es el ejemplo de hololens del motor de Vuforia (disponible en el almacén de recursos de Unity).The best starting point for learning about Vuforia Engine and HoloLens is the Vuforia Engine HoloLens sample (available in the Unity Asset Store). El ejemplo proporciona un proyecto de HoloLens completo que incluye escenas preconfiguradas que se pueden implementar en HoloLens.The sample provides a complete HoloLens project including pre-configured scenes that can be deployed to a HoloLens.

Las escenas muestran cómo usar los destinos de imagen de Vuforia para reconocer una imagen y aumentarla con contenido digital en una experiencia de HoloLens.The scenes show how to use Vuforia Image Targets to recognize an image and augment it with digital content in a HoloLens experience. El ejemplo de HoloLens del motor de Vuforia también incluye una escena que muestra el uso de los destinos del modelo y VuMarks en HoloLens.The Vuforia Engine HoloLens Sample also includes a scene showing the usage of Model Targets and VuMarks on HoloLens. Puede sustituir fácilmente su propio contenido en segundo plano para experimentar con la creación de aplicaciones de HoloLens que usan el motor de Vuforia.You can easily substitute your own content in the scenes to experiment with the creation of HoloLens apps that use Vuforia Engine.

Configuración de una aplicación de Vuforia para HoloLensConfiguring a Vuforia App for HoloLens

El desarrollo de una aplicación de motor de Vuforia para HoloLens es fundamentalmente el mismo que el desarrollo de aplicaciones de motor de Vuforia para otros dispositivos.Developing a Vuforia Engine app for HoloLens is fundamentally the same as developing Vuforia Engine apps for other devices. Después, puede aplicar la configuración de compilación y las configuraciones que se describen en la sección siguiente.You can then apply the build settings and configurations described in the section below. Eso es todo lo que se necesita para permitir que el motor de Vuforia funcione con la asignación espacial de HoloLens y los sistemas de seguimiento posicional.That’s all that’s needed to enable Vuforia Engine to work with the HoloLens spatial mapping and positional tracking systems.

Compilación y ejecución del ejemplo de Vuforia Engine para HoloLensBuild and Run the Vuforia Engine Sample for HoloLens

  1. Descargar el ejemplo de Vuforia Engine para HoloLens del almacén de recursos de UnityDownload the Vuforia Engine Sample for HoloLens from the Unity Asset Store
  2. Aplicar las Opciones de motor de Unity recomendadas para potencia y rendimientoApply the recommended Unity engine options for power and performance
  3. Agregue escenas de ejemplo a escenas en la compilación.Add the sample scenes to Scenes in Build.
  4. En configuración de compilación, cambie crear plataforma a UWP haciendo clic en el botón Agregar escenas abiertas .In Build Settings, switch build platform to UWP by clicking the Add Open Scenes button. imageimage
  5. Seleccione el botón configuración del reproductor .Select the Player Settings button.
  • Seleccione el icono de UWP y expanda la sección configuración de XR .Select the UWP icon and expand the XR Settings section.
  • Asegúrese de que la realidad virtual compatible está habilitada.Ensure that Virtual Reality Supported is enabled.
  • En SDK de realidad virtual , asegúrese de que:Under Virtual Reality SDKs ensure that:
    • Window Mixed Reality está incluido en la lista y habilitado el uso compartido de búfer de profundidad .Window Mixed Reality is included in the list and that Enable Depth Buffer Sharing is enabled.
    • El formato de profundidad se establece en una profundidad de 16 bits.The Depth Format is set to 16-bit depth.
  • Asegúrese de que el modo de representación estéreo está establecido en instancia de paso único.Ensure that the Stereo Rendering Mode is set to Single Pass Instanced.
  1. Expanda la sección configuración de publicación .Expand the Publishing Settings section.
  • En capacidades , asegúrese de que esté seleccionado cliente de Internet, cámara web, micrófono y SpatialPerception .Under Capabilities ensure that Internet Client, WebCam, Microphone, and SpatialPerception are selected.
  • Nota: SpatialPerception solo debe seleccionarse si tiene previsto usar la API de la superficie de observador.NOTE: SpatialPerception should only be selected if you intend to use the Surface Observer API.
  • En familias de dispositivos compatibles, asegúrese de que Holographic esté seleccionado.Under Supported Device Families, ensure that Holographic is selected.
  1. Expanda la sección resolución y presentación .Expand the Resolution and Presentation section.
  • Deshabilite la ejecución en segundo plano para que el motor de Vuforia se ponga en pausa cuando la aplicación esté en segundo plano y pueda acceder a la cámara de nuevo cuando se reanude la aplicación.Disable Run in Background so that Vuforia Engine pauses when the app is put into the background and can access the camera again when the app is resumed.
  • En la lista desplegable orientación predeterminada , asegúrese de que está seleccionado horizontalmente a la izquierda.In the Default Orientation dropdown, ensure that Landscape Left is selected.
  1. Vuelva a la ventana configuración de compilación y seleccione compilar para generar un proyecto de Visual Studio.Return to the Build Settings window and select Build to generate a Visual Studio project.
  2. Compile el archivo ejecutable desde Visual Studio e instálelo en HoloLens.Build the executable from Visual Studio and install it on your HoloLens.

Portal para desarrolladores de VuforiaThe Vuforia Developer Portal

Los desarrolladores que quieran crear sus propias experiencias de AR con el motor de Vuforia y HoloLens deben registrarse en nuestro portal para desarrolladores de Vuforia en Developer.Vuforia.com.Developers looking to create their own AR experiences with Vuforia Engine and HoloLens should sign up on our Vuforia Developer Portal at developer.vuforia.com. En el portal, los desarrolladores tienen acceso a los foros del motor de Vuforia , donde pueden unirse a discusiones de la comunidad, una biblioteca con documentación detallada sobre todas las características del motor de Vuforia y el administrador de destino de Vuforia , donde los usuarios pueden crear sus propios destinos personalizados.In the portal, developers have access to the Vuforia Engine Forums where they can join community discussions, a library with in-depth documentation on all the Vuforia Engine Features, and the Vuforia Target Manager where users can create their own custom Targets. Los desarrolladores también pueden registrarse para obtener una licencia de desarrollador gratuita mediante el Administrador de licencias de Vuforia.Developers can also sign up for a free Developer License using the Vuforia License Manager.

Seguimiento de dispositivos con VuforiaDevice Tracking with Vuforia

El seguimiento de dispositivos mantiene el seguimiento incluso cuando un destino ya no está en la vista.Device Tracking maintains tracking even when a target is no longer in view. Se habilita automáticamente para todos los destinos cuando está habilitado el seguimiento de dispositivos posicionales.It's automatically enabled for all targets when the Positional Device Tracker is enabled. En el caso de las aplicaciones de HoloLens, el seguimiento de dispositivos posicionales se inicia automáticamente en Unity.For HoloLens applications, the Positional Device Tracker is started automatically in Unity.

El motor de Vuforia funde automáticamente las supuestos del seguimiento de la cámara y el seguimiento espacial de HoloLens para proporcionar un objetivo estable con independencia de si el destino es visible o no en la cámara.Vuforia Engine automatically fuses the poses from camera tracking and HoloLens's spatial tracking to provide stable target poses independent of whether the target is seen by the camera or not.

Dado que el proceso se controla automáticamente, no es necesario que el desarrollador lo programe.Since the process is handled automatically, it doesn't require any programming by the developer.

La siguiente es una descripción de alto nivel del proceso:The following is a high-level description of the process:

  1. El rastreador de destino de Vuforia reconoce el destinoVuforia’s target Tracker recognizes the target
  2. A continuación, se inicializa el seguimiento de destinoTarget tracking is then initialized
  3. La posición y la rotación del destino se analizan para proporcionar una estimación de postura sólida para HoloLensThe position and rotation of the target are analyzed to provide a robust pose estimate for the HoloLens
  4. El motor de Vuforia transforma la postura del destino en el espacio de coordenadas de asignación espacial de HoloLensVuforia Engine transforms the target's pose into the HoloLens spatial mapping coordinate space
  5. HoloLens realiza el seguimiento si el destino ya no está en la vista.HoloLens takes over tracking if the target is no longer in view. Siempre que vuelva a mirar el destino, Vuforia continuará realizando el seguimiento de las imágenes y los objetos con precisión.Whenever you look again at the target, Vuforia will continue to track the images and objects accurately.

Los destinos que se detectan, pero que ya no están en la vista, se muestran como EXTENDED_TRACKED.Targets that are detected, but no longer in view, are reported as EXTENDED_TRACKED. En estos casos, el script DefaultTrackableEventHandler que se usa en todos los destinos continúa representando el contenido de aumento.In these cases, the DefaultTrackableEventHandler script that is used on all targets continues to render augmentation content. El desarrollador puede controlar este comportamiento implementando un script de controlador de eventos de seguimiento personalizado.The developer can control this behavior by implementing a custom trackable event handler script.

Modo de rendimiento con el motor de VuforiaPerformance Mode with Vuforia Engine

Es posible a través del motor de Vuforia administrar el rendimiento de HoloLens para obtener las experiencias de AR y reducir la carga de trabajo en la CPU.It's possible through the Vuforia Engine to manage the performance on the HoloLens to extent AR experiences and reduce the workload on the CPU. El motor de Vuforia ofrece tres modos que se pueden seleccionar: predeterminado, para optimizar la velocidad y para optimizar la calidad.The Vuforia Engine offers three modes that can be selected: default, for optimizing speed, and for optimizing quality.

  • MODE_OPTIMIZE_SPEED le permite minimizar la carga de trabajo en el dispositivo HoloLens y es ideal para ampliar las experiencias de AR.MODE_OPTIMIZE_SPEED lets you minimize the workload on the HoloLens device and is great for extending AR experiences. Se recomienda en situaciones en las que la aplicación realiza el seguimiento de objetos o destinos estáticos.We recommended for situations where the app is tracking static objects/targets.
  • MODE_DEFAULT es el modo normal, que se puede usar en la mayoría de los escenarios.MODE_DEFAULT is the normal mode, which can be used in most scenarios.
  • MODE_OPTIMIZE_QUALITY es mejor para realizar un seguimiento de los destinos móviles o los destinos de modelo que espera que se recojan.MODE_OPTIMIZE_QUALITY is better for tracking movable targets or model targets you expect to be picked up.

Establecer el modoSetting the mode

Para cambiar el modo de rendimiento en Unity, vaya a configuración de Vuforia (Ctrl + Mayús + V/Cmd + Mayús + V) que se encuentra como componente en el GameObject de ARCamera.To change the performance mode in Unity, navigate to Vuforia Configuration (Ctrl+Shift+V / Cmd+Shift+V) that is located as a component in the ARCamera GameObject.

  • Seleccione el menú desplegable para el modo de dispositivo de cámara y seleccione una de las tres opciones.Select the dropdown menu for Camera Device Mode and select one of the three options.

Consulta tambiénSee also