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

LCC for Unity Kullanım Kılavuzu

Pico 4 Ultra Business Yayın (Streaming) Kılavuzu

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

Pico 4 Ultra'nın Business Streaming özelliği, Unity projesini PC üzerinde görüntüler ve PICO'nun resmi Business Streaming aracı üzerinden cihaza aktararak gezinme ve etkileşim sağlar. Böylece PC'nin işlem gücünden yararlanarak cihaz üzerinde görüntülemeye göre daha yüksek performans elde edilir. Bu kılavuz, LCC Unity SDK'sının nasıl entegre edileceğini ve Business Streaming ile akış geliştirmesinin nasıl tamamlanacağını açıklar.

Sürüm Gereksinimleri

Bu kılavuzda kullanılan yazılım ve eklenti sürümleri aşağıdadır. Aynı sürümlerle geliştirme yapmanız önerilir; test edilmemiş diğer sürümlerde uyumluluk sorunları olabilir:

Yazılım / EklentiSürümAçıklama
Unityv6000.0.69f1 ve üzeriUnity 6 kullanılır
OpenXR1.61.1 ve üzeriUnity OpenXR Plugin, Unity Registry üzerinden kurulur
LCC Unity SDKv2.3.0 ve üzeriLCC Unity SDK indirme sayfasından edinin
Business Streamingv2.2.0 ve üzeriPICO resmi sitesinden edinin

Not:

  1. Business Streaming, OpenXR üzerinden bağlanır. PICO Unity Integration SDK kullanan Pico 4 Ultra Geliştirme Kılavuzu ile karıştırmayın.
  2. Unity sürümü, OpenXR sürümü ve LCC SDK sürümü görüntülemeyi ve performansı etkiler. Bu nedenle her yazılım sürümünü bu kılavuzla uyumlu tutmaya çalışın.

Geliştirme İş Akışı

Adım 1: Ön Koşullar

Business Streaming v2.2.0 veya üzerini hem akışın yapılacağı bilgisayara hem de Pico 4 Ultra cihazına indirip kurun. Kurulumdan sonra bilgisayarı bir kez yeniden başlatmanız önerilir.

Adım 2: URP Projesi Oluşturma

Proje şablonunda Universal 3D (URP görüntüleme hattı) türünü seçin, aşağıda gösterildiği gibi:

Universal 3D Projesi Oluşturma

Universal 3D Projesi Oluşturma

Adım 3: Unity OpenXR'ı İçe Aktarma

Unity menüsünden Window → Package Manager yolunu izleyerek UPM penceresini açın, soldaki listeden Unity Registry seçeneğini seçin, arama kutusuna OpenXR yazın, arama sonuçlarından OpenXR Plugin seçeneğini seçip aşağıda gösterildiği gibi yükleyin:

OpenXR Plugin'i Unity Registry'den Yükleme

OpenXR Plugin'i Unity Registry'den Yükleme

Adım 4: LCC Unity SDK'yı İçe Aktarma

Unity menüsünden Window → Package Manager yolunu izleyerek UPM penceresini açın, soldaki + simgesine tıklayın, açılır menüden Install package from disk seçeneğini seçin, LCC Unity SDK'yı bulun ve içe aktarmak için package.json dosyasını seçin:

LCC Unity SDK'yı Install package from disk ile içe aktarma

LCC Unity SDK'yı Install package from disk ile içe aktarma

Not: Yukarıdaki adımları tamamladıktan sonra sonraki ayarlara geçmeden önce Unity'yi yeniden başlatın.

Adım 5: Unity Ortamını Ayarlama

XR Plug-in Management'ı Yapılandırma

Unity menü çubuğundan File → Project Settings seçeneğini seçin, solda XR Plug-in Management öğesini seçin, PC, Mac & Linux Standalone Settings sekmesinde Initialize XR on Startup seçeneğini işaretleyin ve Plug-in Provider olarak OpenXR seçeneğini işaretleyin (aşağıda gösterilmiştir):

XR Plug-in Management bölümünde Initialize XR on Startup ve OpenXR seçeneklerini işaretleyin

XR Plug-in Management bölümünde Initialize XR on Startup ve OpenXR seçeneklerini işaretleyin

Not: OpenXR seçeneğinin yanında sarı bir uyarı simgesi görünürse tümünü düzeltmek için Fix All düğmesine tıklayın.

XR Plug-in Management altındaki OpenXR öğesini seçin ve Render Mode değerini gereksinimlerinize göre Single Pass Instanced veya Multi Pass olarak ayarlayın. Genellikle Single Pass Instanced daha iyi performans sağlar. Diğer ayarları varsayılan değerlerinde bırakın (aşağıda gösterilmiştir):

OpenXR Render Mode değerini Single Pass Instanced veya Multi Pass olarak ayarlayın

OpenXR Render Mode değerini Single Pass Instanced veya Multi Pass olarak ayarlayın

Grafik API'lerini Yapılandırma

Edit → Project Settings → Player yoluyla ayarlar panelini açın, ilgili platform sekmesinin altında Other öğesini seçin ve grafik API'lerini platforma göre yapılandırın:

Platformİşlem
WindowsWindows için Auto Graphics API seçeneğinin işaretini kaldırın ve üç grafik API'si olarak DirectX12, Vulkan ve DirectX11'i ekleyin
macOSMac için Auto Graphics API seçeneğinin işaretini kaldırın ve Metal grafik API'sini koruyun
LinuxLinux için Auto Graphics API seçeneğinin işaretini kaldırın ve Vulkan grafik API'sini koruyun

Not: Windows platformunda daha iyi performans sağlayan DirectX12 veya Vulkan kullanmanız önerilir. DirectX11 için görüntüleme artefaktlarını önlemek amacıyla HDR görüntülemeyi etkinleştirmeniz önerilir.

Adım 6: Sahneyi Oluşturma

Bu örnek, yepyeni bir Scene ile başlar. Bir Unity sahnesi (Scene) oluşturun, hiyerarşi penceresinde (Hierarchy) boş bir alana sağ tıklayın ve açılan menüden XR → Convert Main Camera To XR Rig seçeneğini seçerek Main Camera nesnesini XR kamerasına dönüştürün.

Adım 7: Sahneyi Yapılandırma

Hiyerarşi penceresinde (Hierarchy) XR Rig GameObject'ini seçin ve özellikler penceresinde (Inspector) Camera Offset özelliğinin Request Tracking Mode değerini Floor olarak ayarlayın (aşağıda gösterilmiştir):

XR Rig Camera Offset Request Tracking Mode değerini Floor olarak ayarlayın

XR Rig Camera Offset Request Tracking Mode değerini Floor olarak ayarlayın

Hiyerarşi penceresinde (Hierarchy) XR Rig → Camera Offset → Main Camera GameObject'ini seçin ve özellikler penceresinde (Inspector) Camera bileşeni özelliklerini ayarlayın: Clipping Planes Near = 0.3, Far = 5000; Anti-aliasing = No Anti-aliasing; Opaque Texture = Off, Depth Texture = Off; Background Type = Solid Color, Background = siyah; HDR Rendering = Off, MSAA = Off, URP Dynamic Resolution = Off (aşağıda gösterilmiştir):

XR Rig altındaki Main Camera nesnesinin Camera bileşeni özelliklerini ayarlayın

XR Rig altındaki Main Camera nesnesinin Camera bileşeni özelliklerini ayarlayın

Adım 8: Sahneyi Yükleyen Kodu Yazma

Hiyerarşi penceresinde (Hierarchy) sağ tıklayıp Create Empty seçeneğiyle boş bir nesne oluşturun, adını LCCManager yapın, Transform değerlerini sıfırlayın ve Add Component ile LCCManager betiğini ekleyin, aşağıda gösterildiği gibi:

LCCManager Boş Nesnesini Oluşturma ve LCCManager Betiğini Ekleme

LCCManager Boş Nesnesini Oluşturma ve LCCManager Betiğini Ekleme

Hiyerarşi penceresinde (Hierarchy) Create Empty seçeneğine sağ tıklayarak bir boş nesne daha oluşturun, adını LCCRenderer yapın ve Transform bileşeninde Rotation.x = -90, Scale.x = -1 olarak ayarlayın. Aşağıda gösterilmiştir:

LCCRenderer Boş Nesnesini Oluşturma ve Koordinat Sistemi Hizalaması İçin Transform Değerlerini Ayarlama

LCCRenderer Boş Nesnesini Oluşturma ve Koordinat Sistemlerini Hizalamak İçin Rotation.x = -90, Scale.x = -1 Ayarlama

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'ya Giriş sayfasındaki "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;

[DefaultExecutionOrder(100)]
public class LCCRenderer : MonoBehaviour
{
    public LCCManager m_manager;
    public string m_FilePath;
    private LCCCore.Renderer m_renderer;
    private Camera m_mainCamera;
    private bool m_isLoaded = false;

    void Start()
    {
        m_mainCamera = Camera.main;
        // set platform type to PCVR
        m_manager.SetPlatformType(PlatformType.PCVR);
        m_manager.SetMainCamera(m_mainCamera);
        m_manager.SetLockFPS(false);
        //Set the full render splat to 15 million, which means LCC LOD0 > 15 million will go chunk rendering path.
        //m_manager.SetFullRenderSplat(1500);
        //Set the max render splat to 15 million, which means max on-screen splat limit to 15 million on chunk rendering path.
        //m_manager.SetMaxRenderSplats(1500);
        m_renderer = m_manager.GetRender(this.transform);
        if (m_renderer == null)
            Debug.LogError("GetRender failed, check if the manager is set correctly and the file path is valid.");
        m_renderer.Load(m_FilePath, onLoadProgress, onLoadCallback, onError);
    }

    private void onLoadProgress(float value)
    {
        Debug.Log($"loading progress: {value}");
    }

    private void onLoadCallback()
    {
        //set the start lod to 2, which means the initial rendering will be at LOD2 level.
        //m_manager.SetStartLod(2);
        Debug.Log("data loaded !!!");
        m_isLoaded = true;
    }

    private void onError(string error)
    {
        Debug.LogError($"load error: {error}");
    }
}

Betiği hiyerarşi penceresindeki (Hierarchy) LCCRenderer GameObject'ine ekleyin, ardından LCCManager GameObject'ini özellik penceresinde (Inspector) betiğin Manager özelliğine sürükleyin ve son olarak LCC dosya yolunu girin.

Yukarıdaki yapılandırmayı tamamladıktan sonra hiyerarşi penceresindeki (Hierarchy) sahne yapısı aşağıdaki gibidir:

Yapılandırma sonrasındaki sahne yapısı

Yapılandırma sonrasındaki sahne yapısı

Not: Sahne, URP projesinde varsayılan olarak oluşturulan Directional Light, Global Volume ve diğer nesneleri korumalıdır.

Adım 9: Business Streaming'i Ayarlama

Bilgisayarda Business Streaming uygulamasını başlatın, Settings → General seçeneğini seçin ve Default Streaming Type değerini OpenXR Streaming olarak ayarlayın (aşağıda gösterilmiştir):

Business Streaming Default Streaming Type değerini OpenXR Streaming olarak ayarlayın

Business Streaming Default Streaming Type değerini OpenXR Streaming olarak ayarlayın

Adım 10: Akışı Başlatma

  1. Pico 4 Ultra'yı bilgisayara USB 3.0 veya yüksek hızlı Wi-Fi ile bağlayın.
  2. Pico 4 Ultra cihazında Business Streaming uygulamasını açın ve bilgisayara bağlanın.
  3. Çalıştırmak için Unity Editor'da Play düğmesine tıklayın veya yayınlanan uygulamayı açın. Böylece akış başlar.

Not:

  1. Business Streaming yazılımını kullanmak için PICO resmi belgelerine bakın: https://business.picoxr.com/cn/doc/Business-Streamingv2.
  2. Proje ayarları için Proje Ayarları Optimizasyon Kılavuzu bölümüne bakın.
  3. Akış, üst düzey bilgisayar donanımı (özellikle ekran kartı) gerektirir. Akış için yüksek performanslı bir bilgisayar kullanın ve USB 3.0 veya yüksek hızlı Wi-Fi tercih edin.
  4. PCVR akışı görüntülemeyi iki kez yapar (SPI modunda köşe noktası yükü de iki katına çıkar). Bu nedenle tam/parçalı görüntüleme, ekrandaki azami görüntüleme sayısı ve başlangıç LOD seviyesi gibi ayarları yapılandırarak performansı ve kare hızını iyileştirebilirsiniz. Parametre ayarları için Görüntüleme Performansı Parametreleri Kılavuzu bölümüne bakın.

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