Quest 3 için LCC geliştirme iş akışı, Meta'nın resmi VR proje oluşturma iş akışından biraz farklıdır: Meta'nın Unity yapılandırmasında yaptığı resmi değişiklikler, LCC görüntülemesinin geliştirme belgelerindeki önerilen iş akışıyla uyumsuz olmasına neden olur. Meta'nın resmi iş akışı için Set up Unity for XR development sayfasına bakın. Bu kılavuz, söz konusu iş akışını temel alarak 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 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 / Eklenti | Sürüm |
|---|---|
| Unity | v6000.0.69f1 |
| Meta XR All-in-One SDK | v205.0.0 |
| LCC Unity SDK | v2.1.35 ve üzeri |
Not:
- Meta SDK yalnızca URP'nin Linear renk uzayını destekler. Bu renk uzayında görüntülenen LCC sahneleri biraz soluk görünür.
- Unity sürümü, Meta SDK sürümü ve LCC SDK sürümü görüntüleme ve performansı etkiler. Bu nedenle her yazılım sürümünü bu kılavuzla aynı tutmaya çalışın.
Geliştirme İş Akışı
Adım 1: URP Projesi Oluşturma
Proje şablonunda aşağıda gösterildiği gibi Universal 3D seçeneğini seçin:

Universal 3D (URP) Projesi Oluşturma
Adım 2: Platformu Değiştirme
Proje oluşturulduktan sonra Unity menüsünden File → Build Profiles seçeneğini seçerek derleme penceresini açın ve platformu aşağıda gösterildiği gibi Android olarak değiştirin:

Build Profiles'ta platformu Android olarak değiştirme
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
Adım 4: XR Interaction Toolkit'i İçe Aktarma
Soldaki listeden Unity Registry seçeneğini seçin, arama kutusuna XR yazın, arama sonuçlarından XR Interaction Toolkit seçeneğini seçip aşağıda gösterildiği gibi yükleyin:

XR Interaction Toolkit'i Unity Registry'den Yükleme
Adım 5: Meta XR All-in-One SDK'yı İçe Aktarma
Meta XR All-in-One SDK, Meta'nın XR geliştirme araç takımıdır. Ayrıntılar için Meta XR All-in-One SDK (UPM) sayfasına bakın.
Bu SDK'yı kullanmadan önce Unity Asset Store'daki kişisel varlıklarınıza ekleyin: https://assetstore.unity.com/packages/tools/integration/meta-xr-all-in-one-sdk-269657. Ardından Window → Package Manager yoluyla UPM'yi açın, soldan My Assets seçeneğini seçin, arama kutusuna Meta XR yazın ve aşağıda gösterildiği gibi Meta XR All-in-One SDK paketini yükleyin:

Meta XR All-in-One SDK'yı My Assets'ten Yükleme
Adım 6: 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
Yukarıdaki adımları tamamladıktan sonra sonraki ayarlara geçmeden önce Unity'yi yeniden başlatın.
Adım 7: Unity Ortamını Ayarlama
XR Plug-in Management'ı Yapılandırma
Unity menü çubuğundan File → Project Settings seçeneğini seçin, soldan XR Plug-in Management öğesini seçin ve aşağıda gösterildiği gibi hem Desktop hem de Android platformlarında Initialize XR on Startup seçeneğini işaretleyin:

Desktop Platformunda Initialize XR on Startup Seçeneğini İşaretleme

Android Platformunda Initialize XR on Startup Seçeneğini İşaretleme
XR Plug-in Management altındaki OpenXR öğesini seçin ve hem Desktop hem de Android platformları için Render Mode değerini aşağıda gösterildiği gibi Multi-pass olarak ayarlayın:

OpenXR Render Mode Değerini Multi-pass Olarak Ayarlama
Not: Meta XR All-in-One SDK, Render Mode değerini değiştirir. Derleme yapmadan önce bu değerin Multi-pass olduğundan emin olun.
Player Yapılandırması (Desktop Platformu)
Project Settings penceresinin solundan Player öğesini seçin, Desktop platformuna geçin, Other Settings bölümünü genişletin, Auto Graphics API seçeneğinin işaretini kaldırın, Graphics APIs listesini Vulkan, Direct3D12, Direct3D11 olarak ayarlayın ve diğer grafik API'lerini kaldırın. Color Space değerini aşağıda gösterildiği gibi Linear olarak ayarlayın:

Desktop Platformunda Grafik API'lerini ve Linear Renk Uzayını Ayarlama
Player Yapılandırması (Android Platformu)
Project Settings penceresinin solundan Player öğesini seçin, Android platformuna geçin, Other Settings bölümünü genişletin, Auto Graphics API seçeneğinin işaretini kaldırın, Graphics APIs listesini Vulkan olarak ayarlayın ve diğer grafik API'lerini kaldırın. Color Space değerini aşağıda gösterildiği gibi Linear olarak ayarlayın (Meta SDK yalnızca Linear renk uzayını destekler):

Android Platformunda Grafik API'sini Vulkan ve Renk Uzayını Linear Olarak Ayarlama
Şirket Adı ve Ürün Adını Ayarlama
Player sekmesinde Company Name ve Product Name alanlarını aşağıda gösterildiği gibi doğru şekilde ayarlayın:

Company Name ve Product Name Ayarlama
Android Platformu Komut Dosyası Arka Ucunu ve Girişi Ayarlama
Android platformunun Other Settings sekmesinde aşağı kaydırın ve aşağıda gösterildiği gibi Minimum API Level = Android 12L (API Level 32) veya üzeri, Scripting Backend = IL2CPP, Target Architectures = ARM64, Active Input Handling = Input System Package (New) olarak ayarlayın:

Minimum API Level, Scripting Backend, Target Architectures ve Active Input Handling Ayarlarını Yapma
Grafik ve Kalite Ayarlarını Kontrol Etme
Project Settings penceresinin solundan Graphics öğesini seçin ve Mobile platformunun kullandığı Default Render Pipeline öğesine karşılık gelen Render Asset dosyasını kontrol edin. Bu örnekte bu dosya Mobile_RPAsset dosyasıdır:

Mobile Platformunda Default Render Pipeline Render Asset Dosyasını Kontrol Etme
Project Settings penceresinin solundan Quality öğesini seçin, Mobile platformunun kullandığı Default Render Pipeline öğesine karşılık gelen Render Asset dosyasını kontrol edin (bu örnekte Mobile_RPAsset). Ardından aşağıda gösterildiği gibi Resolution Scaling Fixed DPI Factor = 0.7, VSync Count = Don't Sync olarak ayarlayın:

Quality Ayarlarında DPI Factor ve VSync Değerlerini Ayarlama
Render Asset Dosyasını Yapılandırma
Mobile platformunun kullandığı Default Render Pipeline öğesine karşılık gelen Render Asset dosyasını bulun (bu örnekte Mobile_RPAsset). Dosyaya tıkladığınızda varlık, proje penceresinde (Project) görüntülenir. Varlığı seçin, ardından özellikler penceresinde (Inspector) aşağıda gösterildiği gibi Depth Texture, Opaque Texture ve HDR seçeneklerinin işaretini kaldırın; Anti Aliasing (MSAA) = Disabled, Render Scale = 0.7, Upscaling Filter = Automatic olarak ayarlayın:

Render Asset Dosyasında Depth/Opaque Texture, HDR ve MSAA Seçeneklerini Kapatma, Render Scale Değerini 0.7 Yapma
Bu Render Asset dosyasına karşılık gelen Renderer öğesini bulun. Bu örnekte bu öğe Mobile_Renderer (Universal Renderer Data) dosyasıdır. İlgili özelliklerini aşağıda gösterildiği gibi özellikler penceresinde (Inspector) ayarlayın:

Mobile_Renderer (Universal Renderer Data) Özelliklerini Yapılandırma
Proje Doğrulama
Project Settings penceresinin solundan XR Plug-in Management öğesini seçin, ardından Project Validation sekmesini seçin. Kırmızı işaretli doğrulama öğelerini düzeltin; bunun için her kırmızı öğenin sağındaki Fix düğmesine tıklayın. Sarı uyarı öğelerini gerektiğinde düzeltebilir veya şimdilik olduğu gibi bırakabilirsiniz. İşlemden önceki durum aşağıdaki gibidir:

İşlemden Önce Project Validation (Kırmızı İşaretli Öğeler Mevcut)
İşlemden sonraki durum aşağıdaki gibidir:

İşlemden Sonra Project Validation (Kırmızı İşaretli Öğeler Düzeltildi)
Adım 8: Sahneyi Oluşturma
Bu örnek yepyeni bir sahneyle (Scene) başlar. Unity sahnesini oluşturduktan sonra hiyerarşi penceresindeki (Hierarchy) Main Camera GameObject'ini silin. Ardından pencerenin boş bir alanına sağ tıklayın ve açılan menüden XR → XR Origin (VR) seçeneğini seçin. Aşağıda gösterilmiştir:

Sağ Tıklama Menüsüyle XR Origin (VR) Oluşturma
Adım 9: Sahneyi Yapılandırma
Hiyerarşi penceresinde (Hierarchy) XR Origin (VR) GameObject'ini seçin. Özellikler penceresindeki (Inspector) XR Origin bileşeninde Tracking Origin Mode değerini Floor olarak ayarlayın. Aşağıda gösterilmiştir:

XR Origin Tracking Origin Mode Değerini Floor Olarak Ayarlama
Hiyerarşi penceresinde (Hierarchy) XR Origin (VR) altındaki Main Camera GameObject'ini seçin ve özellikler penceresinde (Inspector) kamera özelliklerini ayarlayın:
| Özellik | Önerilen değer | Açıklama |
|---|---|---|
| Field of View | 60 | FOV |
| Clipping Planes → Near | 0.2 ~ 0.3 | Yakın kırpma düzlemi |
| Clipping Planes → Far | 3000 ~ 5000 | Uzak kırpma düzlemi; büyük ölçekli sahneleri kapsar |
| Kenar Yumuşatma | No Anti-aliasing | Varsayılan olarak anti-aliasing devre dışıdır |
| Opaque Texture | Kapalı | Varsayılan olarak kapalıdır |
| Depth Texture | Kapalı | Varsayılan olarak kapalıdır |
| Background Type | Solid Color | Düz renk önerilir |
| Background | Black | Varsayılan arka plan renginin siyah olması önerilir |
| HDR Rendering | Kapalı | Varsayılan olarak kapalıdır |
| MSAA | Kapalı | Varsayılan olarak kapalıdır |
| URP Dinamik Çözünürlük | Kapalı | Varsayılan olarak kapalıdır |
Diğer özellikler aşağıda gösterildiği gibidir:

XR Origin (VR) altındaki Main Camera nesnesinin Camera bileşeni özelliklerini ayarlama
Adım 10: Sahneyi Yüklemek İçin Kod Yazma
Hiyerarşi penceresinde (Hierarchy) Create Empty seçeneğine sağ tıklayarak boş bir nesne oluşturun, adını LCCManager yapın, Transform değerlerini sıfırlayın ve LCCManager betiğini nesneye ekleyin. Aşağıda gösterilmiştir:

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 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;
public class LCCRenderer : MonoBehaviour
{
public LCCManager m_manager;
public string m_FilePath;
private LCCCore.Renderer m_renderer;
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.Quest);
m_renderer = m_manager.GetRender(this.gameObject.transform);
m_renderer.Load(m_FilePath, onProgress, onLoaded);
//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");
}
}
Betiği hiyerarşi penceresindeki (Hierarchy) LCCRenderer GameObject'ine ekleyin. Ardından LCCManager GameObject'ini özellikler penceresindeki (Inspector) betiğin Manager özelliğine sürükleyin. Son olarak LCC dosya yolunu girin, projeyi derleyin ve çalıştırın.

LCCRenderer Betiğini Nesneye Ekleme, Manager ve Dosya Yolunu Bağlama
Unity Editor'de kolay hata ayıklama yapmak ve doğrudan bir Android cihaza derlemek için kod, çalışma ortamını ayırt etmekte derleme makroları kullanır: Unity Editor'de PC platformunu, Quest cihazında Quest platformunu kullanın.
Quest cihazlar için veri kaynağının bir sunucuya yerleştirilmesi önerilir. Test sırasında veri kaynağını doğrudan cihaz üzerinde de kullanabilirsiniz. Adımlar şöyledir:
- Derlenen uygulamayı Quest cihazında bir kez çalıştırın.
- Uygulama yüklendikten sonra veri dizinine gidin (genellikle Quest device storage → Android → data → app BundleID → Files; tam dizin için Android uygulama yükleme yoluna bakın) ve Files alt dizininin altında
LccDataadlı bir klasör oluşturun. - Tüm LCC veri kaynaklarını
LccDataklasörüne kopyalayın.
Not:
- Gerçek kullanımda, Quest uygulamasının veri kaynağını doğrudan uygulamanın içine paketlemek yerine bir sunucuya yerleştirmeniz önerilir.
- Quest 3 cihazının cihaz üzerinde 3DGS görüntüleme kapasitesi yaklaşık 700.000 Gauss primitifidir. Bu, PC tarafındaki yaklaşık 25 milyonluk kapasitenin kabaca iki büyüklük mertebesi altındadır. Cihaz, esas olarak küçük sahnelerin ve tekil nesnelerin görüntülenmesi 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 gösterildiği gibi).
İlgili Kaynaklar
- Proje ayarları ve performans optimizasyonu için Proje Ayarları Optimizasyon Kılavuzu ve Görüntüleme Performans Parametreleri Kılavuzu bölümlerine bakın.
- Diğer Meta geliştirme iş akışları için resmi belgelere bakın: Meta Developer Documentation.
- Quest geliştirmesi sırasında Project Settings → OpenXR bölümünde Desktop platformunun Render Mode değerini Multi-pass olarak ayarlayın. Aksi halde LCC sahneleri Unity'de (hem Editor hem Runtime) düzgün görüntülenmez.
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:

