Guía de desarrollo para Pico 4 Ultra
El flujo de trabajo de desarrollo de LCC para Pico 4 Ultra es esencialmente el mismo que el flujo de trabajo oficial de creación de proyectos VR de PICO; consulta la documentación del PICO Unity Integration SDK. Esta guía se basa en ese flujo para explicar cómo integrar el LCC Unity SDK para renderizar escenas 3DGS.
Requisitos de versión
Las versiones de software y paquetes utilizadas en esta guía se enumeran a continuación. Se recomienda desarrollar con las mismas versiones; otras versiones no probadas pueden tener problemas de compatibilidad:
| Software / Paquete | Versión | Descripción |
|---|---|---|
| Unity | v2022.3.62f3 | Usa Unity 2022 LTS |
| PICO Unity Integration SDK | v3.4.0 | Obtenido del canal oficial de PICO |
| LCC Unity SDK | v2.1.27 y posterior | La versión compatible con Built-in; descarga la versión compatible con Unity 2022 LTS |
Consulta Requisitos del entorno de desarrollo para obtener requisitos de hardware y software más detallados.
Nota:
- Debido a que el PICO Unity Integration SDK tiene graves problemas de rendimiento en el pipeline URP, se recomienda el pipeline de renderizado Built-in; consulta sus problemas conocidos.
- Si pruebas con Unity v6000.0.69f1 y descubres que la aplicación se congela o se cierra, cambia a Unity v2022.3 LTS: los dispositivos de la serie PICO 4 tienen problemas de compatibilidad con las aplicaciones que usan Unity 6 y Vulkan juntos; consulta sus problemas conocidos.
- La versión de Unity, la versión del PICO SDK y la versión del LCC SDK afectan al renderizado y al rendimiento; intenta mantener cada versión de software coherente con esta guía.
Flujo de trabajo de desarrollo
Paso 1: Crear el proyecto
En la plantilla de proyecto, selecciona el tipo 3D (Built-in Render Pipeline). Debido a que el PICO Unity Integration SDK tiene graves problemas de rendimiento en el pipeline URP, no selecciones el pipeline URP, como se muestra a continuación:

Crear un proyecto 3D (Built-in Render Pipeline)
Paso 2: Cambiar la plataforma
En el menú de Unity, selecciona Archivo → Build Profiles para abrir la ventana de compilación y cambia la plataforma a Android, como se muestra a continuación:

Cambiar la plataforma a Android en Build Profiles
Paso 3: Importar el PICO Unity Integration SDK
Descarga el PICO Unity Integration SDK desde el sitio web oficial de PICO e instálalo siguiendo el tutorial de PICO; también puedes importarlo directamente desde GitHub en https://github.com/Pico-Developer/PICO-Unity-Integration-SDK.git. Esta guía usa la versión v3.4.0, como se muestra a continuación:

Importar el PICO Unity Integration SDK v3.4.0
Paso 4: Importar el LCC Unity SDK
Abre la ventana UPM mediante el menú de Unity Ventana → Administrador de paquetes, haz clic en + a la izquierda, selecciona Instalar paquete desde disco en el menú desplegable, navega hasta el LCC Unity SDK y selecciona el archivo package.json para importarlo, como se muestra a continuación:

Importar el LCC Unity SDK mediante Instalar paquete desde disco
Paso 5: Configurar el entorno de Unity
Configurar XR Plug-in Management
En la barra de menús de Unity, selecciona Archivo → Ajustes del proyecto, selecciona XR Plug-in Management a la izquierda y marca Initialize XR on Startup bajo la pestaña de plataforma Android, como se muestra a continuación:

Marcar Initialize XR on Startup en XR Plug-in Management
Selecciona el elemento PICO bajo XR Plug-in Management y establece el Render Mode de la plataforma Android como MultiView, como se muestra a continuación:

Establecer el Render Mode de PICO como MultiView
Selecciona el elemento Project Validation bajo XR Plug-in Management y haz clic en Fix All para completar los ajustes necesarios (esto también puede omitirse y crearse manualmente más tarde), como se muestra a continuación:

Hacer clic en Fix All en Project Validation
Nota:
- Al hacer clic en Fix All se crean los GameObjects necesarios en la escena abierta actualmente, por lo que debes eliminar la Main Camera y la Directional Light de la escena.
- Este ejemplo solo corrige UIOrientation.LandscapeLeft; todo lo demás se crea manualmente.
Configurar el Keystore
El desarrollo de PICO requiere un Keystore. Ve a Player → pestaña Android → Publishing Settings → Keystore Manager, crea un nuevo Keystore y completa los ajustes, como se muestra a continuación:

Crear un nuevo Keystore en Keystore Manager
Establecer el nombre de la empresa y el nombre del producto
El desarrollo de PICO no permite el defaultCompany por defecto. En la pestaña Player, establece el Company Name y el Product Name correctos, como se muestra a continuación:

Establecer Company Name y Product Name
Configurar las opciones de calidad
En Ajustes del proyecto, selecciona la pestaña Calidad y establece Anti Aliasing = Disabled, Resolution Scaling Fixed DPI Factor = 0.7 y VSync Count = Don't Sync, como se muestra a continuación:

Desactivar el suavizado de bordes y establecer DPI Factor y VSync en la pestaña Calidad
Rellenar el AppID
En el menú de Unity, selecciona PICO → Platform → Platform Setting para abrir el panel de ajustes e introduce el AppID solicitado en la plataforma de desarrolladores de PICO en Paste your App ID here; consulta Crear una cuenta de desarrollador, organización y aplicación.

Introducir el AppID en PICO Platform Setting
Configurar Gráficos
En Ajustes del proyecto, selecciona la pestaña Gráficos, selecciona la plataforma Android y configura como se muestra a continuación:

Configurar la plataforma Android en la pestaña Gráficos
Configurar Player
En Ajustes del proyecto, selecciona la pestaña Player, selecciona la plataforma Android, establece Color Space = Gamma, desmarca Auto Graphics API y mantén solo Vulkan, con el resto de ajustes como se muestra a continuación:

Establecer Color Space como Gamma y mantener solo Vulkan para la API gráfica
Desplázate hacia abajo en la pestaña actual y establece Minimum API Level = Android 10.0, Scripting Backend = IL2CPP, API Compatibility Level = .NET Standard 2.1 y Target Architectures = ARM64, con el resto de ajustes como se muestra a continuación:

Establecer Minimum API Level, Scripting Backend, API Compatibility Level y Target Architectures
Continúa desplazándote hacia abajo en la pestaña actual y establece Active Input Handling = Input System Package (New), con el resto de ajustes como se muestra a continuación:

Establecer Active Input Handling como Input System Package (New)
Paso 6: Crear la escena
Crea una escena completamente nueva en Unity y elimina la Main Camera y la Directional Light. Haz clic con el botón derecho en un área vacía de la ventana Jerarquía y selecciona XR → XR Origin (VR) en el menú emergente para crear los objetos XR necesarios.
Selecciona el objeto XR Origin (VR) y añade el componente PXR_Manager mediante Agregar componente en la ventana Inspector, y configura sus propiedades relacionadas como se muestra a continuación:

Añadir y configurar el componente PXR_Manager en XR Origin (VR)
Selecciona el objeto XR Origin (VR) y, en el componente XR Origin de la ventana Inspector, establece Tracking Origin Mode como Floor, con el resto de propiedades como se muestra a continuación:

Establecer Tracking Origin Mode del componente XR Origin como Floor
Selecciona la Main Camera (el hijo de segundo nivel de XR Origin (VR)) y establece las propiedades relacionadas del componente Camera en la ventana Inspector, como se muestra a continuación:

Establecer las propiedades del componente Camera de Main Camera bajo XR Origin (VR)
En la ventana Jerarquía, haz clic con el botón derecho en Create Empty para crear un objeto vacío llamado LCCManager, normaliza su Transform y adjunta el script LCCManager mediante Agregar componente, como se muestra a continuación:

Crear el objeto vacío LCCManager y adjuntar el script LCCManager
En la ventana Jerarquía, haz clic con el botón derecho en Create Empty para crear otro objeto vacío llamado LCCRenderer y establece su Transform con Rotation.x = -90 y Scale.x = -1, como se muestra a continuación:

Crear el objeto vacío LCCRenderer y establecer Rotation.x = -90, Scale.x = -1 para alinear el sistema de coordenadas
Rotation.x = -90 y Scale.x = -1 son la transformación de alineación del sistema de coordenadas de los datos LCC (diestro con el eje Z hacia arriba) al sistema de coordenadas de Unity (zurdo con el eje Y hacia arriba); consulta "Sistema de coordenadas de los datos LCC" en Introducción al SDK de Unity.
Escribe un script C# llamado LCCRenderer.cs con el siguiente código:
using LCCCore;
using UnityEngine;
using UnityEngine.XR;
public class LCCRenderer : MonoBehaviour
{
public LCCManager m_manager;
public string m_FilePath;
private LCCCore.Renderer m_renderer;
private void Awake()
{
XRSettings.eyeTextureResolutionScale = 0.8f; // Reduce la resolución de la textura para mejorar el rendimiento
}
void Start()
{
#if UNITY_EDITOR
m_manager.SetPlatformType(PlatformType.PC);
m_renderer = m_manager.GetRender(this.gameObject.transform);
m_renderer.Load(m_FilePath, onProgress, onLoaded);
#else
m_manager.SetPlatformType(PlatformType.Pico);
m_renderer = m_manager.GetRender(this.gameObject.transform);
m_renderer.Load($"{Application.persistentDataPath}/LccData/meta.lcc2", onProgress, onLoaded);
#endif
}
private void onProgress(float v)
{
Debug.Log("progreso:" + v);
}
private void onLoaded()
{
m_manager.SetStartLod(2);
m_renderer.SetEnvironment(false);
Debug.Log("Datos cargados");
}
}
Adjunta este script al GameObject LCCRenderer en la ventana Jerarquía, arrastra el GameObject LCCManager a la propiedad Manager del script en la ventana Inspector y, por último, rellena la ruta del archivo LCC.

Adjuntar el script LCCRenderer y vincular Manager y la ruta del archivo
Para facilitar la depuración en el Editor de Unity y el empaquetado directo en un dispositivo Android, el código usa macros de compilación para distinguir el entorno de ejecución: en el Editor usa la ruta especificada por m_FilePath; en el dispositivo Android usa la fuente de datos en el dispositivo. Los datos en el dispositivo se colocan de la siguiente manera:
- Ejecuta primero una vez la aplicación empaquetada en el dispositivo PICO.
- Una vez instalada la aplicación, ve a su directorio de datos (generalmente almacenamiento del dispositivo PICO → Android → data → BundleID de la app → Files; consulta la ruta de instalación de aplicaciones Android para el directorio específico) y crea una carpeta
LccDatabajo el subdirectorio Files. - Copia todos los datos fuente LCC en la carpeta
LccData.
Nota:
- En la práctica, se recomienda colocar la fuente de datos de la aplicación PICO en un servidor en lugar de empaquetarla directamente en la aplicación.
- El dispositivo Pico 4 Ultra renderiza alrededor de 700 000 primitivas gaussianas en pantalla a la vez, aproximadamente dos órdenes de magnitud menos que los ~25 millones en PC. Se recomienda principalmente para el renderizado y la visualización de escenas pequeñas y objetos individuales; las escenas grandes se ven más fluidas mediante streaming desde PC.
- Al renderizar escenas LCC grandes, se recomienda establecer StartLOD en
2y desactivar la visualización de los datos de entorno (como en el código de ejemplo).
Referencias relacionadas
- Para la configuración del proyecto y la optimización del rendimiento, consulta Guía de optimización de ajustes del proyecto y Guía de configuración de parámetros de rendimiento de renderizado.
- Para otros flujos de trabajo de desarrollo de PICO, consulta la documentación oficial: Documentación para desarrolladores de PICO.