Pico 4 Ultra için LCC geliştirme iş akışı, PICO'nun resmi VR proje oluşturma iş akışıyla temelde aynıdır; bkz. PICO Unity Integration SDK belgeleri. Bu kılavuz, bunun üzerine 3DGS sahnelerini görüntülemek için LCC Unity SDK'nın nasıl entegre edileceğini açıklar.
Sürüm Gereksinimleri
Bu kılavuzda kullanılan yazılım ve paket sürümleri aşağıda listelenmiştir. Aynı sürümlerle geliştirme yapmanız önerilir; test edilmemiş diğer sürümlerde uyumluluk sorunları olabilir:
| Yazılım / Paket | Sürüm | Açıklama |
|---|---|---|
| Unity | v2022.3.62f3 | Unity 2022 LTS kullanır |
| PICO Unity Integration SDK | v3.4.0 | PICO'nun resmi kanalından edinilir |
| LCC Unity SDK | v2.1.27 ve sonrası | Built-in desteği sunan sürümdür; Unity 2022 LTS uyumlu sürümü indirin |
Daha ayrıntılı donanım ve yazılım gereksinimleri için Geliştirme Ortamı Gereksinimleri bölümüne bakın.
Not:
- PICO Unity Integration SDK, URP işlem hattında ciddi performans sorunlarına sahip olduğundan Built-in görüntüleme işlem hattı önerilir; bilinen sorunlara bakın.
- Unity v6000.0.69f1 ile test ederken uygulamanın donduğunu veya çöktüğünü görürseniz Unity v2022.3 LTS sürümüne geçin: PICO 4 serisi cihazlarda Unity 6 ve Vulkan'ı birlikte kullanan uygulamalarla uyumluluk sorunları vardır; bilinen sorunlara bakın.
- Unity sürümü, PICO SDK sürümü ve LCC SDK sürümü görüntüleme ve performansı etkiler; her yazılım sürümünü bu kılavuzla aynı tutmaya çalışın.
Geliştirme İş Akışı
Adım 1: Projeyi Oluşturma
Proje şablonunda 3D (Built-in Render Pipeline) türünü seçin. PICO Unity Integration SDK, URP işlem hattında ciddi performans sorunlarına sahip olduğundan URP işlem hattını seçmeyin. Aşağıda gösterilmiştir:

3D (Built-in Render Pipeline) projesi oluşturma
Adım 2: Platformu Değiştirme
Unity menüsünde File → Build Profiles yolunu seçerek derleme penceresini açın ve platformu Android olarak değiştirin. Aşağıda gösterilmiştir:

Build Profiles'ta platformu Android olarak değiştirme
Adım 3: PICO Unity Integration SDK'yı İçe Aktarma
PICO Unity Integration SDK'yı PICO resmi web sitesinden indirin ve PICO eğitimini izleyerek kurun. Ayrıca https://github.com/Pico-Developer/PICO-Unity-Integration-SDK.git adresinden doğrudan GitHub üzerinden de içe aktarabilirsiniz. Bu kılavuzda v3.4.0 sürümü kullanılmıştır. Aşağıda gösterilmiştir:

PICO Unity Integration SDK v3.4.0'ı içe aktarma
Adım 4: LCC Unity SDK'yı İçe Aktarma
Unity menüsünden Window → Package Manager yoluyla UPM penceresini açın, soldaki + simgesine tıklayın, açılır listeden Install package from disk seçeneğini seçin, LCC Unity SDK klasörüne gidin ve içe aktarmak için package.json dosyasını seçin. Aşağıda gösterilmiştir:

LCC Unity SDK'yı Install package from disk ile içe aktarma
Adım 5: Unity Ortamını Yapılandırma
XR Plug-in Management'ı Yapılandırma
Unity menü çubuğunda File → Project Settings yolunu seçin, solda XR Plug-in Management öğesini seçin ve Android platform sekmesi altında Initialize XR on Startup seçeneğini işaretleyin. Aşağıda gösterilmiştir:

XR Plug-in Management'ta Initialize XR on Startup seçeneğini işaretleme
XR Plug-in Management altındaki PICO öğesini seçin ve Android platformunun Render Mode ayarını MultiView olarak belirleyin. Aşağıda gösterilmiştir:

PICO Render Mode ayarını MultiView olarak belirleme
XR Plug-in Management altındaki Project Validation öğesini seçin ve gerekli ayarları tamamlamak için Fix All düğmesine tıklayın (bu adım atlanabilir, nesneler daha sonra elle de oluşturulabilir). Aşağıda gösterilmiştir:

Project Validation'da Fix All düğmesine tıklama
Not:
- Fix All düğmesine tıklamak, açık olan sahnede gerekli GameObject nesnelerini oluşturur; bu nedenle sahnedeki Main Camera ve Directional Light nesnelerini silmeniz gerekir.
- Bu örnek yalnızca UIOrientation.LandscapeLeft ayarını sabitler; diğer her şey elle oluşturulur.
Keystore'u Yapılandırma
PICO geliştirmesi için bir Keystore gerekir. Player → Android tab → Publishing Settings → Keystore Manager yoluna gidin, yeni bir Keystore oluşturun ve ayarları tamamlayın. Aşağıda gösterilmiştir:

Keystore Manager'da yeni bir Keystore oluşturma
Şirket Adını ve Ürün Adını Ayarlama
PICO geliştirmesinde varsayılan defaultCompany değerine izin verilmez. Player sekmesinde doğru Company Name ve Product Name değerlerini girin. Aşağıda gösterilmiştir:

Company Name ve Product Name değerlerini ayarlama
Kalite Seçeneklerini Yapılandırma
Project Settings içinde Quality sekmesini seçin ve Anti Aliasing = Disabled, Resolution Scaling Fixed DPI Factor = 0.7 ve VSync Count = Don't Sync olarak ayarlayın. Aşağıda gösterilmiştir:

Quality sekmesinde kenar yumuşatmayı kapatma ve DPI Factor ile VSync ayarlarını yapma
AppID'yi Girme
Unity menüsünde PICO → Platform → Platform Setting yolunu seçerek ayar panelini açın ve PICO geliştirici platformunda edindiğiniz AppID değerini Paste your App ID here alanına girin; bkz. Geliştirici hesabı, kuruluş ve uygulama oluşturma.

PICO Platform Setting'de AppID'yi girme
Graphics Ayarlarını Yapılandırma
Project Settings içinde Graphics sekmesini seçin, Android platformunu seçin ve aşağıda gösterildiği gibi yapılandırın:

Graphics sekmesinde Android platformunu yapılandırma
Player Ayarlarını Yapılandırma
Project Settings içinde Player sekmesini seçin, Android platformunu seçin, Color Space = Gamma olarak ayarlayın, Auto Graphics API işaretini kaldırın ve yalnızca Vulkan seçeneğini bırakın; diğer ayarlar aşağıda gösterildiği gibi kalsın:

Color Space ayarını Gamma yapma ve grafik API'si olarak yalnızca Vulkan'ı bırakma
Geçerli sekmede aşağı kaydırın ve Minimum API Level = Android 10.0, Scripting Backend = IL2CPP, API Compatibility Level = .NET Standard 2.1 ve Target Architectures = ARM64 olarak ayarlayın; diğer ayarlar aşağıda gösterildiği gibi kalsın:

Minimum API Level, Scripting Backend, API Compatibility Level ve Target Architectures ayarlarını yapma
Geçerli sekmede aşağı kaydırmaya devam edin ve Active Input Handling = Input System Package (New) olarak ayarlayın; diğer ayarlar aşağıda gösterildiği gibi kalsın:

Active Input Handling ayarını Input System Package (New) yapma
Adım 6: Sahneyi Oluşturma
Unity'de yepyeni bir sahne oluşturun ve Main Camera ile Directional Light nesnelerini silin. Hierarchy penceresinde boş bir alana sağ tıklayın ve gerekli XR nesnelerini oluşturmak için açılan menüden XR → XR Origin (VR) seçeneğini seçin.
XR Origin (VR) nesnesini seçin, Inspector penceresinde Add Component ile PXR_Manager bileşenini ekleyin ve ilgili özellikleri aşağıda gösterildiği gibi yapılandırın:

XR Origin (VR) üzerine PXR_Manager bileşenini ekleme ve yapılandırma
XR Origin (VR) nesnesini seçin ve Inspector penceresindeki XR Origin bileşeninde Tracking Origin Mode ayarını Floor olarak belirleyin; diğer özellikler aşağıda gösterildiği gibi kalsın:

XR Origin bileşeninde Tracking Origin Mode ayarını Floor yapma
Main Camera nesnesini (XR Origin (VR) altındaki ikinci seviye alt nesne) seçin ve Inspector penceresinde Camera bileşeninin ilgili özelliklerini aşağıda gösterildiği gibi ayarlayın:

XR Origin (VR) altındaki Main Camera nesnesinin Camera bileşeni özelliklerini ayarlama
Hierarchy penceresinde sağ tıklayıp Create Empty seçeneğiyle LCCManager adında boş bir nesne oluşturun, Transform değerlerini sıfırlayın ve Add Component ile LCCManager betiğini ekleyin. Aşağıda gösterilmiştir:

LCCManager boş nesnesini oluşturma ve LCCManager betiğini ekleme
Hierarchy penceresinde Create Empty öğesine sağ tıklayarak LCCRenderer adında başka bir boş nesne oluşturun ve Transform değerlerini Rotation.x = -90 ve Scale.x = -1 olarak ayarlayın. Aşağıdaki görselde gösterilmiştir:

LCCRenderer boş nesnesini oluşturun ve koordinat sistemini hizalamak için Rotation.x = -90, Scale.x = -1 olarak ayarlayın
Rotation.x = -90 ve Scale.x = -1 değerleri, LCC veri koordinat sisteminden (Z yukarı, sağ elli) Unity koordinat sistemine (Y yukarı, sol elli) geçiş için kullanılan hizalama dönüşümüdür. Ayrıntılar için Unity SDK Tanıtımı içindeki "LCC Veri Koordinat Sistemi" bölümüne bakın.
Aşağıdaki kodla LCCRenderer.cs adında bir C# betiği yazın:
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; // Lower the texture resolution to improve performance
}
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("progress:" + v);
}
private void onLoaded()
{
m_manager.SetStartLod(2);
m_renderer.SetEnvironment(false);
Debug.Log("Data loaded");
}
}
Bu betiği Hierarchy penceresindeki LCCRenderer GameObject nesnesine ekleyin. Ardından LCCManager GameObject nesnesini Inspector penceresinde betiğin Manager özelliğine sürükleyin ve son olarak LCC dosyasının yolunu girin.

LCCRenderer betiğini ekleyin; Manager özelliğini ve dosya yolunu bağlayın
Unity Editor'de hata ayıklamayı ve doğrudan bir Android cihaza paketlemeyi kolaylaştırmak için kod, çalışma ortamını ayırt etmek üzere derleme makroları kullanır. Editor'de m_FilePath ile belirtilen yol kullanılır; Android cihazda ise cihaz üzerindeki veri kaynağı kullanılır. Cihaz üzerindeki veriler şu şekilde yerleştirilir:
- Önce paketlenen uygulamayı PICO cihazında bir kez çalıştırın.
- Uygulama yüklendikten sonra veri dizinine gidin (genellikle PICO device storage → Android → data → app BundleID → Files; kesin dizin için Android uygulama yükleme yoluna bakın) ve Files alt dizininin altında bir
LccDataklasörü oluşturun. - Tüm LCC veri kaynağını
LccDataklasörüne kopyalayın.
Not:
- Uygulamada PICO uygulamasının veri kaynağını doğrudan uygulamaya paketlemek yerine bir sunucuya yerleştirmeniz önerilir.
- Pico 4 Ultra cihazı, ekranda aynı anda yaklaşık 700.000 Gauss ilkelini görüntüler. Bu, PC'deki yaklaşık 25 milyonluk değerden kabaca iki kat büyüklük mertebesi daha azdır. Cihaz esas olarak küçük sahnelerin ve tek nesnelerin görüntülenmesi ve sergilenmesi için önerilir; büyük sahneler PC akışıyla daha akıcı çalışır.
- Büyük LCC sahnelerini görüntülerken StartLOD değerini
2olarak ayarlamanız ve ortam verisi görüntülemesini kapatmanız önerilir (örnek kodda olduğu gibi).
İlgili Kaynaklar
- Proje kurulumu ve performans optimizasyonu için Proje Ayarları Optimizasyon Kılavuzu ve Görüntüleme Performansı Parametre Ayarları Kılavuzu belgelerine bakın.
- Diğer PICO geliştirme iş akışları için resmi belgelere bakın: PICO Developer Documentation.
Bu bölüm XGRIDS'in resmî kullanım kılavuzundan Türkçeye çevrildi; ekran görüntüleri ve arayüz adları özgün haliyle İngilizcedir. İngilizce aslı (yeni sekmede açılır) · Güncelleme:

