Buscar en Unity

Sé más que móvil

Aprovecha el impulso de Windows 10 y las nuevas oportunidades de mercado en la Windows Store.

Guías para portar juegos

Introducción

Crear juegos con Unity se ha vuelto cada vez más popular, especialmente para aprovechar una base de códigos única que permite acceder a múltiples plataformas y tipos de dispositivos. Esto mismo es válido para la creación de juegos para Windows 10 con la Universal Windows Platform (UWP). En este informe técnico, aprenderás cómo utilizar lo que ya conoces de Unity para crear juegos para UWP. Cubriremos temas como los siguientes:

  • compilar tu juego para UWP
  • comprender las mejores prácticas del entorno Windows
  • implementar funciones específicas de la plataforma
  • comprender plug-ins clave
  • publicar en la Windows Store

Para ilustrar los detalles de llevar un juego Unity a la UWP, utilizaremos un juego real para ayudarte a transitar por los diversos aspectos y consideraciones involucradas en la exportación de un juego Unity a la UWP y su posterior despliegue en la Windows Store.

Nota: Esta guía asume que ya estás familiarizado con los conceptos básicos detrás del uso de Unity3D. Puedes obtener más información acerca de Unity3D en cualquier momento si revisas los tutoriales de Unity.

Requisitos para escribir un juego UWP con Unity

Para desarrollar, compilar y enviar un juego de Unity a la Windows Store, necesitarás:

  • Unity 5.3.5. Funcionan tanto la versión gratuita de Unity como la versión Unity Pro. Los complementos para publicar en la Windows Store son gratuitos tanto para los usuarios de la versión básica como para los de UnityPro.
  • Visual Studio. Puedes utilizar cualquier SKU de Visual Studio, incluido el Visual Studio Express, gratuito. Para dirigirte a la Universal Windows Platform, necesitarás Visual Studio 2015 Update 1.
  • Windows 10. Si no cuentas con una licencia de Windows 10, puedes acceder a una versión de evaluación de 90 días. Si usas Mac OS X o harás la instalación en un hardware de Apple, verifica las distintas opciones de instalación utilizando Boot Camp, VMWare o Parallels.
  • Cuenta Microsoft. Necesitarás una cuenta Microsoft gratuita para obtener una licencia de desarrollador.
  • Cuenta de desarrollador de Windows Store. Lo siguiente será necesario para enviar tu juego a la Windows Store. Durante este proceso, te registrarás y se confirmará tu identidad como particular o empresa que puede enviar aplicaciones y juegos a la tienda. Este registro se comparte con Windows Phone (un registro puede enviar aplicaciones a ambas tiendas). Podría aplicarse un pequeño cargo de registro para las personas que se inscriban, aunque, por lo general, se ofrece cuentas gratuitas Dev Center a través de los programas patrocinados por Microsoft (p. ej., para estudiantes o empresas recién creadas).
  • Windows 10 prueba los dispositivos. Aunque el simulador puede simular la función multitáctil y resoluciones de pantalla distintas, te recomendamos que realices la prueba en un dispositivo móvil ARM real con capacidad táctil si estás desarrollando una experiencia móvil/táctil.

Este documento fue creado con Unity 5.3.5, Visual Studio 2015 Update 2 y Windows 10 Versión 1511. Para tu beneficio, te recomendamos que utilices, como mínimo, Unity 5.3.2 y Visual Studio Update 1, ya que las versiones anteriores pueden tener una interfaz de programación de aplicaciones diferente y otras posibles incompatibilidades.

Windows Store

Windows Store tiene actualmente un lugar único para enviar y cargar tus aplicaciones UWP. Todavía puedes dirigir contenido a los dispositivos usando los sistemas operativos anteriores, pero para este documento, nos centraremos en enviar tu juego como una aplicación UWP a la Windows Store.

Nuget

NuGet es el administrador de paquetes para la plataforma de desarrollo Microsoft que incluye .NET. Les permite a los desarrolladores hallar bibliotecas de terceros y agregarlas a proyectos como dependencias. Puedes usar NuGet para proporcionar bibliotecas de Windows que necesites usar de forma nativa. NuGet también puede utilizarse para manejar DLL que son llamados desde tus scripts en Unity.

NuGet también es necesario para hacer migrar los juegos Unity a la UWP. Cuando exportas un proyecto de Unity a una aplicación para UWP de Visual Studio, Unity depende de NuGet para instalar todas las bibliotecas necesarias para dirigir el contenido a .NET Core.

Configurando Unity para desplegar en Windows Store

En esta sección, vamos a cubrir lo que se necesita para tomar un juego Unity existente y prepararlo para su despliegue en la Windows Store como un juego para la Universal Windows Platform (UWP). Cubriremos lo siguiente:

  • Habilitar el modo desarrollador en Windows 10
  • Ingresar la información del juego en Unity
  • Exportar a la UWP en Windows 10
  • Solución de compilación en Visual Studio 2015 Update 2 con Window 10 SDK
  • Asociar tu juego con la Windows Store
  • Agregar imágenes/contenido requerido (p.ej., logotipo, ícono, pantalla de inicio) si no se hizo todavía en Unity
  • Ejecutar el Kit de Certificación de Aplicaciones de Windows (WACK)
  • Publicar en la Windows Store

Habilitar el modo desarrollador en Windows 10

Ya no se necesita una licencia de desarrollador para cada dispositivo que desees usar para desarrollar, instalar o probar tu aplicación. En lugar de ello, ahora puedes habilitar un dispositivo una sola vez para estas tareas desde la configuración para el dispositivo.

Habilita tus dispositivos Windows 10

Para Windows 10, ya sea que utilices una computadora de escritorio, tablet o teléfono, necesitas habilitar dicho dispositivo para el desarrollo bajo Configuraciones del Sistema.

Para hacerlo, busca Configuraciones del Sistema y elige "Actualización y seguridad" A continuación, elige "Para desarrolladores" A partir de aquí, puedes simplemente seleccionar y habilitar "Modo desarrollador"

Puedes encontrar más información sobre cómo hacer esto aquí.

Ingresar la información del juego en Unity

Uno de los primeros pasos en la preparación de tu juego para Unity es asegurarte de tener configurados los ajustes adecuados para la creación del juego.

Para crear juegos de Unity para aplicaciones de la Universal Windows Platform (UWP), necesitarás lo siguiente:

Para configurar tus ajustes en Unity, primero haz clic en "Archivo", después "Ajustes de compilación".

Seguidamente, haz clic en el botón Configuraciones del Reproductor.

En la ventana Configuraciones del Reproductor puedes entonces ingresar la información de tu juego.

Si lo deseas, puedes también agregar el logotipo y las imágenes en mosaico en la ventana Configuraciones del Reproductor ventana que se mostrará en la Windows Store. Como ocurre con muchas cosas en la creación de aplicaciones de Unity para la Windows Store, no obstante, existen múltiples formas de lograrlo; también puedes postergar la adición de imágenes a través de Unity IDE y hacerlo más adelante a través de Visual Studio.

Tus ajustes de compilación están ahora adecuadamente configurados en Unity3D, lo que te permitirá exportar a la UWP.

Exportar a la Universal Windows Platform

Esta sección revisará el soporte Unity existente para las aplicaciones de la Universal Windows Platform (UWP) y cómo exportar desde Unity a la UWP.

Unity3D ha tenido soporte para las aplicaciones UWP desde Unity 5.2. Actualmente, puedes exportar a la UWP seleccionando el Universal 10 SDK desde la plataforma Windows Store en la ventana Ajustes de compilación, como se ilustra a continuación:

Unity 5.3.5 exportará archivos de soluciones Visual Studio 2015 , las cuales podrán ser compiladas y ejecutadas en los dispositivos con Windows 10.

Se brinda soporte para tres arquitecturas: ARM, x86 y x64. Además, puedes utilizar .NET Core 5.0 en tus proyectos de juegos.

Al hacer clic en el botón Crear en la ventana Ajustes de compilación, aparecerá una ventana de Crear diálogo en Windows Store para seleccionar una carpeta para la creación de tu juego.

Una vez seleccionada la carpeta, Unity empezará a compilar tu juego, dirigiéndose a la plataforma que hayas seleccionado. Esto puede tomar varios minutos si tu juego es grande:

En este momento, una ventana de Windows Explorer tendría que mostrar la carpeta que contiene todos los archivos generados por Unity.

Si deseas más información sobre este proceso, consulta la documentación de Unity3D en Windows.

Solución de compilación en Visual Studio 2015 Update 2 con Windows 10 SDK

A fin de vender o distribuir tu aplicación para la Universal Windows Platform (UWP), necesitas crear un paquete appxupload para la misma. Este paquete facilita la venta de tu aplicación en la Windows Store o su distribución a otros usuarios. Cuando crees el paquete appxupload, se generará otro paquete appx, que podrá utilizarse para prueba y transferencia de datos. Puedes distribuir tu aplicación directamente transfiriendo el paquete appx a un dispositivo.

Para Windows 10, generas un paquete (.appxupload) que puede cargarse a la Windows Store. Tu aplicación estará entonces disponible para instalarse y ejecutarse en cualquier dispositivo con Windows 10.

Nota: Si necesitas crear un paquete de aplicaciones para una aplicación para Windows 8.1, sigue estas instrucciones.

Ahora estás listo para compilar tu juego en Visual Studio.

Primero, selecciona la plataforma, x86 o x64.

Desde el menú, haz clic en Crear -> Solución de compilación.

Deja que el administador de paquetes NuGet restaure los paquetes.

Haz clic Ejecuta y asegúrate de haber elegido Máquina local.

Verifica que la compilación se haya realizado con éxito.

Una vez que hayas realizado este procedimiento, estás listo para vender tu aplicación en la Windows Store. Si tienes una aplicación línea de negocios (LOB) que no tienes planificado vender porque está destinada solo a usuarios internos, puedes transferir esta aplicación para instalarla en cualquier dispositivo con Windows 10.

Para mayor información, revisa Aplicaciones Packaging Universal Windows para Windows 10

Asocia tu aplicación con Windows Store

Desde el Proyectomenú, elige Store -> Asociar aplicación con la Store....

Cuando haces esto, la mayoría de los campos en la pestaña Packaging del diseñador de manifiestos se actualizarán automáticamente. Los siguientes valores se descargan al archivo del manifiesto de la aplicación para el proyecto actual en su máquina local:

  • Package Display Name (nombre descriptivo del paquete para los usuarios)
  • Package Name (identificación de la aplicación)
  • Publisher ID (ID del Editor)
  • Publisher Display Name (Nombre del editor como figura en certificado digital)
  • Versión

Si anulas el archivo predeterminado package.appxmanifest creando un archivo personalizado .xml para el manifiesto, no podrás asociar tu aplicación con la Store. Si intentas asociar un archivo de manifiesto personalizado con la tienda, verás un mensaje de error. No se recomienda la creación de un manifiesto personalizado de paquetes.

Para mayor información, revisa Aplicaciones de Packaging Universal Windows para Windows 10.

Cómo prepararte para enviar tu aplicación a la Store

Una vez que hayas creado tu aplicación reservando un nombre, puedes empezar a trabajar en su publicación. El primer paso es crear una presentación.

Lo típico es que empieces tu presentación cuando hayas concluido tu aplicación y esta esté lista para publicarse. Sin embargo, puedes empezar a ingresar información sin haber escrito una sola línea de código. La presentación se guardará en tu panel de control para que puedas trabajar en ella cuando estés listo.

Después de que se haya publicado tu aplicación, puedes publicar una versión actualizada creando otra presentación en tu panel de control. Crear una nueva presentación te permite hacer y publicar los cambios que sean necesarios, sea que estés cargando nuevos paquetes o simplemente cambiando detalles, como el precio o la categoría.

Para crear una nueva presentación para una aplicación, haz clic en Actualizar junto a la presentación más reciente mostrada en la página de resumen de la aplicación.

Lista de control de la presentación de la aplicación

Unity te proporciona los activos mínimos necesarios para la presentación de una aplicación, pero se recomienda que proporciones tus propias imágenes y activos. Lo que sigue es una captura de pantalla de sección Visual Assets del archivo Package.appxmanifest:

Puedes revisar todos los activos proporcionados por el proceso de compilación.

Para mayor información, revisa Presentaciones de aplicaciones en MSDN.

Ejecutar el Kit de Certificación de Aplicaciones de Windows (WACK)

Para darle a tu aplicación la mejor oportunidad de ser publicada en la Windows Store, o de obtener una certificación de Windows, valídala y pruébala localmente antes de presentarla para su certificación. Este tema te muestra cómo instalar y ejecutar el Kit de Certificación de Aplicaciones de Windows. WACK ejecutará una serie de pruebas a tu aplicación para aspectos como el rendimiento y el cumplimiento API. Para mayor información sobre las pruebas específicas llevadas a cabo por este kit, consulta los siguientes temas:

Prerequisitos

Si estás desarrollando una aplicación Universal Windows Platform (UWP), debes…

Para instalar la versión 10 del Kit de Certificación de Aplicaciones de Windows, que se incluye en el Kit de Desarrollo de Software de Windows (SDK) para Windows 10, debes crear primero un paquete de aplicaciones para ejecutar la prueba. Desde el menú Proyecto, elige Store -> Crear Paquetes de Aplicaciones…:

Cuando culmine la creación del paquete, se te presentará la siguiente ventana, donde podrás lanzar el Kit de Certificación de Aplicaciones de Windows (WACK):

Cuando lances el WACK, se te presentará el siguiente diálogo:

Haz clic en Siguiente para continuar con los pasos de validación. No te alarmes si ves múltiples ventanas emergentes. La herramienta simplemente está ejecutando tu juego y realizando las pruebas. La culminación de estas pruebas puede llevar varios minutos.

Cuando hayan culminado las pruebas, se te presentará la siguiente ventana. Si las pruebas fallan, podrás revisarlas para realizar las correcciones pertinentes y repetir este proceso para pasar las pruebas.

Al hacer clic en el enlace "Hacer clic aquí para ver los resultados" se abrirá un navegador con los resultados de la prueba.

Aquí puedes revisar cada prueba y descubrir exactamente lo que falló y corregir el problema. Después de haber corregido todos los problemas y ejecutado nuevamente las pruebas, tendrías que obtener los siguientes resultados:

Para mayor información, revisa Uso del Kit de Certificación de Aplicaciones de Windows en MSDN.

Publicar en la Windows Store

Ahora que tu juego está compilado y cargado, debes ir a tu cuenta de desarrollador con el fin de presentarlo a la tienda. Sigue los siguientes pasos para empezar el proceso de presentación.

  1. Abre un navegador y dirígete a https://dev.windows.com.
  2. Inicia sesión en tu cuenta y haz clic en el enlace Panel de Control.
  3. Selecciona el nombre del paquete de la aplicación que creaste en Visual Studio.
  4. Haz clic en "Iniciar tu presentación".
  5. En este siguiente paso, deberás llenar información sobre tu juego antes de que se te permita completar tu presentación. Al hacer clic en cualquiera de estos enlaces se abrirá una nueva página que te permitirá conocer los detalles del proceso de presentación.

La página de Paquetes es donde cargas todos los archivos de paquetes (.xap, .appx, .appxupload o .appxbundle) para la aplicación que estás presentando. Puedes cargar paquetes para cualquier sistema operativo al que se dirija tu aplicación en este paso.

Cuando un cliente descargue tu aplicación, la Windows Store revisará todos los paquetes disponibles de tu aplicación y proporcionará automáticamente a cada cliente el paquete que funcione mejor para el dispositivo de ese cliente.

Para conocer los detalles sobre lo que incluye un paquete y cómo debe estar estructurado, revisa Requisitos para paquetes de aplicaciones. Tal vez también quieras aprender sobre…

Carga de paquetes para tu presentación

Cargar paquetes, arrastrarlos al campo de carga o hacer clic para explorar tus archivos. La página de Paquetes página te permitirá cargar archivos .xap, .appx, .appxupload o .appxbundle.

Nota: Para Windows 10, lo recomendable es cargar siempre el archivo .appxupload aquí, no el .appx or .appxbundle. Para mayor información sobre cómo empaquetar aplicaciones para la Universal Windows Platform (UWP) para la Store, consulta Aplicaciones de Packaging Universal Windows para Windows 10.

Si se detecta algún problema con tus paquetes mientras se validan, deberás eliminar el paquete, arreglar los problemas y solo entonces intentar cargarlos nuevamente. Para mayor información, consulta Resolver errores de carga de paquetes.

Implementación de referencia

En esta sección, haremos referencia a un sencillo juego de básquetbol en 3D escrito por Jb Evain en el escenario en Build en menos de 20 minutos. Si deseas crear el juego desde cero, puedes seguir la charla de Jb. El único asset externo que necesitarás para crear el juego es este archivo Hoop.3ds.

Si prefieres simplemente descargar el paquete del proyecto terminado, Basketball-At-Build.zip, está completo y puede jugarse. Podrás seguir con el resto de esta sección una vez que hayas extraído el archivo comprimido.

Lo que sigue es una escena del juego completado:

Básquetbol

En los siguientes pocos pasos, utilizaremos un juego para demostrar los pasos arriba descritos para dejar listo un juego para su presentación a la Windows Store.

Si estás creando el juego desde cero, necesitarás seguir estos pasos. Si has descargado el proyecto completado, puedes omitir los pasos 1 a 8.

  1. Abre Unity y crea un nuevo Proyecto Puedes llamarlo "Básquetbol" o "Juego Fabuloso", si lo deseas.
  2. Crea la escena de un Juego.
  3. Arrastra Hoop.3ds desde su ubicación de descarga hacia el panel Assets.
  4. Selecciona Assets -> Importar Paquetes -> Personajes.
  5. Una vez descargado el asset, haz clic en el botón Importar. Esto llevará todos los assets a tu proyecto.
  6. Crea una esfera y aplícale materiales para que tenga color y rebote.
  7. Coloca componentes en la escena.
  8. Escribe el script del Lanzador para que puedas lanzar pelotas al aro de básquetbol.
  9. En la Proyecto pestaña, expande el árbol de Assets y haz clic en la carpeta Escenas.
  10. Haz doble clic en la Juego escena para cargarla. Antes de que avancemos más, ejecutemos el juego y veamos cómo funciona.
  11. ¡Ahora que sabemos que el juego funciona, podemos probar tus destrezas!

Creación de nuestro proyecto Visual Studio con Unity

Ahora que has importado y probado el juego en Unity, pasemos a crear una solución Visual Studio.

En el menú, haz clic en Archivo | Ajustes de Compilación… para abrir la ventana Ajustes de Compilación y asegúrate de que tengas una escena seleccionada bajo la vista Scenes In Build Querrás asegurarte de que…

  • Plataforma está configurada para Windows Store (de no ser así, haz clic en Windows Store -> Cambiar Plataforma).
  • SDK está configurada para Universal 10.
  • Tipo de compilación UWP está configurada para XAML.
  • Unity C# Projects y y Compilación de Desarrollo estén marcadas.

Seguidamente, haz clic en el botón botón y asegúrate de que la información allí consignada sea correcta. Este juego está diseñado para modo Paisaje. Verifica que la Orientación Predeterminada tenga modo Paisaje. seleccionado:

Finalmente, haz clic en el botón Compilar desde la ventana Ajustes de Compilación. Se te solicitará que selecciones una carpeta donde desees compilar el proyecto. Es allí donde se creará tu solución y proyecto Visual Studio.

Cómo usar Visual Studio para crear un Paquete de Aplicaciones y WACK

Hemos creado con éxito nuestra solución Visual Studio y tendríamos que estar en condiciones de realizar la transición y continuar con la configuración allí.

Haz doble clic en la solución creada para ti.

Visual Studio 2015 se abrirá y cargará tres proyectos. No te preocupes si ves errores. Visual Studio carga los recursos de modo asincrónico. Simplemente espera que todos los recursos estén cargados y compila el proyecto en el modo Depuración seleccionando Crear | Solución de Compilación del menú.

Seguidamente, querrás…

  1. Verificar que la compilación se haya realizado con éxito.
  2. Cambiar el modo de el modo Depuración a Maestro. Esto es importante ya que necesitarás presentar tus aplicaciones UWP a la Windows Store utilizando el modo Maestro. (modo El modo elimina las verificaciones de seguridad y deshabilita el profiler (perfilador) a fin de proporcionar el mejor rendimiento.)
  3. Seleccionar Store | Crear Paquetes de Aplicaciones... del Proyecto menú.

Si se trata de tu primera vez o si han pasado varios días, se te solicitará que te autentifiques con tus credenciales de desarrollador de Windows Store. Deberás ingresar un código de seguridad para verificar tus credenciales.

Si tu compilación se realiza con éxito, continúa haciendo clic en el botón Iniciar Kit de Certificación de Aplicaciones de Windows. Este proceso de prueba puede tomar un tiempo considerable para validar que tu juego está listo para ser enviado a la Windows Store.

Si todo se aprueba, tendrías que ver la siguiente pantalla:

Cómo diseñar tu juego Unity para UWP

Unity proporciona un conjunto desarrollado de herramientas que te permite destinar contenidos a muchas plataformas. Esto incluye apoyo en la preparación de herramientas para las apps en la Plataforma Universal de Windows (UWP). Este apoyo de Unity en la preparación de herramientas puede manejar las siguientes áreas, entre muchas otras:

  • Múltiples resoluciones y redimensionamiento de pantalla
  • Ratios de aspecto

Múltiples resoluciones y redimensionamiento de pantalla

Listo para usar, tu juego Unity puede manejar múltiples resoluciones y el redimensionamiento de la pantalla. Un aspecto de este soporte que probablemente no sea intuitivo pero sigue siendo fundamental para tu juego es tu menú y la pantalla de visualización frontal (HUD).

Unity proporciona un nuevo sistema de interfaz de usuario, Unity UI. Este nuevo sistema UI elimina la necesidad de utilizar plugins de terceros y facilita interfaces desarrolladas dentro de tu juego. Es importante configurar tu menú y HUD correctamente y probar distintas resoluciones. Si recuerdas la época en que usabas Windows Forms o WPF, recordarás que podías anclar tus elementos UI de manera que estos se redimensionaran junto con la pantalla. Unity ofrece la misma capacidad. Además de anclar posiciones, puedes definir si tus elementos UI se redimensionarán o seguirán siendo iguales cuando la pantalla se redimensione.

Ratios de aspecto

Exactamente como con las múltiples resoluciones y el redimensionamiento de la pantalla, Unity soporta múltiples ratios de aspecto. Es siempre importante probar los diversos ratios de aspecto a los que deseas dar soporte en tu juego, pero Unity hace que sea muy sencillo realizar una prueba en contraste con cualquier ratio de aspecto que desees.

Querrás probar los emuladores, además de los dispositivos de destino a los que tengas acceso a fin de asegurarte de que tengas todo listo.

Herramientas de Visual Studio 2015 para Unity

Visual Studio viene cargado con herramientas que te ayudan a preparar tu juego Unity para publicarlo en la Windows Store. Entre ellas se encuentran las siguientes:

  • Unity Project Explorer
  • Escritura de scripts y depuración en Visual Studio
  • Depurador de gráficos

Visual Studio Tools para Unity

Desde Unity 5.2, ya no necesitas importar Visual Studio Tools para Unity por separado. En Visual Studio 2015, simplemente dirígete a Herramientas | Extensiones y Actualizaciones para instalar Visual Studio 2015 Tools para Unity.

La sección que sigue te permitirá repasar los pasos necesarios si deseas obtener la última versión de VSTU o estás utilizando una versión de Unity anterior a 5.2. Si estás usando Visual Studio 2015 con Unity 5.2 o una versión superior, no es necesario que sigas los siguientes pasos y puedes omitirlos con toda tranquilidad.

Visual Studio Tools para Unity te permite escribir y depurar tus juegos Unity dentro de Microsoft Visual Studio. Además de la capacidad de agregar puntos de corte y evaluar las variables y expresiones complejas, también puedes explorar tu proyecto como si estuvieras en Unity con el Unity Project Explorer. Finalmente, verás exactamente los mismos resultados de consola dentro de Visual Studio que los que obtendrías en Unity.

Lo que sigue es una captura de pantalla de la instalación de Visual Studio 2015 Tools para Unity. No olvides aceptar los términos seleccionando la casilla:

Cuando se complete el proceso, aparecerá un diálogo indicando que la instalación ha culminado:

Ahora que hemos completado la instalación, necesitamos abrir Unity y agregar esta herramienta a nuestro proyecto.

Se te presentará el siguiente diálogo de Unity. Deja todo seleccionado y haz clic en el botón Importar. botón:

Verás que se creó una nueva carpeta en la jerarquía de tu Proyecto:

Querrás estar seguro de que tienes tus Ajustes de Compilación configurados para utilizar Visual Studio adecuadamente, tal como se indica más abajo. Asegúrate de tener marcados “Unity C# Projects” y “Development Builds” (Compilación de desarrollo):

Ahora estás listo para escribir scripts y depurar utilizando Visual Studio. Recuerda: el proceso de instalación solo era necesario para las versiones de Unity anteriores a la 5.2.

Escritura de scripts y depuración en Visual Studio

Si haces doble clic en un script en Unity, se iniciará Visual Studio. Por ejemplo, si seleccionáramos el script Shooter.cs y lo lanzáramos en Visual Studio, veríamos lo siguiente

Ahora, si quisiéramos depurar la llamada GetButtonDown, que inicia el tiro de pelotas, podríamos agregar un punto de corte en la línea 12 y luego hacer clic en Adjuntar a Unity botón:

Ahora, nuevamente en Unity, todo lo que necesitas hacer es hacer clic en el botón Jugar y el juego se iniciará. Ya que sabemos que Actualización se iniciará, veremos la pausa del juego en la línea 12 en Visual Studio si hacemos clic en el botón izquierdo del mouse:

Tu flujo de trabajo con depuración es el mismo que con cualquier proyecto Visual Studio.

Depurador de gráficos

Visual Studio 2015 viene con un muy potente depurador de gráficos que te permitirá optimizar tu juego.

En primer lugar, asegúrate de que cuentas con Graphics Tools agregado a tu sistema. En Windows, dirígete a Ajustes, selecciona Sistema, selecciona Aplicaciones y Funciones, selecciona Manejar funciones opcionales. Si está instalado, tendrías que ver Graphic Tools:

Si no lo tienes, selecciona Agregar una función y, en la lista, haz clic en Graphic Tools (Herramientas gráficas). Por favor, consulte la documentación MSDN en Herramientas de diagnóstico de gráficos si tienes problemas para instalarlas.

Necesitarás usar el proceso de compilación Visual Studio desde Unity y abrir el juego usando Visual Studio a fin de usar Graphics Tools. Dentro de Visual Studio, puedes utilizar esta herramienta del menú haciendo clic en Depurar | Gráficos | Iniciar depuración de gráficos, como se muestra más abajo:

Cuando el juego se inicie, se te presentará la siguiente UI:

Haz clic en el ícono Capturar Frame para capturar el frame actual del juego. Puedes capturar diversas partes de tu juego.

Al hacer doble clic en un Frame, se te presentará el análisis de los detalles relacionado con dicho frame. Puedes avanzar y retroceder en los draw calls (llamados de dibujo) en el panel Graphics Event List (Lista de Eventos Gráficos), además de seleccionar píxeles individuales y ver el panel Graphics Pixel History (Historial de Píxeles de Gráfico):

Ten en cuenta que el archivo de diagnóstico de gráficos puede volverse muy grande. Si deseas más información, puedes visitar Visual Studio Graphics Diagnostics (Diagnóstico de Gráficos de Visual Studio).

Generación de Assets en la Windows Store

Para que sea posible enviar tu aplicación a la Windows Store, necesitarás proporcionar imágenes del tamaño adecuado. Existe una Extensión de Visual Studio que te vendrá muy bien para esta ocasión: el UWP Tile Generator (Generador de Mosaicos UWP). Podrás seleccionar una imagen y creará todos los tamaños que necesites en un archivo zip.

Comprendiendo las diferencias entre las aplicaciones Unity y UWP

Unity usa un framework llamado Scripting backend para dar soporte al scripting. Actualment da soporte a tres backends: Mono, .NET e IL2CPP. Cuando tu aplicación se dirige a la Windows Store, solo están disponibles .NET e IL2CPP. Puedes seleccionar el Scripting Backend haciendo clic en el botón Configuraciones del Reproductor desde la ventana Ajustes de Compilación en Unity.

En el Unity IDE, los scripts que usan .NET hacen referencia a la versión 3.5 de .NET. Sin embargo, si exportas tu juego a Visual Studio, todo tu código C# se compilará con .NET Core, que es un subconjunto de la versión 4.5 de .NET. ( Nota: Sin embargo, si usas IL2CPP como scripting backend, tu app de Windows Store seguirá usando .NET 3.5.) Para ilustrar esto, intenta escribir la siguiente línea de código en un script de Unity:

        
          System.Collections.SortedList lst = new SortedList();
        
      

Cuando túF12 en la SortedList en Visual Studio para ver la definición de tipo, verás que esta clase se encuentra en la biblioteca mscorlib.

Si insertas el mismo código en tu proyecto exportado y F12 en el SortedList tipo, verás que esta versión de la clase se encuentra contenida en un paquete NuGet que es parte de .NET Core.

Anteriormente, esto podía provocar problemas en caso de haber tipos o métodos en .NET 3.5 que no estuviesen en .NET Core. Esto, a su vez, requería bibliotecas auxiliares como WinRT Legacy para llenar los vacíos y proporcionar no solo tipos sino también métodos de extensión.

Consejo: Ten cuidado con las guías para los tipos faltantes entre Unity y .NET Core. Muchas están desactualizadas y no son necesariamente exactas.

Si bien es importante comprender esta diferencia esencial entre Unity y UWP, los problemas con los tipos y métodos faltantes al portear desde .NET 3.5 a .NET Core siguen mejorando a medida que .NET Core se desarrolla. Por ejemplo, System.Threading.Tasks, que se introdujeron después de .NET 3.5, son parte de .NET Core. Es posible que también encuentres problemas si lo haces de otra manera mientras intentas implementar prestaciones de .NET Core que están ausentes en .NET 3.5.

Cabe observar que si usas IL2CPP como tu scripting backend, la superficie API entre el editor de Unity y tu app de Windows Store será completamente igual.

Prestaciones específicas de la plataforma

Debido a que Unity y la Plataforma Universal de Windows (UWP) son plataformas distintas, la portabilidad entre ellas involucra tanto ventajas como desafíos.

Optimización del rendimiento

Las apps usan .NET Native, que genera un código de máquina optimizado y nativo. Esto lleva a tiempos de lanzamiento más rápidos y a menor consumo de batería para tus juegos. El impacto de estas optimizaciones diferirá dependiendo de la complejidad de tu juego, pero los juegos de Unity que usan el scripting backend .NET tienden a beneficiarse de ellas. En un proyecto de generación de juegos, solo la configuración de compilación "Master" compilará a .NET Native.

Directivas

Si quieres invocar un UWP Toast o un Tile de tu juego, ¿cómo lo harías? Estas prestaciones no son parte de .NET 3.5, el scripting backend que se usa cuando desarrollas en Unity. En este caso, parecería como si tu código fuese a funcionar bien una vez que lo exportes a Visual Studio pero nunca funcionaría en el Unity IDE.

Para resolver problemas como este, Unity te ofrece una biblioteca UnityEngine.WSA, que contiene clases de muestras como Aplicación, Cursor, Lanzador, Tile y Toast. Puedes programar con estos tipos en tus scripts C# de Unity para interoperar entre Unity y UWP.

Una segunda técnica para gestionar prestaciones que faltan en .NET 3.5 es usar la directiva NETFX_CORE en tus scripts. Esta directiva se usa para ignorar bloques de códigos que saben que no se compilarán en .NET 3.5 pero que necesitas que estén en tu juego cuando compiles con .NET Core. El siguiente ejemplo, que puede ser encontrado en el repositorio en el bitbucket de Unity, demuestra cómo el código que fallaría en el Unity IDE puede ser ignorado por medio de directivas.

        
          #if NETFX_CORE
          async
          #endif
          void UpdateTile(byte[] png150x150)
          {
          #if NETFX_CORE
              // In order to change tile image, we should change the uri too
              // in this example we store images in applications local storage
              // we must also take care of cleaning it up
              StorageFolder localFolder = ApplicationData.Current.LocalFolder;
              StorageFolder tilesFolder = null;
              try
              {
                  tilesFolder = await localFolder.GetFolderAsync("tiles");
              }
              catch (Exception)
              { }
              if (tilesFolder != null)
                  await tilesFolder.DeleteAsync();
              tilesFolder = await localFolder.CreateFolderAsync("tiles");
              string tileFile = "tile" + counter++ + ".png";
              StorageFile file = await tilesFolder.CreateFileAsync(tileFile, CreationCollisionOption.ReplaceExisting);
              await FileIO.WriteBytesAsync(file, png150x150);

              string txt = textToTile ? text : "";
              Tile.main.Update("ms-appdata:///local/tiles/" + tileFile, "", "", txt);
          #endif
          }
        
      

En ocasiones, es posible que desees ser más específico y usar la Unity_WSA_10_0 directiva en lugar de depender de NETFX_CORE. Si bien la última es una directiva para cualquier app de la Windows Store, Unity_WSA_10_0 se usa especialmente para dispositivos basados en Windows.

Escritura de plugins

Los plugins pueden ser afectados también por las diferencias entre .NET 3.5 y .NET Core. A veces el código es compatible y no tendrás dificultades. Sin embargo, si no lo es, Unity te permite configurar tu app de forma tal que dos versiones diferentes de un mismo plugin puedan ser usadas, una para el Unity IDE (que se basa en APls .NET 3.5) y la otra para el juego completo (que se compila con .NET Core).

Para implementar múltiples plugins, debes cumplir con determinadas reglas. Tus plugins deben compartir el mismo nombre y tener el mismo número de versión de ensamble. Los dos plugins también deben estar ubicados en carpetas independientes. Por ejemplo, tu plugin compatible con el Editor debe ir en ..\Assets\Plugins\MyPlugin.dll, mientras que el plugin específico de UWP va en ..\Assets\Plugins\WSA\MyPlugin.winmd.

También tienes que configurar la versión de tu plugin escrito para el Editor como el marcador de posición para tu plugin de .NET Core, lo que permite a Unity saber qué biblioteca es la muestra y cuál es la versión activa que se desplegará en la Windows Store.

Selecciona Assets\Plugins\MyPlugin.dll en su Unity Project Explorer y marca Editor como la plataforma.

Después, anda a Assets\Plugins\WSA\MyPlugin.winmd y selecciona Windows Store Apps como la plataforma correcta para ese plugin.

Para ayudar a aclarar este proceso, revisaremos la creación de un conjunto de plugins.

Abre Visual Studio 2015 y crea un proyecto nuevo, al que llamarás "MyPlugin". Usa la plantilla de proyectos para un Visual C# | Windows | Universal | Componente de Windows Runtime. (También podrías usar una Biblioteca de clases plantilla para proyectos, en su lugar, pero el componente de Windows Runtime tiene algunas prestaciones interesantes, como poder ser usado desde cualquier proyección de idioma de runtime de Windows, lo que proporciona beneficios adicionales.)

Haz clic derecho en tu solución y selecciona Agregar -> Proyecto nuevo Esta será la versión de muestra de la biblioteca que se usará solo en el editor de Unity. Debido a que se compilará con .NET 3.5, tiene que crearse usando la Visual C# | Windows | Escritorio clásico | Biblioteca de clases plantilla de proyectos. Llama a este proyecto "MyPluginStub", ya que no puedes usar el mismo nombre para los dos proyectos en la misma solución.

Debido a que las dos bibliotecas tienen el mismo nombre, tendrás que configurar el archivo de salida para MyPluginStub como MyPlugin, al igual que tu otro proyecto. Para hacer esto, haz clic derecho en el proyecto MyPluginStub en Solution Explorer y selecciona Propiedades. En la pestaña Application, sustituye tanto el campo Assembly Name (Nombre de ensamblaje) como el campo Default namespace (Espacio de nombres predeterminado) por "MyPlugin" de forma que coincida con el otro proyecto. Mientras haces esto, también deberías cambiar el campo Target framework (Framework objetivo) por “.NET Framework 3.5”.

Borra los archivos Class1.cs que Visual Studio creó para cada uno de tus proyectos. Después, crea una clase nueva en el proyecto MyPlugin Windows Runtime Component llamado "Foo.cs". En lugar de crear una clase similar para el proyecto Windows Desktop, vamos a compartir Foo.cs agregándolo como un archivo Vinculado.

Ahora puedes editar el mismo archivo físico, Foo.cs, desde el proyecto MyPlugin así como el proyecto MyPluginStub. Analiza el archivo en el editor de códigos de ambos proyectos. Notarás que cuando lo observas desde MyPluginStub, Visual Studio colocará garabatos de color rojo alrededor de tu declaración en uso para System.Threading.Tasks Esto obedece a que el tipo existe en .NET Core pero no existe en .NET Framework 3.5.

Podríamos simplemente borrar esa línea para corregir el error debido a que no tenemos pensando usarla. En cambio, sin embargo, vamos a probar una directiva para demostrar cómo funciona. Sustituye la declaración en uso para las Tasks (Tareas) con las tres líneas de código siguientes.

        
          #if NETFX_CORE
            using System.Threading.Tasks;
          #endif
        
      

Después de agregar esto, debes entender que los proyectos se compilarán una vez más. Todavía necesitamos un método para la clase Foo. Como es natural, la llamaremos barra. La barra debe devolver un mensaje si se le invoca desde el editor de Unity y otra distinta si se le invoca dentro del Windows Runtime Component. Agrega la siguiente implementación del método de barra para tu clase Foo. (A medida que lo hagas, agrega también la palabra clave "sealed" (sellado) a tu declaración de clase cuando los Runtime Components así lo requieran.)

        
          public sealed class Foo
            {
              public string Bar()
              {
                #if NETFX_CORE
                  return "Windows Store version of the plugin.";
                #endif
                  return "Unity Editor version of the plugin.";
              }
            }
        
      

Compila las dos bibliotecas.

A continuación, configurarás tu proyecto de Unity de forma que use estas bibliotecas. Abre tu proyecto en Unity y crear una carpeta nueva en Assets llamada Plugins. Debajo de Plugins, crea otro directorio llamado WSA (abreviatura que corresponde a Windows Store Application). Encuentra el archivo MyPlugins.dll de tu proyecto MyPluginsStub y arrástralo a ..\Assets\Plugins. Después encuentra el archivo MyPlugins.winmd que compilaste y arrástralo a ..\Assets\Plugins\WSA.

Haz clic en Plugins\MyPlugin en el panel de assets. Esto hará que se muestre MyPlugin Import Settings en el panel del Inspector. Deselecciona "Any Platform" (Cualquier plataforma) y, en su lugar, selecciona Editor. Esto le indicará al IDE que esta es la versión de la biblioteca que debe ejecutarse cuando estés en el Editor de Unity.

Seguidamente, baja un nivel y selecciona Plugins\WSA\MyPlugin. El inspector ya debe haber seleccionado el WSAPlayer por ti y no otras plataformas. Esto le indica a Unity que esta es la versión de la biblioteca que quieres que se publique en la Windows Store. Baja al campo Marcador de posición y encuentra tu biblioteca de muestras en la raíz de la carpeta Plugins. Al hacerlo, explicas la relación entre las dos bibliotecas. Plugins\MyPlugin.dll es el marcador de posición para tu biblioteca actual, Plugins\WSA\MyPlugin.winmd.

Es hora de probar las dos bibliotecas para asegurarnos de que hayan sido configuradas correctamente en Unity. Crea un Script C# nuevo en Unity llamado "TestFooBar". Crea una instancia privada de la clase Foo y escribe el valor de retorno de la Barra en el Logger.

        
          using UnityEngine;
          using System.Collections;
          using MyPlugin;

          public class TestFooBar : MonoBehaviour {

            private Foo testFoo = new Foo();
             // Use this for initialization
               void Start () {
                  Debug.Log(testFoo.Bar());
                }

            // Update is called once per frame
              void Update () {

              }
            }
        
      

Finalmente, arrastra este script a uno de tus objetos de juego, como Reproductor, para adjuntarlo. Esto garantizar que el método de Inicio del script será invocado. Ejecuta el juego en Unity, y si todo marcha conforme a lo previsto, verás el mensaje correcto en el panel Consola.

Finalmente, anda a ventana Ajustes de Compilación y haz clic en el botón Build (Compilar) para exportar tu proyecto a Visual Studio.

Esta vez, ejecuta tu juego a través de Visual Studio y verás el siguiente mensaje en tu Ventana de salida de Visual Studio:

Este ejemplo de plugin es la base de casi todas las interacciones entre la Universal Windows Platform (UWP) y Unity. Si logras que aparezcan los mensajes correctos en tus consolas, entonces sabes casi todo lo debes saber para encapsular el código UWP y acceder a este desde tu juego de Unity.

Publicidad

Puedes ejecutar Microsoft Ads como un plugin de Unity descargando e instalando Plugins de Unity para Windows Store y Azure Services. El plugin contiene también APl para compras dentro de la aplicación, comprobaciones de licencias y validación de recibos.

La forma más sencilla de usar los plugins de Unity para la Windows Store es descargar el paquete de Unity desde GitHub e importarlo a tu app mediante Assets | Importar paquete | Paquetes personalizados en el Editor de Unity. Una vez que hayas importado el paquete, tendrás los binarios correctos en la carpeta Unity Plugins y en la carpeta Unity Plugins\WSA

De manera alternativa, puedes usar la extensión más reciente del SDK de Microsoft Store Engagement and Monetization desde tu app UWP exportada para mostrar banners publicitarios y anuncios superpuestos en video. El SDK de Microsoft Store Engagement and Monetization integra las prestaciones de publicidad del SDK de Microsoft Universal Ad Client con otras prestaciones relacionadas con servicios de la Tienda en un solo instalador unificado.

Analytics

La recopilación de análisis acerca de tus jugadores puede hacerse a través de la plataforma de Unity o a través de la Plataforma Universal de Windows (UWP). También puedes optar por usar ambas plataformas juntas para recopilar datos complementarios. Si quieres ir a la ruta de Unity, tendrás que vincular tu proyecto con una Unity Services ID y, a continuación, habilitar el análisis para tu proyecto. Puedes encontrar más información al respecto en el Manual de Unity.

Una vez que hayas desplegado tu juego, los datos serán recopilados en forma automática para ti en tu Windows Dev Center Dashboard. El panel de control te mantendrá actualizado con informes acerca de:

  • Adquisiciones
  • Salud
  • Valoraciones
  • Opiniones
  • Retroalimentación
  • Uso
  • Adquisición de IAP
  • Mediación de anuncios
  • Rendimiento de la publicidad
  • Anuncios para instalar apps
  • Canales y conversiones

Si está habilitado, incluso podrás ver la telemetría de uso para tu juego.

Finalmente, también puedes usar REST APl para ver estos análisis de una forma que resulte más útil sin necesidad de pasar por el Windows Dev Center.

Compras dentro de la aplicación (IAP)

Debido a que los juegos de Unity que se exportan a la Plataforma Universal de Windows (UWP) se basan en dos plataformas, Unity y UWP, tendrás dos opciones para habilitar las compras dentro de la aplicación. Puedes usar Unity IAP o la Plugins de Unity para Windows Store y Azure Services.

Para usar Unity IAP, tendrás que configurar una Unity Services Project ID a través de la ventana Services (Servicios) de Unity. Esto te guiará a través de una serie de diálogos para habilitar tus IAP para Windows Store. Encontrarás más detalles en el sitio web de Unity. Ten presente que Unity IAP no funcionará con el backend de scripting IL2CPP.

Con los plugins de Unity para Windows Store, usas la Store APl para recuperar tus listados desde dentro de un archivo de script de Unity. Primero tendrás que crear In-App Products (Productos dentro de la aplicación) para tu app a través del Windows Store Dev Center. Después puedes actualizar tu app de forma que consigne y permita compras de tus IAP. La llamada esencial, realizada a través del plugin, requiere que invoques el LoadListingInformation método para recuperar tus In-App Products (Productos dentro de la aplicación), tal como se observa en el ejemplo de código a continuación.

        
          Store.LoadListingInformation((response) =>
          {
            if (response.Status == CallbackStatus.Failure)
              {
                prettyPrintErrors("LoadListingInformation", response);
                return;
              }

            prettyPrintSuccess("LoadListingInformation", response);
            text.text = "\nFinished Loading Listing Information" + text.text + "\n";
            Debug.Log(response.Result.Description.ToString());
            foreach (var productListingKey in response.Result.ProductListings.Keys)
              {
                Debug.Log("Key: " + productListingKey + " value: " + response.Result.ProductListings[productListingKey].Name);
              }
          });
        
      

Puedes encontrar ejemplos de implementaciones completas que demuestran el uso de la Store APl en GitHub.

Mejores prácticas

A medida que completes los aspectos básicos de tu juego, seguramente querrás pulirlo de cierta forma para que tu app esté lista para la familia de dispositivos Windows 10. En esta sección, cubriremos distintas mejores prácticas que facilitan el despliegue en la Windows Store.

Pantalla de inicio y progreso de la carga

Cuando tu juego se inicia, es importante mostrar un indicador de progreso de forma tal que el usuario sepa que el juego no está congelado o parado.

En este documento, asumiremos que estás usando un proyecto XAML. Si no lo estás haciendo, la mayoría de los conceptos que presentamos aquí se aplicarán también a un proyecto DirecX, pero las implementaciones serán algo diferentes.

Hay dos etapas claves en la carga de un juego en Windows Store usando Unity

  1. Pantalla de inicio de la app
  2. Experiencia de pantalla de inicio extendida

