Tabla de contenidos

Introducción

En el último año más o menos, la Unidad se ha convertido en una herramienta popular para la creación de aplicaciones de RA, ya que hace las cosas relativamente sencillo para los desarrolladores para hacer las cosas de arriba a correr. Uno de los obstáculos, sin embargo, es que muchos desarrolladores no son exactamente los expertos en activos y modelado 3D de compra pueden ser muy costosos. Google se dispuso a solucionar este problema mediante la creación de Poli, que es una API para acceder y gestionar 3D modelos diseñados para la AR y VR aplicaciones. La mejor parte de todo es que Poli tiene su propio conector de la unidad y un desarrollador puede ir de cero experiencia como modelo para tener un juego completo poblada de activos en unos pocos clics cortos. Si usted es un desarrollador de juegos que está bien en secuencias de comandos, pero en realidad nunca consigue más allá de los “cubos de marcador de posición” fase de su proyecto, Poly es exactamente el tipo de herramienta que se necesita para su próximo juego.

El kit de herramientas Poli por la Unidad tiene una gran biblioteca de activos que se pueden utilizar en sus proyectos AR o VR. También puede cargar sus propios activos para compartir o utilizar de forma privada. Poli también tiene una API REST para la carga dinámica de los activos en tiempo de ejecución, lo que abre todo un mundo de posibilidades a la hora de hacer juegos.

No se pierda! extremos de la oferta en

  • Accede a los más de 200 cursos
  • Nuevos cursos añadió mensual
  • Cancelar en cualquier momento
  • Los certificados de terminación

    ACCESO ahora

    Cómo Poly y creación de una nueva Unidad de Proyecto

    En primer lugar, antes de empezar con Poli en nuestra aplicación AR, tenemos que descargar el plugin. A continuación, vamos a crear un nuevo proyecto de la Unidad. Estoy usando Vuforia para mi cámara AR, y si no lo tienes instalado, te recomiendo que veas este primer tutorial. El uso de una cámara de AR no es absolutamente necesario el uso de Poly, pero todos los activos 3D fueron diseñados con proyectos AR y VR en mente.

    Para que el poli plugin para funcionar correctamente en la unidad, tenemos que permitir “código no seguro”, vaya a Archivo> Generar Configuraciones> Otros ajustes y marcando la casilla.


    Ahora vamos a ir a Activos>> Importar paquete paquete personalizado e importar el archivo .unitypackage que acaba de descargar. Después de que las instalaciones de paquetes, la ventana Poli debe abrir y que son buenos para ir. Ahora podemos utilizar la API de Poli en nuestro Proyecto Unidad! Si sólo están interesadas en importar manualmente modelos 3D en su juego Unidad, esto es todo lo que necesita. Se puede acceder a la biblioteca haciendo clic Poli Poli> buscar recursos en el menú de la Unidad. No se requiere una cuenta o una clave de API para utilizar Poli para seleccionar manualmente 3D modelos e importarlos en su proyecto Unity, sólo asegúrese de dar crédito a los creadores modelo de acuerdo a la licencia CC-BY.

    Importación de recursos en Tiempo de redacción

    El plugin poli viene con una biblioteca de interfaz gráfica de usuario agradable a la vista a través. Vamos a añadir una hamburguesa en nuestra opinión mediante la búsqueda de “hamburguesa” y importarlo en nuestro proyecto. Verá que la biblioteca de poli contiene tanto los activos realizadas por Google y los activos de otros usuarios Poly .. Puede cargar sus propios activos para Poli compartir con otros desarrolladores o para utilizar de forma privada en su propio proyecto.


    Poli incluso hace que la atribución de los artistas 3D modelo fácil mediante la generación de un archivo de atribuciones. Vamos a ir a Poli> Actualización de archivos de atribuciones y en nuestros activos carpeta debemos ser capaces de encontrar nuestro archivo Attributions.txt con el buen CC-BY atribución de nuestra hamburguesa con queso.


    Importación de recursos en tiempo de ejecución

    Una de las características más interesantes de Poli es que tenemos la capacidad de cargar activos de forma dinámica en tiempo de ejecución con las solicitudes de API simples. Esto puede hacer una gran diferencia en la cantidad de recursos que utiliza su juego. Esto también hace que el cambio de los activos tan fácil como cambiar una línea de código, en lugar de importar nuevos modelos 3D a su proyecto Unity.

    oportunidad y Vamos a importar una nueva activos durante el tiempo de ejecución de nuestro juego con la API de Poly.

    Para hacer esto necesitaremos primero para obtener una clave de API. Vamos a la cabeza de más de Google a la consola de desarrollo si no tiene uno ya, crea una cuenta de Google y también se crea un nuevo proyecto para nuestra aplicación Unidad. Una vez creado, haga clic en el botón “Crear credenciales” en el panel de control para obtener una clave de API.


    A continuación, tenemos que pegar la llave de la API en la configuración de tiempo de ejecución Poli yendo a Poli> Configuración del juego de herramientas Poly> Tiempo de ejecución. Para hacer peticiones a la biblioteca de activos Poly, sólo tenemos que crear una clave de API. Si usted está interesado en la carga y el acceso a los bienes privados, entonces usted tendrá que crear un ID de cliente y el secreto OAuth de cliente para recibir las señales apropiadas.


    Ahora que tenemos nuestra clave de API en nuestro proyecto, podemos utilizar el kit de herramientas Poly. Otra cosa que tendremos que hacer es habilitar el kit de herramientas de poli yendo a Activos / PolyToolkit / casas prefabricadas y agregarlo a nuestra escena. Con el fin de hacer solicitudes de la API y los activos de carga en tiempo de ejecución necesitaremos esto en cada escena que utiliza Poly.

    Ahora que ya está todo listo para hacer una solicitud de API, vamos a empezar tan simple como sea posible al hacer una petición para una determinada modelo 3D. Abre la ventana de Poli y la búsqueda de la rosquilla en la biblioteca de activos API Poly. Cuando se selecciona el modelo que verá una ubicación de importación, esta ubicación contiene la identificación única del modelo. Esto es lo que vamos a utilizar para nuestra petición.


    Vamos a crear un guión básico para hacer la petición a la API de Poli usando el ID del modelo. Crear un nuevo C # script haciendo clic derecho en el navegador activo Unidad. Para este tutorial he creado un script llamado loadNewAsset.cs y unido a mi escena como un componente.


    Dentro del archivo loadNewAsset.cs, vamos a crear una nueva solicitud utilizando el ID del modelo de rosquilla. Asegúrese de incluir ‘usando PolyToolkit;’ antes de crear la clase. Pasaremos en el ID como una cadena. Por ahora sólo vamos a utilizar las opciones por defecto para nuestra importación.
    utilizando System.Collections; usando System.Collections.Generic; usando UnityEngine; usando PolyToolkit; loadNewAsset clase pública: MonoBehaviour {void start () {PolyToolkit.PolyApi.GetAsset ( «activos / 5ApDrJhdXcG», // ← resultado de id => {PolyApi .Import (result.Value, PolyImportOptions.Default ());}); }} 1234567891011121314usingSystem.Collections; usingSystem.Collections.Generic; usingUnityEngine; usingPolyToolkit; publicclassloadNewAsset: MonoBehaviour {voidStart () {PolyToolkit.PolyApi.GetAsset ( «activos / 5ApDrJhdXcG», // ← idresult => {PolyApi.Import (result.Value , PolyImportOptions.Default ());});}}

    < / p>

    Nos debe ver a un aspecto deliciosa rosquilla espolvoreada en nuestra pantalla. Si no lo ve, asegúrese de que usted tiene la prefabricada PolyToolkit añadió a la escena y también asegurarse de que su C # script que contiene la solicitud se incluye en la escena también. Dado que en realidad no almacenamos nuestra rosquilla en cualquier lugar después de la solicitud, desaparecerá una vez que dejar de ejecutar la escena y accionar algunas advertencias de la consola, pero como se puede ver, un activo se pueden cargar en nuestra escena con sólo un par de líneas de código!

    ¿Qué pasa si no queremos pasar por la molestia de agarrar el ID manualmente? Pues bien, con la API de poli podemos simplemente hacer una consulta para buscar la biblioteca de activos para nosotros! Vamos a seguir adelante y cambiar nuestro código para que podamos hacer una solicitud de buñuelos helados e importar los tres primeros resultados.
    utilizando System.Collections; usando System.Collections.Generic; usando UnityEngine; usando PolyToolkit; loadNewAsset clase pública: MonoBehaviour {public int assetCount = 0; vacío Inicio () {// Crear una nueva solicitud req = PolyListAssetsRequest nueva PolyListAssetsRequest (); // Buscar por palabra clave req.keywords = «donuts esmerilado»; // Realizar la solicitud con una función de devolución de llamada PolyApi.ListAssets (req, GetDonuts); GetDonuts} private void (PolyStatusOr resultado) {// establecer opciones para la importación por lo que los activos son los tamaños no locas opciones PolyImportOptions = PolyImportOptions.Default (); options.rescalingMode = PolyImportOptions.RescalingMode.FIT; options.desiredSize = 2.0f; options.recenter = true; // Detalle de lista de nuestros activos assetsInUse = new List (); // Recorrer la lista y mostrar los primeros 3 for (int i = 0; i resultado) {assetCount ++; // Línea de los activos hasta por lo que no se solapen result.Value.gameObject.transform.position = new Vector3 (assetCount * 2.5f, 0f, 0f); }} 1234567891011121314151617181920212223242526272829303132333435363738394041usingSystem.Collections; usingSystem.Collections.Generic; usingUnityEngine; usingPolyToolkit; publicclassloadNewAsset: MonoBehaviour {publicintassetCount = 0; voidStart () {// Crear un nuevo requestPolyListAssetsRequest req = newPolyListAssetsRequest (); // Búsqueda por palabra clave req.keywords =» rosquilla esmerilado «; // hacer la petición de devolución de llamada con un functionPolyApi.ListAssets (req, GetDonuts);} privatevoidGetDonuts (PolyStatusOr <> PolyListAssetsResult resultado) {// Configuración de opciones para la importación por lo que los activos son opciones sizesPolyImportOptions no loco = PolyImportOptions.Default (); options.rescalingMode = PolyImportOptions.RescalingMode.FIT; options.desiredSize = 2.0f; options.recenter = true; // lista nuestra assetsList assetsInUse = newList (); // Recorrer la lista y mostrar la primera 3Pues (INTI = 0; i resultado) {assetCount ++; // Línea de los activos de modo que no lo hacen overlapresult.Value. gameObject.transform.position = newVector3 (assetCount * 2.5f, 0f, 0f);}}


    Como se puede ver, tenemos opciones de importación utiliza para asegurarse de que los activos se cargan de una manera determinada. En nuestro código especificamos el tamaño deseado y la posición que queríamos nuestros activos a la carga con. Hay más opciones para filtrar los resultados, si se quiere ser muy específico o si quieren limitar sus activos a un número de polígonos menor o mayor. También puede limitar la búsqueda por resultados destacados para asegurar que se obtiene modelos relevantes de su solicitud.

    Atribuciones

    El CC-BY licencia requiere que se reconozca debidamente al creador original y Poli hace que este sencillo, proporcionando tanto de forma manual para generar activos importados y un método para obtener la información de la API si está cargando activos de forma dinámica.

    Para actualizar manualmente las atribuciones, simplemente vaya a Poli> Actualizar atribuciones como se mencionó anteriormente y se generará un archivo .txt para usted. Esto es ideal para los usuarios que están Importación de recursos desde Poli en la edición de tiempo, y no durante el tiempo de ejecución del juego.

    Para actualizar las atribuciones durante el tiempo de ejecución de nuestra aplicación AR, podemos utilizar la información que nos ha dado la API cuando hacemos la solicitud.

    Vamos a ir por delante y modificar nuestra aplicación para mostrar texto en la pantalla y luego actualizar nuestro código para obtener la información de atribución de todos los bienes que se importan desde la solicitud de la API. En primer lugar, añadir un elemento de tela a la escena. A continuación, añadir un poco de texto a la lona y lo llaman “AttributionsText”. Vamos a dejar esto en blanco, ya que estará poblado por la información proporcionada por nuestra solicitud cuando el juego se ejecuta.


    ancla Vamos a un lado de nuestra pantalla y que sea lo suficientemente grande como para mostrar toda la información, es posible que tenga que hacer el tamaño de letra más pequeña o un color diferente para que pueda leer.


    Ahora vamos a actualizar nuestro código para agregar el objeto AttributionText a nuestra pantalla.
    loadNewAsset clase pública: MonoBehaviour {public int assetCount = 0; // referencia al elemento de texto Texto pública attributionsText; vacío Inicio () {PolyListAssetsRequest req = new PolyListAssetsRequest (); req.keywords = «rosquilla esmerilado»; req.pageSize = 10; PolyApi.ListAssets (req, GetDonuts); GetDonuts} private void (PolyStatusOr resultado) {PolyImportOptions opciones = PolyImportOptions.Default (); options.rescalingMode = PolyImportOptions.RescalingMode.FIT; options.desiredSize = 2.0f; options.recenter = true; Lista assetsInUse = new List (); for (int i = 0; i resultado) {assetCount ++; result.Value.gameObject.transform.position = nuevo Vector3 (assetCount * 2.5f, 0f, 0f); }} 12345678910111213141516171819202122232425262728293031323334publicclassloadNewAsset: MonoBehaviour {publicintassetCount = 0; // Referencia el texto elementpublicText attributionsText; voidStart () {PolyListAssetsRequest req = newPolyListAssetsRequest (); req.keywords = «donuts esmerilado»; req.pageSize = 10; PolyApi.ListAssets (req, GetDonuts);} privatevoidGetDonuts (PolyStatusOr resultado) {PolyImportOptions opciones = PolyImportOptions.Default (); options.rescalingMode = PolyImportOptions.RescalingMode.FIT; options.desiredSize = 2.0f; options.recenter = true; List assetsInUse = newList (); para (INTI = 0; i resultado ) {assetCount ++; result.Value.gameObject.tran sform.position = newVector3 (assetCount * 2.5f, 0f, 0f);}}

    Ahora debemos ver la atribución pantalla de información en nuestra pantalla! Debe incluir el título del activo, el autor, la URL que contiene el ID del modelo y la información de licencia.


    Ahora sabemos que junto con una gran colección de Libre 3D modelos para elegir, Poly también nos permite cargar en nuestra aplicación AR sobre la marcha y también se encarga de atribuciones. Esto debería ser suficiente para reactivar su proyecto AR junto con Poli.

    Poli es una gran herramienta para los desarrolladores de juegos para construir rápidamente aplicaciones AR poblada con muchos modelos diferentes en 3D. Es también grande para los desarrolladores de juegos que están tratando de ahorrar en tiempo y recursos mediante la adición de activos en su juego de forma dinámica con una simple API REST de Poly. Para ver algunas de las hermosas modelos 3D en la biblioteca Poly y que se hundía en una guía detallada y la referencia a la API, la cabeza a su página web.

    activos Poly utilizado en este tutorial:

    “Burger” por Poli por Google (Licencia: Creative Commons CC-BY)

    “donut” por LaZZe (Licencia: Creative Commons CC-BY)

    “dona 1” por Rachel aguja (Licencia: Creative Commons CC-BY)

    “Grandes de color rosa buñuelo helado” por Ruby “RubyDaSPLARK” (Licencia: Creative Commons CC-BY)

    “helada rosa sprinkeled rosquilla” por Chocapic 360 (Licencia: Creative Commons CC-BY)

    Mensajes relacionados

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *