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

LCC for UE Kullanım Kılavuzu

3DGS Görüntü Parametrelerini Ayarlama

Bölüm 08 / 26Kılavuz sürümü v3.5.0Türkçe

Bu belge üç bölümden oluşur: ortak parametreler her iki pipeline'da da çalışır, ardından her pipeline'a özgü parametreler gelir. Pipeline'a özgü parametreler, diğer pipeline'ın Details panelinde gösterilmez.

Ortak Parametreler

Render Mode

3D Gaussian Splatting (varsayılan)

Tam renk ve saydamlıkla 2D Gauss elipsleri olarak görüntüler.

LCCComponent->SetRenderMode(ERenderMode::Splatting);

Nokta Bulutu

Her splat'i tek bir renkli nokta olarak görüntüler; genel bakış veya performans kısıtlı sahneler için uygundur.

LCCComponent->SetRenderMode(ERenderMode::PointCloud);

3DGS ve nokta bulutu görüntüleme modları arasında geçiş

Nokta bulutu modu, ColorationMode ile değiştirilen iki renklendirme yöntemini destekler:

ModPanel etiketiAçıklama
DataDataNoktaları veride saklanan RGB değerleriyle renklendirir
ElevationEvelationRengi yüksekliğe göre eşler ve özgün renklerin üzerine yazar

Elevation seçildiğinde bu iki özellik renk geçişinin uçlarını belirler:

  • ElevationColorBottom — en düşük yükseklikteki renk
  • ElevationColorTop — en yüksek kotun rengi

Nokta bulutu modunda kot renklendirmesi

Çekilen sahnenin gerçek renklerini görmek için Data, arazi rölyefini ve yükseklik farklarını okumak için Elevation seçeneğini kullanın.

Nokta bulutu modunda veri renklendirme

Nokta bulutu modunda, veride saklanan gerçek renkleri gösteren veri renklendirmesi

Yükleme Modu

Veri, ana kısım ve çevre kısmı olarak ikiye ayrılır; LoadMode hangi kısmın görüntüleneceğini belirler:

ModAçıklama
BothAna kısmı ve çevreyi görüntüler (varsayılan)
OnlyMainYalnızca ana kısmı görüntüler
OnlyEnvironmentYalnızca çevreyi görüntüler
NoneHiçbir şeyi görüntülemez, veri yüklü kalır

LoadMode ile ana kısım ve çevre görüntüleme kapsamını değiştirme

Not: None yalnızca görüntülemeyi durdurur, veri video belleğini kullanmaya devam eder. Kaynakları serbest bırakmak için UnLoad() çağırın.

Işık Modu

Unlit (varsayılan)

Yalnızca Gaussian'ların kendi rengini kullanır, sahne ışıklarıyla etkileşime girmez.

Lit

Ertelenmiş aydınlatmayı etkinleştirir; böylece 3DGS sahnesi yönlü ışıklardan, nokta ışıklardan ve diğer ışıklardan etkilenebilir. Derinlik ve normal bilgisi gerekir.

LCCComponent->SetLightMode(ELightMode::Lit);

Unlit ve Lit ışık modları arasında geçiş

Mip Filtresi

Etkinleştirildiğinde, farklı ölçeklerdeki titremeyi azaltmak için opaklık telafisiyle birlikte 2B alçak geçiren filtre uygular.

Varsayılan değer veri biçimine bağlıdır:

FormatVarsayılan
.lcc2 / .lccEtkin
.ply / .spz / .sogDevre dışı

Tek dosyalı biçimlerde, verinin özgün keskin görünümünü korumak için varsayılan olarak kapalıdır. Titreme oluştuğunda elle etkinleştirin:

LCCComponent->SetUseMipFilter(true);

Küresel Harmonikler (SH)

Görüntüleme açısına bağlı renk değişimi sağlar ve aydınlatma doğruluğunu artırır.

LCCComponent->SetUseShcoef(true);

Gereksinimler:

  • Görüntüleme modu 3DGS'dir
  • Verinin kendisi SH katsayıları içerir

Verinin SH katsayıları içerip içermediği biçime bağlıdır:

FormatNasıl Belirlenir
.lcc2 / .lccVerinin dosya türüne göre belirlenir: Quality türü SH içerir, Portable türü içermez
.ply / .spz / .sogDosya türü işareti yoktur; SH katsayılarının dosyaya gerçekten yazılıp yazılmadığına bağlıdır

Veri SH katsayısı içermediğinde bu anahtar Details panelinde devre dışı olur.

SH Bantları

SH etkinleştirildikten sonra SHBands, hesaplamaya katılan derece sayısını 1 ile 3 arasında ayarlar. Bu özellik yalnızca LCC2 işlem hattında kullanılabilir ve .lcc2, .sog, .spz ile .ply için aynı şekilde geçerlidir.

LCC2Component->SetSHBands(2);
AyarlarEtki
bUseShcoef kapalıHiç SH yok; renk görünüme göre değişmez, en düşük maliyet
SHBands = 1En temel görünüme bağlı değişimi korur; GPU bellek kullanımı 3. derecenin dörtte biridir
SHBands = 2İkisinin arasında
SHBands = 3 (varsayılan)Tam görünüme bağlı etki, en yüksek maliyet

Varsayılan değer, verinin içinde saklanan dereceden gelir ve aynı zamanda üst sınırdır. Yalnızca 2 derece saklayan verilerde 3 ayarlamanın ek bir etkisi olmaz. SH'yi tamamen kapatmaya kıyasla derecenin düşürülmesi daha ince bir ödünleşimdir: Görünüme bağlı değişimin bir kısmını korurken hem gölgelendirme maliyetini hem de GPU bellek kullanımını azaltır. Bellek değerleri için Görüntüleme - Tampon Yapısı bölümüne bakın.

SplatScale

Her bir splat dörtgeninin boyutunu 0,001 ile 1,0 arasında kontrol eder.

Değeri düşürmek, tek bir splat'in kapladığı ekran alanını azaltır; bu da yarı saydam örtüşmeyi azaltır ve piksel doldurma maliyetini düşürür. Değeri çok fazla düşürmek yüzeylerde boşluklara yol açar veya yüzeylerin belirgin biçimde ince görünmesine neden olur. Bu ayar, performans ayarı seçeneklerinden biridir; bkz. Performans Kılavuzu.

LCCComponent->SetSplatScale(1.0f);
SplatScale ve GlobalAlpha ayarları

Splat ölçeğini ve 3DGS genel alpha değerini ayarlama

Genel Alpha

Her görüntüleme modunun kendi genel alpha özelliği vardır; ikisi de 0,0 ile 1,0 arasındadır:

ÖzellikUygulandığı Yer
GlobalAlpha3DGS
GlobalAlpha_PointCloudNokta bulutu
LCCComponent->SetGlobalAlpha(1.0f);
LCCComponent->SetGlobalAlpha_PointCloud(1.0f);
Nokta bulutu modunda alfa ayarı

Nokta bulutu modunun genel alpha değerini ayarlama

Renk Ayarı

LCC renk ayarı parametreleri

LCC doygunluk, kontrast ve ton parametrelerini yapılandırma

Çalışma zamanında değişiklik desteklenir:

ÖzellikMenzilAçıklama
Doygunluk0.0~2.0Kanal başına doygunluk
Kontrast0.0~2.0Kanal başına kontrast
Gamma0.0~2.0Kanal başına gama düzeltmesi
Offset-1.0~1.0Eklemeli renk kayması
ColorTintLinearColorÇarpımsal ton
LCCComponent->SetSaturation(FVector4(1.2, 1.2, 1.2, 1.0));
LCCComponent->SetColorTint(FLinearColor::White);

Renk parametreleri dinamik olarak ayarlandıktan sonraki görüntü

Kenar Yumuşatma

bAffectAntiAliasingMethod etkinken eklenti, kenar yumuşatma yöntemini otomatik olarak yönetir:

YapılandırmaVarsayılan Yöntem
LCC1 SplatFXAA
LCC2 SplatTSR
LCC1 Point CloudMSAA
LCC2 Point CloudTSR

Varsayılanlar ProjectSettings > Plugins > LCC4Unreal altında değiştirilebilir.

Not: Kenar yumuşatma yöntemi, görünüm düzeyinde genel bir ayardır. Aynı sahnede hem LCC işlem hattına hem de LCC2 işlem hattına ait Actor'ler bulunduğunda, her biri kenar yumuşatma yöntemini kendi yapılandırmasına göre ayarlar. Bu nedenle hangisinin geçerli olacağı yürütme sırasına bağlıdır ve sonuç belirsizdir. Bu tür sahnelerde her iki işlem hattının kenar yumuşatma yöntemini elle aynı değere ayarlayın.

LCC4Unreal kenar yumuşatma ayarları

Her LCC işlem hattının varsayılan kenar yumuşatma yöntemini yapılandırma

Son İşlem

LCC4Unreal son işlem ayarları

LCC4Unreal son işlem ve ton eşleme seçeneklerini yapılandırma

AyarlarVarsayılanAçıklama
Enable Post ProcessEtkinLCC piksellerinin motorun son işlem hattına dahil olup olmadığını belirler
Apply Tonemap InverseDevre dışıRenk uzayı dönüşümü sırasında FilmToneMapInverse uygular; böylece motorun ton eşlemesinden sonra verinin özgün görünümü geri kazanılır

Bunlar ProjectSettings > Plugins > LCC4Unreal > Rendering altındaki genel ayarlardır ve her iki işlem hattına da uygulanır. Bir sahnedeki tüm LCC bileşenleri aynı modu paylaşır; mod Actor başına ayarlanamaz.

Enable Post Process Seçeneğini Kapatmanın Sonucu

İki durum farklı işlenir:

DurumİşlemeSonuç
EtkinLCC piksellerine InverseACES uygulanır; böylece pikseller motorun son işlem hattına girer3DGS, sahnedeki normal nesnelerle birlikte ton eşleme, Bloom, pozlama, renk derecelendirme ve diğer son işlemleri alır
Devre dışıTon eşlemeden önce bir anlık görüntü kaydedilir ve ton eşleme tamamlandıktan sonra bu görüntü alfa ile esas görüntüye geri karıştırılır3DGS özgün renklerini korur; ton eşlemeden ve sonrasındaki tüm son işlem aşamalarından etkilenmez

Seçeneği kapatmak, renk doğrulama veya referans görüntüyle karşılaştırma gibi özgün veri renklerinin birebir yeniden üretilmesi gereken durumlara uygundur. Bunun bedeli, 3DGS ile sahnedeki normal nesnelerin artık tutarlı görünmemesidir. Bloom ve pozlama gibi genel son işlem efektleri de 3DGS kısmına uygulanmaz.

Not: Enable Post Process seçeneğini kapatmak için motorda alfa kanalı çıkışı gerekir; aksi halde birleştirme sonucu hatalı olur. ProjectSettings > Engine > Rendering altında Enable Alpha Output seçeneğini etkinleştirin (UE 5.4 ve öncesinde bu, "Enable alpha channel support in post processing" ayarına karşılık gelir; ayar Linear color space only olarak seçilmeli ve ardından editör yeniden başlatılmalıdır). Eklenti bu seçeneğin kapalı olduğunu algıladığında bir uyarı gösterir.

Apply Tonemap Inverse Ne Yapar?

3DGS verilerinin renkleri, çekim sırasında zaten ton eşlemeden geçmiş bitmiş renklerdir. Bu renklerin motor ton eşlemesinden yeniden geçirilmesi onları ikinci kez sıkıştırır; bu durum genellikle düşük kontrast ve grimsi parlak bölgeler olarak görülür.

Bu seçenek etkinleştirildiğinde eklenti, renk uzayı dönüşümü aşamasında LCC renklerine FilmToneMapInverse uygular ve ardından gelen motor ton eşlemesini dengeler. Böylece nihai görüntü verinin özgün görünümünü geri kazanır.

DurumKullanım Senaryosu
Kapalı (varsayılan)3DGS ve sahnedeki normal nesneler aynı ton eşlemeyi paylaşır; genel görünüm tutarlı olur
Etkin3DGS, verinin özgün renklerini ve kontrastını göstermelidir

Bu seçenek her iki işlem hattına da uygulanır ve yalnızca Enable Post Process etkinken anlamlıdır: Enable Post Process kapalıysa 3DGS artık ton eşlemeye katılmaz, dolayısıyla dengelenecek bir şey kalmaz.

LCC2 İşlem Hattına Özgü Parametreler

Depth Threshold

AlphaThreshold, 3DGS'nin derinlik arabelleğine hangi derinlik katmanını yazacağını belirler. 3DGS, birçok yarı saydam splat katmanından oluşur ve eklenti opaklığı yakından uzağa doğru biriktirir. Biriken değer bu eşiğe ulaştığında, mevcut derinlik o pikselin temsili derinliği olarak kaydedilir.

ÖğeDeğer
Menzil0.01 ~ 0.99
Varsayılan0.5

Eşiği düşürmek derinliği kameraya doğru, yükseltmek ise kameradan uzağa doğru kaydırır. Bu derinlik aydınlatmada, örtme testlerinde ve derinliğe bağlı son işlemlerde kullanılır; bu nedenle Lit modundaki yüzey tepkisi ve normal mesh'lerle karşılıklı örtme de buna göre değişir.

LCC2Component->AlphaThreshold = 0.5f;

Eşiği düşürmek için tipik bir durum şudur: veri, böcek veya kuş kanatları, mesh ağlar ya da yaprak kenarları gibi opaklığı çok düşük ince yapılar içerir. Bu bölgelerdeki splat'ler 0,5 olan varsayılan birikmiş opaklığa hiç ulaşmaz, bu yüzden derinlik yazılmaz. Sahnede ayrıca gökyüzü kutusu, sis veya siyah olmayan başka bir arka plan varsa, derinlik bulunmadığı için bu bölgeler arka plan rengiyle karışır; yapılar soluk görünür ve ayrıntı kaybolur. Eşiği düşürmek, bu bölgelerin derinliği daha erken yazmasını sağlar ve ayrıntıyı geri kazandırır.

Değeri kademeli olarak düşürün ve sonucu gözlemleyin. Çok düşük bir değer tüm derinliği kameraya doğru çeker; örtme ilişkilerini ve derinliğe bağlı son işlemleri etkiler.

Not: Bu özellik Details panelinin Advanced daraltılmış bölümünde yer alır ve varsayılan değer çoğu sahneye uygundur.

LCC İşlem Hattına Özgü Parametreler

Shadow Receiving

LCCComponent->bReceiveShadows = true;

Not: 3DGS görüntüleme modunu gerektirir. Etkinleştirmek performansı önemli ölçüde etkiler.

Gölge alan 3DGS

Gölge alma etkinken 3DGS görüntüleme

Seam Cutting

bEnableSeamCutting, parçalı görüntülemenin düğüm sınırlarında oluşturduğu dikişleri keser. LCC veri sürümü 5.0 ve üzeri bunu otomatik olarak etkinleştirir; daha düşük sürümlerdeki verilerde görünür dikişler oluşursa bunu elle etkinleştirin.

LCCComponent->bEnableSeamCutting = true;

Not: Bu özellik Details panelinin Advanced daraltılmış bölümünde yer alır.

Çoklu Actor Yarı Saydamlık Sıralaması

LCC işlem hattı derinlik çıktısı vermez; bu nedenle birden fazla LCC Actor'ı derinlik testiyle doğru karşılıklı örtmeye ulaşamaz ve bunu yalnızca yarı saydam çizim sırasıyla yaklaşık olarak sağlayabilir. bEnableMultipleLCCActorAutoSort (varsayılan olarak etkin), her Actor'ın kameraya uzaklığına göre TranslucentSortPriority değerini otomatik ayarlar. Böylece yakın Actor'lar daha sonra çizilir ve çoğu durumda makul bir üst üste binme sonucu elde edilir.

Bu sıralama Actor düzeyinde çalışır: her Actor bir bütün olarak sıralamaya katılır ve splat düzeyine kadar bölünmez. Bu durum doğal sınırlamalar getirir:

  • İki LCC Actor'ının sınırlayıcı kutuları uzayda kesiştiğinde veya iç içe geçtiğinde, doğru ön-arka ilişkisini ifade edebilecek tek bir genel sıra yoktur ve kesişim alanındaki örtme hatalı olur
  • Tek bir Actor kendi içinde geniş bir derinlik aralığına yayıldığında, Actor merkezine olan uzaklığa göre sıralama gerçek ön-arka ilişkisiyle uyuşmayabilir

Birden fazla 3DGS veri setinin birbirini doğru örtmesi gerekiyorsa LCC2 işlem hattına geçin. Üst üste binme sırasının elle belirlenmesi gerekiyorsa bu seçeneği kapatın ve bunun yerine her Actor için TranslucentSortPriority değerini ayarlayın.

LCC2 işlem hattı bu özelliği sunmaz: verileri tek bir Buffer içinde birleştirilir, splat başına genel olarak sıralanır ve örtme testlerine katılmak üzere derinlik çıktısı verir; bu nedenle müdahale gerekmez.

Alpha Holdout: 3DGS'yi Görüntüden Saydam Olarak Kesme

Yalnızca LCC2 işlem hattı. Alpha Holdout, 3DGS'nin SceneColor içinde "saydam bir delik açmasını" sağlar: kapladığı pikseller saydam arka planla dışa aktarılır. Genellikle 3DGS'yi nihai görüntüden kesip harici bir işlem hattında birleştirmek için kullanılır (yeşil perde tarzı birleştirme, harici bir görüntülemeyle üst üste bindirme vb.).

Bileşenin Yerleşik Holdout Özelliğini Kullanır

Eklenti, primitive'in yerleşik Holdout özelliğini (UE'nin UPrimitiveComponent::bHoldout değeri) doğrudan okur; ayrı bir eklenti anahtarı yoktur. Yapmanız gereken tek şey, LCC Actor'ının görüntüleme bileşeninde Rendering → Holdout seçeneğini işaretlemektir.

Etkili olup olmaması proje tarafındaki ön koşullara bağlıdır; bunların hepsi Project Settings içinde yapılandırılır, konsol komutlarını elle yazmanız gerekmez. Ön koşullar motor sürümüne göre değişir (aşağıya bakın) ve eklenti sürüme otomatik olarak uyum sağlar.

Ön Koşul 1: Son İşlem Alfa Kanalını Etkinleştirme (tüm sürümlerde gereklidir)

Bu seçeneğin adı ve konumu motor sürümlerine göre farklıdır, ancak her zaman Project Settings → Rendering altında bulunur:

Motor sürümüAyar adıKonum ve değer
5.4 / 5.5Enable alpha channel support in post processing (experimental)Rendering → PostProcessing altında Linear Color Space Only veya Allow through Tonemapper olarak ayarlayın
5.6 / 5.7 / 5.8Alpha OutputRendering → Default Settings altında etkinleştirmeniz yeterlidir
UE 5.4'te son işlem alfa kanalı ayarı

UE 5.4 / 5.5: Enable alpha channel support in post processing

UE 5.8'de son işlem alfa kanalı ayarı

UE 5.6 / 5.7 / 5.8: Alpha Output

İpucu: Ayarı değiştirdikten sonra son işlem shader'larını yeniden derlemek için editörü yeniden başlatın. Bu seçenek olmadan şeffaf boşluk son işleme ulaşmaz ve 3DGS düz siyah görüntülenir.

Ön Koşul 2: 5.7 / 5.8 Sürümlerinde Holdout Desteğini Etkinleştirme

5.4 / 5.5 / 5.6 sürümlerinde ayrı bir Holdout anahtarı yoktur; Ön Koşul 1 karşılandığında bileşendeki Holdout seçeneğini işaretlemeniz yeterlidir. 5.7 / 5.8 sürümlerinde ayrıca Project Settings içinde etkinleştirilmesi gereken özel bir anahtar bulunur:

  • Project Settings → Rendering altındaki Support Primitive Alpha Holdout seçeneği (alttaki r.Deferred.SupportPrimitiveAlphaHoldout ayarına karşılık gelir); etkinleştirdikten sonra editörü yeniden başlatın.
  • Görünüm penceresindeki AllowPrimitiveAlphaHoldout gösterim bayrağının açık olduğundan emin olun (varsayılan olarak açıktır, genellikle değişiklik gerekmez).

Bu iki seçenek 5.4–5.6 sürümlerinde bulunmaz, bu nedenle bu sürümlerde etkinleştirmeniz gerekmez; yalnızca 5.7 ve sonraki sürümlerde Project Settings içinde etkinleştirilmesi gerekir.

Etkinleştirme Adımları

  1. Motor sürümünüz için son işlem alfa kanalını yukarıdaki tabloya göre etkinleştirin, ardından editörü yeniden başlatın.
  2. 5.7 / 5.8 sürümlerinde ayrıca Support Primitive Alpha Holdout seçeneğini etkinleştirin ve editörü yeniden başlatın.
  3. LCC Actor'ün görüntüleme bileşenini seçin ve Rendering kategorisi altındaki Holdout seçeneğini işaretleyin.
Bileşenin Rendering kategorisi altında Holdout seçeneğini işaretleyin

Bileşenin Rendering kategorisi altında Holdout seçeneğini işaretleyin

İpucu: Holdout altındaki 3DGS, Unlit moduna zorlanır (GBuffer'a yazmaz ve aydınlatılacak bir şeyi yoktur).

İpucu: Holdout işaretli olduğu hâlde görüntü şeffaf yerine düz siyahsa, büyük olasılıkla son işlem alfa kanalı kapalıdır (veya 5.7+ sürümlerinde Support Primitive Alpha Holdout kapalıdır).

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