El OS mostrará la imagen de la pantalla de inicio inicial y tú puedes configurarla actualizando tu manifiesto de aplicaciones tal como se indica a continuación:

Windows mostrará la pantalla de inicio inicial de la app solo durante el tiempo que tome al OS cargar la Página (escrita en XAML markup) que aloja tus escenas de Unity.

Por lo general, la escena de Unity tomará más tiempo en cargar. Para crear una experiencia inicial extendida, querrás usar XAML para mostrar la misma imagen inicial nuevamente con un indicador de progreso en el extremo superior de forma que el usuario sepa que se están cargando escenas de Unity. En MainPage.xaml, agregarás una barra de progreso a lo largo de la imagen inicial.

        
          <SwapChainPanel x:Name="DXSwapChainPanel">
            <Grid x:Name="ExtendedSplashGrid" Background="#222C37">
              <Image x:Name="ExtendedSplashImage" Source="Assets/SplashScreen.png" 
                VerticalAlignment="Center" HorizontalAlignment="Center"/>
              <ProgressBar x:Name="SplashProgress" Foreground="#FFFFFFFF" 
                Background="#FF333333" Maximum="10000" Width="320" Height="25"/>
            </Grid>
          </SwapChainPanel>
        
      

En MainPage.xaml.cs, el código detrás del archivo para la XAML UI, usa el constructor para iniciar un temporarizador que hará que la barra de inicio muestre una marca y brindará también cierta retroalimentación visual al usuario.

Factor de forma del dispositivo

Un código base entre muchos factores de forma es una prestación clave de la Plataforma Universal de Servicios (UWP), pero los juegos todavía requieren ciertas adaptaciones y optimizaciones para factores de forma específico. Con bastante frecuencia, estos incluyen mecanismos de entrada (por ejemplo, táctil, teclado, mouse, gamepad), redimensionamiento de ventanas, optimización de recursos y assets e implementación de la integración de plataformas nativas con cada factor de forma específico.

Apoyo y orientación

Debido a la relación de aspecto de pantalla ancha que predomina en los dispositivos nuevos, el editor de Unity exportará proyectos cuya orientación, de manera predeterminada, es horizontal. Si tu juego soporta la orientación vertical, tendrás que cambiar el manifiesto de app en Visual Studio. No puedes hacer esto en el editor de Unity.

Para cambiar el manifiesto, haz doble clic en el Package.appxmanifest archivo, que puedes encontrar en la raíz de tu proyecto de Visual Studio en la Windows Store. En el editor de manifiestos, comprueba las orientación con la que deseas que sean compatibles tus proyectos.

Las APl de orientación (Input.deviceOrientation y Screen.orientation) funcionan bien dentro de Unity. Puedes usarlas para consultar la orientación del dispositivo e incluso definir la orientación para escenas específicas.

Soporte para ventanas

Las apps de la Plataforma Universal de Windows (UWP) están alojadas en ventanas redimensionables en lugar de ejecutarse en pantalla completa como lo hacían en Windows 8 y 8.1, por lo que la partición de la pantalla en ventanas ahora se considera para tus juegos y aplicaciones.

La mayoría de estas diferencias son transparentes para ti en tu calidad de desarrollador de Unity debido a que las propiedades Screen.height y Screen.width siguen dando cuenta del espacio disponible en tamaños nativos (píxeles).

Cuando el usuario cambia el tamaño de la ventana, la práctica recomendada es pausar el juego de forma tal que el usuario pueda decidir qué hacer a continuación. Debido a que las ventanas también pueden perder enfoque en el modo Desktop, donde numerosas ventanas pueden estar abiertas al mismo tiempo, deben manejar los cambios de enfoque y hacer una pausa cuando la ventana de tu juego pierda enfoque.

Pausando y reanudando tu juego

En Windows, el motor de juegos Unity normalmente se encarga de pausar y reanudar automáticamente cuando tu juego pierde enfoque. En escenarios donde es posible que desees pausar el juego además de la suspensión automática de la aplicación, como durante la navegación entre páginas XAML, puedes invocar el UnityPause método.

Si necesitar hacer algo más cuando la aplicación está por hacer una pausa, OnApplicationPause en su lugar haz un callback en tus scripts.

Entrada para gamepad y mouse

La familia de dispositivos de Windows es compatible con una amplia gama de entradas, desde teclado y mouse hasta táctil y gamepads. Por suerte, todos estos modos de entrada no solo son totalmente compatibles con Unity sino que también están bien resumido en el Input Manager de Unity.

En el modo shooter de nuestro juego Basketball, esperamos que se disparen los ejes de input "Fire 1" antes de hacer que el juego lance una pelota.

        
          void Update()
            {
              if (Input.GetButtonDown("Fire1"))
              {
                var instance = (Rigidbody)Instantiate(this.prefab, transform.position 
                        + (transform.forward * 1.05f), transform.rotation);
                instance.velocity = (transform.forward + transform.up / 2) * this.speed;
              }
            }
        
      

"Fire 1" está efectivamente mapeado, de manera predeterminada, tanto para el botón izquierdo del mouse como para el botón del gamepad/joystick tal como se observa a continuación en el Input Manager. Para ver el Input Manager en el Unity IDE, seleccione Editar -> Configuración del proyecto -> Input.

En un controlador Xbox One, el "botón 0 del joystick", que se mapea a "Fire 1", sucede que es el botón A. Hay también inputs que ya están mapeadas al componente FPSController para movimientos y saltos. Los movimientos del mouse, las teclas izquierda, derecha, arriba y abajo del teclado, así como las teclas a, d, s y w, y el joystick izquierdo en el controlador de Xbox One hacen que el jugador se mueva. De manera predeterminada, el botón derecho del mouse, la barra espaciadora y el botón B del Xbox hacen que el jugador salte.

También puedes personalizar aún más tus inputs para conseguir experiencias personalizadas remapeando inputs a ejes o inclusive añadiendo más ejes para tu juego. Puedes obtener más información acerca de los ejes virtuales en el Manual de Unity.

Conclusión

Este documento te ha mostrado cómo configurar y exportar tu juego de Unity a un proyecto de Plataforma Universal de Windows (UWP) en Visual Studio. Ha desarrollado también cómo enviar tu juego UWP a la Windows Store. Hemos desarrollado algunas de las diferencias sutiles entre la plataforma de Unity y la Plataforma Universal de Windows. Hemos desarrollado también códigos y prestaciones específicos de la plataforma que debes conocer en tu calidad de desarrollador de juegos. Finalmente, este documento ha desarrollado las mejores prácticas para pulir tu juego para su publicación.

Referencias

Regresar arriba
Lo tengo

Usamos cookies para asegurarnos de brindarte la mejor experiencia en nuestro sitio web. Haz clic aquí para obtener más información.