Guida allo sviluppo per Pico 4 Ultra
Il flusso di lavoro di sviluppo LCC per Pico 4 Ultra è essenzialmente uguale al flusso di lavoro ufficiale PICO per la creazione di progetti VR; consulta la documentazione del PICO Unity Integration SDK. Questa guida si basa su tale flusso per spiegare come integrare l'LCC Unity SDK per il rendering di scene 3DGS.
Requisiti di versione
Di seguito sono elencate le versioni di software e pacchetti utilizzate in questa guida. Si consiglia di sviluppare con le stesse versioni; altre versioni non testate potrebbero presentare problemi di compatibilità:
| Software / Pacchetto | Versione | Descrizione |
|---|---|---|
| Unity | v2022.3.62f3 | Utilizza Unity 2022 LTS |
| PICO Unity Integration SDK | v3.4.0 | Ottenuto dal canale ufficiale PICO |
| LCC Unity SDK | v2.1.27 e successive | La versione che supporta la pipeline Built-in; scarica la versione compatibile con Unity 2022 LTS |
Consulta Requisiti dell'ambiente di sviluppo per requisiti hardware e software più dettagliati.
Nota:
- Poiché il PICO Unity Integration SDK presenta seri problemi di prestazioni con la pipeline URP, si consiglia la pipeline di rendering Built-in; consulta i problemi noti.
- Se testando con Unity v6000.0.69f1 riscontri che l'app si blocca o va in crash, passa a Unity v2022.3 LTS: i dispositivi della serie PICO 4 presentano problemi di compatibilità con le app che usano insieme Unity 6 e Vulkan; consulta i problemi noti.
- La versione di Unity, la versione dell'SDK PICO e la versione dell'LCC SDK influiscono tutte sul rendering e sulle prestazioni; cerca di mantenere ciascuna versione software coerente con questa guida.
Flusso di lavoro di sviluppo
Passaggio 1: Creare il progetto
Nel modello di progetto, seleziona il tipo 3D (Built-in Render Pipeline). Poiché il PICO Unity Integration SDK presenta seri problemi di prestazioni con la pipeline URP, non selezionare la pipeline URP, come mostrato di seguito:

Crea un progetto 3D (Built-in Render Pipeline)
Passaggio 2: Cambiare la piattaforma
Nel menu di Unity, seleziona File → Build Profiles per aprire la finestra di build e passa la piattaforma ad Android, come mostrato di seguito:

Passa la piattaforma ad Android in Build Profiles
Passaggio 3: Importare il PICO Unity Integration SDK
Scarica il PICO Unity Integration SDK dal sito ufficiale PICO e installalo seguendo il tutorial PICO; puoi anche importarlo direttamente da GitHub all'indirizzo https://github.com/Pico-Developer/PICO-Unity-Integration-SDK.git. Questa guida utilizza la versione v3.4.0, come mostrato di seguito:

Importa PICO Unity Integration SDK v3.4.0
Passaggio 4: Importare l'LCC Unity SDK
Apri la finestra UPM tramite il menu di Unity Finestra → Gestione pacchetti, fai clic su + a sinistra, seleziona Installa pacchetto da disco dal menu a discesa, individua l'LCC Unity SDK e seleziona il file package.json da importare, come mostrato di seguito:

Importa l'LCC Unity SDK tramite Installa pacchetto da disco
Passaggio 5: Configurare l'ambiente Unity
Configurare XR Plug-in Management
Nella barra dei menu di Unity, seleziona File → Project Settings, seleziona XR Plug-in Management a sinistra e spunta Initialize XR on Startup nella scheda della piattaforma Android, come mostrato di seguito:

Spunta Initialize XR on Startup in XR Plug-in Management
Seleziona la voce PICO in XR Plug-in Management e imposta la Render Mode della piattaforma Android su MultiView, come mostrato di seguito:

Imposta la Render Mode PICO su MultiView
Seleziona la voce Project Validation in XR Plug-in Management e fai clic su Fix All per completare le impostazioni necessarie (puoi anche saltare questo passaggio e crearle manualmente in seguito), come mostrato di seguito:

Fai clic su Fix All in Project Validation
Nota:
- Facendo clic su Fix All vengono creati i GameObject necessari nella scena attualmente aperta, quindi è necessario eliminare la Camera principale e la Luce direzionale nella scena.
- Questo esempio corregge solo UIOrientation.LandscapeLeft; tutto il resto viene creato manualmente.
Configurare il Keystore
Lo sviluppo PICO richiede un Keystore. Vai a Player → scheda Android → Publishing Settings → Keystore Manager, crea un nuovo Keystore e completa le impostazioni, come mostrato di seguito:

Crea un nuovo Keystore in Keystore Manager
Impostare il nome dell'azienda e il nome del prodotto
Lo sviluppo PICO non consente il valore predefinito defaultCompany. Nella scheda Player, imposta correttamente Company Name e Product Name, come mostrato di seguito:

Imposta Company Name e Product Name
Configurare le opzioni di qualità
In Project Settings, seleziona la scheda Quality e imposta Anti Aliasing = Disabled, Resolution Scaling Fixed DPI Factor = 0.7 e VSync Count = Don't Sync, come mostrato di seguito:

Disattiva l'anti-aliasing e imposta DPI Factor e VSync nella scheda Quality
Inserire l'AppID
Nel menu di Unity, seleziona PICO → Platform → Platform Setting per aprire il pannello delle impostazioni e inserisci l'AppID richiesto sulla piattaforma per sviluppatori PICO in Paste your App ID here; consulta Creare un account sviluppatore, un'organizzazione e un'app.

Inserisci l'AppID in PICO Platform Setting
Configurare la grafica
In Project Settings, seleziona la scheda Graphics, seleziona la piattaforma Android e configura come mostrato di seguito:

Configura la piattaforma Android nella scheda Graphics
Configurare Player
In Project Settings, seleziona la scheda Player, seleziona la piattaforma Android, imposta Color Space = Gamma, deseleziona Auto Graphics API e mantieni solo Vulkan, con le altre impostazioni come mostrato di seguito:

Imposta Color Space su Gamma e mantieni solo Vulkan per l'API grafica
Scorri verso il basso nella scheda corrente e imposta Minimum API Level = Android 10.0, Scripting Backend = IL2CPP, API Compatibility Level = .NET Standard 2.1 e Target Architectures = ARM64, con le altre impostazioni come mostrato di seguito:

Imposta Minimum API Level, Scripting Backend, API Compatibility Level e Target Architectures
Continua a scorrere verso il basso nella scheda corrente e imposta Active Input Handling = Input System Package (New), con le altre impostazioni come mostrato di seguito:

Imposta Active Input Handling su Input System Package (New)
Passaggio 6: Creare la scena
Crea una scena completamente nuova in Unity ed elimina la Camera principale e la Luce direzionale. Fai clic con il pulsante destro in un'area vuota della finestra Gerarchia e seleziona XR → XR Origin (VR) dal menu a comparsa per creare gli oggetti XR necessari.
Seleziona l'oggetto XR Origin (VR) e aggiungi il componente PXR_Manager tramite Aggiungi componente nella finestra Inspector, e configurane le relative proprietà come mostrato di seguito:

Aggiungi e configura il componente PXR_Manager su XR Origin (VR)
Seleziona l'oggetto XR Origin (VR) e, nel componente XR Origin della finestra Inspector, imposta Tracking Origin Mode su Floor, con le altre proprietà come mostrato di seguito:

Imposta Tracking Origin Mode del componente XR Origin su Floor
Seleziona la Camera principale (figlia di secondo livello di XR Origin (VR)) e imposta le relative proprietà del componente Camera nella finestra Inspector, come mostrato di seguito:

Imposta le proprietà del componente Camera della Camera principale sotto XR Origin (VR)
Nella finestra Gerarchia, fai clic con il pulsante destro su Crea vuoto per creare un oggetto vuoto denominato LCCManager, normalizza il suo Transform e collega lo script LCCManager tramite Aggiungi componente, come mostrato di seguito:

Crea l'oggetto vuoto LCCManager e collega lo script LCCManager
Nella finestra Gerarchia, fai clic con il pulsante destro su Crea vuoto per creare un altro oggetto vuoto denominato LCCRenderer e imposta il suo Transform con Rotation.x = -90 e Scale.x = -1, come mostrato di seguito:

Crea l'oggetto vuoto LCCRenderer e imposta Rotation.x = -90 e Scale.x = -1 per allineare il sistema di coordinate
Rotation.x = -90 e Scale.x = -1 sono la trasformazione di allineamento dal sistema di coordinate dei dati LCC (Z in alto, destrorso) al sistema di coordinate di Unity (Y in alto, sinistrorso); vedi "Sistema di coordinate dei dati LCC" in Introduzione all'Unity SDK.
Scrivi uno script C# denominato LCCRenderer.cs con il seguente codice:
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; // Abbassa la risoluzione della texture per migliorare le prestazioni
}
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("avanzamento:" + v);
}
private void onLoaded()
{
m_manager.SetStartLod(2);
m_renderer.SetEnvironment(false);
Debug.Log("Dati caricati");
}
}
Collega questo script al GameObject LCCRenderer nella finestra Gerarchia, quindi trascina il GameObject LCCManager sulla proprietà Manager dello script nella finestra Inspector e infine inserisci il percorso del file LCC.

Collega lo script LCCRenderer e associa Manager e il percorso del file
Per facilitare il debug nell'Editor di Unity e la creazione diretta del pacchetto per un dispositivo Android, il codice usa macro di compilazione per distinguere l'ambiente di runtime: nell'Editor usa il percorso specificato da m_FilePath; sul dispositivo Android usa l'origine dati sul dispositivo. I dati sul dispositivo vengono collocati come segue:
- Prima esegui una volta l'app pacchettizzata sul dispositivo PICO.
- Dopo l'installazione dell'app, vai alla sua directory dati (generalmente memoria del dispositivo PICO → Android → data → BundleID dell'app → Files; consulta il percorso di installazione delle app Android per la directory specifica) e crea una cartella
LccDatanella sottodirectory Files. - Copia tutta l'origine dati LCC nella cartella
LccData.
Nota:
- In pratica, si consiglia di collocare l'origine dati dell'app PICO su un server invece di pacchettizzarla direttamente nell'app.
- Il dispositivo Pico 4 Ultra renderizza circa 700.000 primitive gaussiane sullo schermo alla volta, circa due ordini di grandezza in meno rispetto ai ~25 milioni su PC. È consigliato principalmente per il rendering e la visualizzazione di scene piccole e oggetti singoli; le scene grandi risultano più fluide tramite lo streaming PC.
- Quando si renderizzano scene LCC grandi, si consiglia di impostare StartLOD su
2e di disabilitare la visualizzazione dei dati ambiente (come nel codice di esempio).
Riferimenti correlati
- Per la configurazione del progetto e l'ottimizzazione delle prestazioni, consulta Guida all'ottimizzazione delle impostazioni di progetto e Guida alle impostazioni dei parametri di prestazione del rendering.
- Per altri flussi di lavoro di sviluppo PICO, consulta la documentazione ufficiale: Documentazione per sviluppatori PICO.