İçeriğe geç
TREN
Atlıhan Harita

LCC for Unity Kullanım Kılavuzu

Pico 4 Ultra Geliştirme Kılavuzu

Bölüm 06 / 17Kılavuz sürümü v2.3.0Türkçe

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 / PaketSürümAçıklama
Unityv2022.3.62f3Unity 2022 LTS kullanır
PICO Unity Integration SDKv3.4.0PICO'nun resmi kanalından edinilir
LCC Unity SDKv2.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:

  1. 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.
  2. 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.
  3. 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

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

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

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

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'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

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

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

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

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

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

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

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

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

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

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) ü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

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

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

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 koordinatlarla hizalı Transform değerlerini ayarlayın

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

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:

  1. Önce paketlenen uygulamayı PICO cihazında bir kez çalıştırın.
  2. 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 LccData klasörü oluşturun.
  3. Tüm LCC veri kaynağını LccData klasörüne kopyalayın.

Not:

  1. Uygulamada PICO uygulamasının veri kaynağını doğrudan uygulamaya paketlemek yerine bir sunucuya yerleştirmeniz önerilir.
  2. 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.
  3. Büyük LCC sahnelerini görüntülerken StartLOD değerini 2 olarak ayarlamanız ve ortam verisi görüntülemesini kapatmanız önerilir (örnek kodda olduğu gibi).

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:

XGRIDS Türkiye

Kurulumda ve Sahada Yanınızdayız

Atlıhan Harita; cihaz kurulumu, firmware güncellemesi, yazılım kullanımı ve saha uygulamalarında eğitim ve teknik destek verir. Sorunuzu iletin, uzmanımız size dönsün.

+90 216 546 0804