Aspectos básicos de realidad mixta (100): Introducción a UnityMR Basics 100: Getting started with Unity

Importante

Los tutoriales de Mixed Reality Academy se han diseñado teniendo en cuenta HoloLens (1.ª generación) y los cascos envolventes de realidad mixta.The Mixed Reality Academy tutorials were designed with HoloLens (1st gen) and Mixed Reality Immersive Headsets in mind. Por lo tanto, creemos que es importante conservar estos tutoriales para los desarrolladores que sigan buscando instrucciones sobre el desarrollo para esos dispositivos.As such, we feel it is important to leave these tutorials in place for developers who are still looking for guidance in developing for those devices. Estos tutoriales no se actualizarán con los conjuntos de herramientas o las interacciones más recientes que se usan para HoloLens 2.These tutorials will not be updated with the latest toolsets or interactions being used for HoloLens 2. Se mantendrán para que sigan funcionando en los dispositivos compatibles.They will be maintained to continue working on the supported devices. Se ha publicado una nueva serie de tutoriales para HoloLens 2.A new series of tutorials has been posted for HoloLens 2.

Este tutorial le guiará a través de la creación de una aplicación básica de realidad mixta compilada con Unity.This tutorial will walk you through creating a basic mixed reality app built with Unity.

Compatibilidad con dispositivosDevice support

CursoCourse HoloLensHoloLens Cascos envolventesImmersive headsets
Aspectos básicos de realidad mixta (100): Introducción a UnityMR Basics 100: Getting started with Unity ✔️✔️ ✔️✔️

Requisitos previosPrerequisites

Capítulo 1: crear un nuevo proyectoChapter 1 - Create a New Project

Para compilar una aplicación con Unity, primero debe crear un proyecto.To build an app with Unity, you first need to create a project. Este proyecto está organizado en algunas carpetas, lo más importante es la carpeta assets.This project is organized into a few folders, the most important of which is your Assets folder. Se trata de la carpeta que contiene todos los recursos que se importan desde herramientas de creación de contenido digital como Maya, Max Cinema 4D o Photoshop, todo el código que se crea con Visual Studio o su editor de código favorito y cualquier número de archivos de contenido que Unity crea al crear escenas, animaciones y otros tipos de recursos de Unity en el editor.This is the folder that holds all assets you import from digital content creation tools such as Maya, Max Cinema 4D or Photoshop, all code you create with Visual Studio or your favorite code editor, and any number of content files that Unity creates as you compose scenes, animations and other Unity asset types in the editor.

Para compilar e implementar aplicaciones UWP, Unity puede exportar el proyecto como una solución de Visual Studio que contendrá todos los archivos de recursos y de código necesarios.To build and deploy UWP apps, Unity can export the project as a Visual Studio solution that will contain all necessary asset and code files.

  1. Iniciar UnityStart Unity
  2. Seleccione Nuevo paso.Select New
  3. Escriba un nombre de proyecto (por ejemplo, "MixedRealityIntroduction")Enter a project name (e.g. "MixedRealityIntroduction")
  4. Escriba una ubicación para guardar el proyectoEnter a location to save your project
  5. Asegúrese de que la opción alternancia 3D está seleccionadaEnsure the 3D toggle is selected
  6. Seleccione crear proyecto .Select Create project

Enhorabuena, todo está configurado para empezar a trabajar con las personalizaciones de realidad mixta ahora.Congrats, you are all setup to get started with your mixed reality customizations now.

Capítulo 2: configuración de la cámaraChapter 2 - Setup the Camera

La cámara principal de Unity controla el seguimiento de los cabezales y la representación de Stereoscopic.The Unity Main Camera handles head tracking and stereoscopic rendering. Hay algunos cambios que se deben realizar en la cámara principal para usarlo con la realidad mixta.There are a few changes to make to the Main Camera to use it with mixed reality.

  1. Seleccionar archivo > nueva escenaSelect File > New Scene

En primer lugar, será más fácil diseñar la aplicación si imagina la posición inicial del usuario como (X: 0, y: 0, Z: 0).First, it will be easier to lay out your app if you imagine the starting position of the user as (X: 0, Y: 0, Z: 0). Dado que la cámara principal está realizando el seguimiento del movimiento del usuario, la posición inicial del usuario se puede establecer estableciendo la posición inicial de la cámara principal.Since the Main Camera is tracking movement of the user's head, the starting position of the user can be set by setting the starting position of the Main Camera.

  1. Seleccionar cámara principal en el panel jerarquíaSelect Main Camera in the Hierarchy panel
  2. En el panel Inspector , busque el componente de transformación y cambie la posición de (x: 0, y: 1, z:-10) a (x: 0, y: 0, z: 0)In the Inspector panel, find the Transform component and change the Position from (X: 0, Y: 1, Z: -10) to (X: 0, Y: 0, Z: 0)

En segundo lugar, hay que pensar en el fondo de la cámara predeterminada.Second, the default Camera background needs some thought.

En el caso de las aplicaciones de HoloLens, el mundo real debe aparecer detrás de todo lo que representa la cámara, no una textura SKYBOX.For HoloLens applications, the real world should appear behind everything the camera renders, not a Skybox texture.

  1. Con la cámara principal aún seleccionada en el Panel jerarquía , busque el componente cámara en el panel Inspector y cambie la lista desplegable Borrar marcas de SKYBOX a color sólido.With the Main Camera still selected in the Hierarchy panel, find the Camera component in the Inspector panel and change the Clear Flags dropdown from Skybox to Solid Color.
  2. Seleccione el selector de colores de fondo y cambie los valores RGBA a (0, 0, 0, 0)Select the Background color picker and change the RGBA values to (0, 0, 0, 0)

En el caso de las aplicaciones de realidad mixta destinadas a auriculares envolventes, podemos usar la textura SKYBOX predeterminada que proporciona Unity.For mixed reality applications targeted to immersive headsets, we can use the default Skybox texture that Unity provides.

  1. Con la cámara principal aún seleccionada en el panel jerarquía , busque el componente cámara en el panel Inspector y mantenga la lista desplegable Borrar marcas en SKYBOX.With the Main Camera still selected in the Hierarchy panel, find the Camera component in the Inspector panel and keep the Clear Flags dropdown to Skybox.

En tercer lugar, permítanos considerar el plano de recorte cercano en Unity y evitar que los objetos se representen demasiado cerca de los ojos de los usuarios cuando un usuario se aproxime a un objeto o un objeto se aproxime a un usuario.Third, let us consider the near clip plane in Unity and prevent objects from being rendered too close to the users eyes as a user approaches an object or an object approaches a user.

En el caso de las aplicaciones de hololens, el plano de recorte cercano se puede establecer en los contadores de 0,85 recomendados de hololens .For HoloLens applications, the near clip plane can be set to the HoloLens recommended 0.85 meters.

  1. Con la cámara principal aún seleccionada en el Panel jerarquía , busque el componente cámara en el panel Inspector y cambie el campo Near Clip plano del valor predeterminado 0,3 a HoloLens recomendado 0,85.With the Main Camera still selected in the Hierarchy panel, find the Camera component in the Inspector panel and change the Near Clip Plane field from the default 0.3 to the HoloLens recommended 0.85.

En el caso de las aplicaciones de realidad mixta destinadas a auriculares envolventes, podemos usar la configuración predeterminada que proporciona Unity.For mixed reality applications targeted to immersive headsets, we can use the default setting that Unity provides.

  1. Con la cámara principal aún seleccionada en el panel de jerarquías , busque el componente de cámara en el panel Inspector y mantenga el campo de plano de clip cercano al valor predeterminado 0,3.With the Main Camera still selected in the Hierarchy panel, find the Camera component in the Inspector panel and keep the Near Clip Plane field to the default 0.3.

Por último, permítanos ahorrar nuestro progreso hasta ahora.Finally, let us save our progress so far. Para guardar los cambios de la escena, seleccione archivo > guardar escena como, asigne un nombre a la escena principal y seleccione Guardar.To save the scene changes, select File > Save Scene As, name the scene Main, and select Save.

Capítulo 3: configuración del proyectoChapter 3 - Setup the Project Settings

En este capítulo, se establecerá una configuración de proyecto de Unity que nos ayude a dirigirse al SDK de Windows Holographic para el desarrollo.In this chapter, we will set some Unity project settings that help us target the Windows Holographic SDK for development. También estableceremos algunos valores de calidad para nuestra aplicación.We will also set some quality settings for our application. Por último, se asegurará de que los destinos de compilación estén establecidos en Plataforma universal de Windows.Finally, we will ensure our build targets are set to Universal Windows Platform.

Configuración de rendimiento y calidad de UnityUnity performance and quality settings

Configuración de calidad de Unity para HoloLensUnity quality settings for HoloLens

Configuración de calidad de Unity para HoloLens

Dado que mantener una velocidad de fotogramas elevada en HoloLens es tan importante, queremos que la configuración de calidad esté optimizada para un rendimiento más rápido.Since maintaining high framerate on HoloLens is so important, we want the quality settings tuned for fastest performance. Para obtener información más detallada sobre el rendimiento, recomendaciones de rendimiento para Unity.For more detailed performance information, Performance recommendations for Unity.

  1. Seleccione editar > configuración del proyecto > calidadSelect Edit > Project Settings > Quality
  2. Seleccione la lista desplegable en el logotipo de plataforma universal de Windows y seleccione muy baja.Select the dropdown under the Universal Windows Platform logo and select Very Low. Sabrá que la configuración se aplica correctamente cuando el cuadro de la columna Plataforma universal de Windows y una fila muy baja es verde.You'll know the setting is applied correctly when the box in the Universal Windows Platform column and Very Low row is green.

En el caso de las aplicaciones de realidad mixta destinadas a ocluidos, puede dejar la configuración de calidad a sus valores predeterminados.For mixed reality applications targeted to occluded displays, you can leave the quality settings to its default values.

SDK de Windows 10 de destinoTarget Windows 10 SDK

SDK de Windows Holographic de destinoTarget Windows Holographic SDK

SDK de Windows Holographic de destino

Necesitamos que Unity sepa que la aplicación que se está intentando exportar debe crear una vista envolvente en lugar de una vista 2D.We need to let Unity know that the app we are trying to export should create an immersive view instead of a 2D view. Para ello, se habilita la compatibilidad con la realidad virtual en Unity que tiene como destino el SDK de Windows 10.We do this by enabling Virtual Reality support on Unity targeting the Windows 10 SDK.

  1. Vaya a editar > configuración del proyecto > Player.Go to Edit > Project Settings > Player.
  2. En el panel Inspector de configuración del reproductor, seleccione el icono de plataforma universal de Windows .In the Inspector Panel for Player Settings, select the Universal Windows Platform icon.
  3. Expanda el grupo XR Settings (Configuración de XR).Expand the XR Settings group.
  4. En la sección Rendering (Representación), active la casilla Virtual Reality Supported (Se admite Virtual Reality) para agregar una nueva lista de SDK de Virtual Reality.In the Rendering section, check the Virtual Reality Supported checkbox to add a new Virtual Reality SDKs list.
  5. Compruebe que Windows Mixed Reality (Mixed Reality de Windows) aparece en la lista.Verify that Windows Mixed Reality appears in the list. En caso contrario, seleccione el botón + situado en la parte inferior de la lista y elija Windows Mixed Reality (Mixed Reality de Windows).If not, select the + button at the bottom of the list and choose Windows Mixed Reality.

Nota

Si no ve el icono de plataforma universal de Windows , asegúrese de que ha seleccionado plataforma universal de Windows compatibilidad con la compilación durante la instalación.If you do not see the Universal Windows Platform icon, double check to make sure you selected Universal Windows Platform Build Support during installation. Si no, es posible que deba volver a instalar Unity con la instalación correcta de Windows.If not, you may need to reinstall Unity with the correct Windows installation.

Trabajo maravilla en la obtención de la configuración del proyecto aplicada.Awesome job on getting all the project settings applied. A continuación, vamos a agregar un holograma.Next, let us add a hologram!

Capítulo 4: crear un cuboChapter 4 - Create a cube

La creación de un cubo en el proyecto de Unity es igual que crear cualquier otro objeto en Unity.Creating a cube in your Unity project is just like creating any other object in Unity. Colocar un cubo delante del usuario es fácil porque el sistema de coordenadas de Unity está asignado al mundo real, donde un medidor en Unity es aproximadamente un medidor del mundo real.Placing a cube in front of the user is easy because Unity's coordinate system is mapped to the real world - where one meter in Unity is approximately one meter in the real world.

  1. En la esquina superior izquierda del panel de jerarquías , seleccione la lista desplegable crear y elija objeto 3D > cubo.In the top left corner of the Hierarchy panel, select the Create dropdown and choose 3D Object > Cube.
  2. Seleccionar el cubo recién creado en el panel jerarquíaSelect the newly created Cube in the Hierarchy panel
  3. En el Inspector , busque el componente de transformación y cambie la posición a (X: 0, y: 0, Z: 2).In the Inspector find the Transform component and change Position to (X: 0, Y: 0, Z: 2). Esto coloca los medidores del cubo 2 delante de la posición inicial del usuario.This positions the cube 2 meters in front of the user's starting position.
  4. En el componente de transformación , cambie rotación a (x: 45 , y: 45, z: 45) y cambie la escala a (x: 0,25, y: 0,25, z: 0,25).In the Transform component, change Rotation to (X: 45, Y: 45, Z: 45) and change Scale to (X: 0.25, Y: 0.25, Z: 0.25). Esto escala el cubo a 0,25 metros.This scales the cube to 0.25 meters.
  5. Para guardar los cambios de la escena, seleccione archivo > guardar escena.To save the scene changes, select File > Save Scene.

Capítulo 5: comprobar en el dispositivo desde el editor de UnityChapter 5 - Verify on device from Unity editor

Ahora que hemos creado el cubo, es el momento de realizar una comprobación rápida del dispositivo.Now that we have created our cube, it is time to do a quick check in device. Puede hacerlo directamente desde el editor de Unity.You can do this directly from within the Unity editor.

Instalación inicialInitial setup

  1. En el equipo de desarrollo, en Unity, Abra archivo > ventana de configuración de compilación.On your development PC, in Unity, open File > Build Settings window.
  2. Cambie plataforma a plataforma universal de Windows y haga clic en cambiar plataformaChange Platform to Universal Windows Platform and click Switch Platform

Para HoloLens, use Unity RemotingFor HoloLens use Unity Remoting

  1. En HoloLens, instale y ejecute el reproductor de comunicación remota holográfica, disponible en la tienda Windows.On your HoloLens, install and run the Holographic Remoting Player, available from the Windows Store. Inicie la aplicación en el dispositivo y se especificará un estado de espera y se mostrará la dirección IP del dispositivo.Launch the application on the device, and it will enter a waiting state and show the IP address of the device. Anote la dirección IP.Note down the IP.
  2. Abra Window > XR > la emulación holográfica.Open Window > XR > Holographic Emulation.
  3. Cambiar el modo de emulación de ninguno a remoto a dispositivo.Change Emulation Mode from None to Remote to Device.
  4. En equipo remoto, escriba la dirección IP de su HoloLens indicada anteriormente.In Remote Machine, enter the IP address of your HoloLens noted earlier.
  5. Haga clic en Conectar.Click Connect.
  6. Asegúrese de que el estado de la conexión cambia a verde conectado.Ensure the Connection Status changes to green Connected.
  7. Ahora puede hacer clic en reproducir en el editor de Unity.Now you can now click Play in the Unity editor.

Ahora podrá ver el cubo en el dispositivo y en el editor.You will now be able to see the cube in device and in the editor. Puede pausar, inspeccionar objetos y depurar del mismo modo que está ejecutando una aplicación en el editor, ya que esto es esencialmente lo que está ocurriendo, pero con vídeo, audio y entrada de dispositivo transmitidos entre la red entre el equipo host y el dispositivo.You can pause, inspect objects, and debug just like you are running an app in the editor, because that's essentially what's happening, but with video, audio, and device input transmitted back and forth across the network between the host machine and the device.

Para otros auriculares compatibles con la realidad mixtaFor other mixed reality supported headsets

  1. Conecte los auriculares a su equipo de desarrollo con el cable USB y el cable de puerto de pantalla o HDMI.Connect the headset to your development PC using the USB cable and the HDMI or display port cable.
  2. Inicie el portal de realidad mixta y asegúrese de que ha completado la primera experiencia de ejecución.Launch the Mixed Reality Portal and ensure you have completed the first run experience.
  3. Desde Unity, ahora puede hacer clic en el botón reproducir.From Unity, you can now press the Play button.

Ahora podrá ver la representación del cubo en el casco de la realidad mixta y en el editor.You will now be able to see the cube rendering in your mixed reality headset and in the editor.

Capítulo 6: compilar e implementar en el dispositivo desde Visual StudioChapter 6 - Build and deploy to device from Visual Studio

Ahora estamos listos para compilar el proyecto en Visual Studio e implementarlo en nuestro dispositivo de destino.We are now ready to compile our project to Visual Studio and deploy to our target device.

Exportar a la solución de Visual StudioExport to the Visual Studio solution

  1. Abra el archivo > ventana Configuración de compilación .Open File > Build Settings window.
  2. Haga clic en Agregar escenas abiertas para agregar la escena.Click Add Open Scenes to add the scene.
  3. Cambie plataforma a plataforma universal de Windows y haga clic en cambiar plataforma.Change Platform to Universal Windows Platform and click Switch Platform.
  4. En plataforma universal de Windows configuración, asegúrese de que el SDK es universal 10.In Universal Windows Platform settings, ensure SDK is Universal 10.
  5. En dispositivo de destino, deje en cualquier dispositivo para ocluidos muestra o cambie a HoloLens.For Target device, leave to Any Device for occluded displays or switch to HoloLens.
  6. El tipo de compilación de UWP debe ser D3D.UWP Build Type should be D3D.
  7. El SDK de UWP podría dejarse en la versión más reciente instalada.UWP SDK could be left at Latest installed.
  8. Haga clic en Generar.Click Build.
  9. En el explorador de archivos, haga clic en nueva carpeta y asigne el nombre "app" a la carpeta.In the file explorer, click New Folder and name the folder "App".
  10. Con la carpeta de aplicaciones seleccionada, haga clic en el botón Seleccionar carpeta .With the App folder selected, click the Select Folder button.
  11. Cuando Unity termine de compilar, aparecerá una ventana del explorador de archivos de Windows.When Unity is done building, a Windows File Explorer window will appear.
  12. Abra la carpeta de la aplicación en el explorador de archivos.Open the App folder in file explorer.
  13. Abra la solución de Visual Studio generada (MixedRealityIntroduction. sln en este ejemplo).Open the generated Visual Studio solution (MixedRealityIntroduction.sln in this example)

Compilar la solución de Visual StudioCompile the Visual Studio solution

Por último, se compilará la solución de Visual Studio exportada, se implementará y se probará en el dispositivo.Finally, we will compile the exported Visual Studio solution, deploy it, and try it out on the device.

  1. Con la barra de herramientas superior de Visual Studio, cambie el destino de Debug a Release y de ARM a x86.Using the top toolbar in Visual Studio, change the target from Debug to Release and from ARM to X86.

Las instrucciones difieren en cuanto a la implementación en un dispositivo frente al emulador.The instructions differ for deploying to a device versus the emulator. Siga las instrucciones que coincidan con la configuración.Follow the instructions that match your setup.

Implementación en dispositivo de realidad mixta en Wi-FiDeploy to mixed reality device over Wi-Fi

  1. Haga clic en la flecha situada junto al botón equipo local y cambie el destino de implementación a equipo remoto.Click on the arrow next to the Local Machine button, and change the deployment target to Remote Machine.
  2. Escriba la dirección IP del dispositivo de realidad mixta y cambie el modo de autenticación a universal (protocolo sin cifrar) para HoloLens y Windows para otros dispositivos.Enter the IP address of your mixed reality device and change Authentication Mode to Universal (Unencrypted Protocol) for HoloLens and Windows for other devices.
  3. Haga clic en Depurar > iniciar sin depurar.Click Debug > Start without debugging.

En el caso de HoloLens, si esta es la primera vez que se implementa en el dispositivo, tendrá que emparejar con Visual Studio.For HoloLens, If this is the first time deploying to your device, you will need to pair using Visual Studio.

Implementación en dispositivo de realidad mixta a través de USBDeploy to mixed reality device over USB

Asegúrese de que el dispositivo está conectado a través del cable USB.Ensure you device is plugged in via the USB cable.

  1. Para HoloLens, haga clic en la flecha situada junto al botón equipo local y cambie el destino de implementación a dispositivo.For HoloLens, click on the arrow next to the Local Machine button, and change the deployment target to Device.
  2. Para dirigirse a dispositivos ocluidos conectados al equipo, mantenga la configuración en equipo local.For targeting occluded devices attached to your PC, keep the setting to Local Machine. Asegúrese de que tiene el portal de realidad mixta en ejecución.Ensure you have the Mixed Reality Portal running.
  3. Haga clic en Depurar > iniciar sin depurar.Click Debug > Start without debugging.

Implementar en el emuladorDeploy to Emulator

  1. Haga clic en la flecha situada junto al botón dispositivo y, en la lista desplegable, seleccione emulador de HoloLens.Click on the arrow next to the Device button, and from drop down select HoloLens Emulator.
  2. Haga clic en Depurar > iniciar sin depurar.Click Debug > Start without debugging.

Probar la aplicaciónTry out your app

Ahora que la aplicación está implementada, intente mover todo el cubo y observe que permanece en todo el mundo.Now that your app is deployed, try moving all around the cube and observe that it stays in the world in front of you.

Consulte tambiénSee also