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

LCC for UE Kullanım Kılavuzu · En İyi Uygulamalar

LixelStudio Mesh ile 3DGS'yi Yeniden Aydınlatma

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

Eklenti hibrit yeniden aydınlatmayı destekler: 3DGS'yi ölçeği uyumlu bir mesh ile eşleştirin; böylece 3DGS, mesh'inkine yakın bir aydınlatma tepkisi alır ve kendi üzerine gölge düşürebilir.

Sonuç, 3DGS'nin altında duran mesh'in geometrik doğruluğuna bağlıdır. Mesh 3DGS ile ne kadar iyi hizalanırsa aydınlatma tepkisi ve gölgeler o kadar inandırıcı olur.

Altta yatan mekanizma ve parametreler için bkz. Proxy Mesh. Normal modları arasındaki ödünleşimler için bkz. Normaller ve Aydınlatma.

Hangi Mesh Kullanılmalı

LCC Studio ve LixelStudio ikisi de mesh üretebilir, ancak farklı amaçlara hizmet eder.

LCC Studio mesh'iLixelStudio mesh'i
Yüzey doğruluğuDaha kabaGerçek şekle daha yakın
Dosya boyutuKüçükBüyük
Uygun olduğu kullanımÇarpışma AlgılamaYeniden Aydınlatma

Çarpışma için LCC Studio mesh'i yeterlidir, bkz. Çarpışma. Yeniden aydınlatma için LixelStudio mesh'ini kullanın.

LCC Studio mesh'i:

LCC Studio mesh'i, genel görünüm
LCC Studio mesh'i, yakın çekim

LixelStudio mesh'i:

LixelStudio mesh'i, genel görünüm
LixelStudio mesh'i, yakın çekim

Adım 1: Döşemeli Modelleri Tek Klasörde Toplayın

LixelStudio, mesh'leri döşemeler (tile) halinde dışa aktarır. Büyük bir sahnede, her biri bir .obj dosyası ve dokularını içeren çok sayıda klasör oluşur. İçe aktarmadan önce bunların tek bir mesh'te birleştirilmesi gerekir; aksi halde çok sayıda ayrı .obj dosyası elde edersiniz.

Aşağıdaki adımlarda Blender kullanılır; herhangi bir 3D modelleme aracı aynı şekilde çalışır. Blender'ı resmi siteden indirin.

Blender, bir klasör grubunun aynı anda içine bırakılmasını kabul etmez; bu nedenle alt klasörlere dağılmış .obj dosyalarının önce aynı seviyeye çıkarılması gerekir. Onlarca klasörü elle sürüklemek pratik değildir, bu yüzden tek bir PowerShell komutu kullanın.

Tüm alt klasörleri içeren kök klasörü açın, adres çubuğuna powershell yazın ve Enter tuşuna basın. Terminal geçerli dizinde açılır.

Adres çubuğuna powershell yazma

Dosya Gezgini adres çubuğuna powershell yazın

Bu komutu kopyalayıp yapıştırın:

Get-ChildItem -Recurse -File | Move-Item -Destination .

Not: Komut, alt klasörlerdeki tüm dosyaları geçerli dizine çeker; bu nedenle çalıştırmadan önce doğru klasörde olduğunuzu kontrol edin. Örneğin A klasörü B ve C klasörlerini içeriyorsa, PowerShell'i A klasörünün adres çubuğundan açın; komut çalıştıktan sonra B ve C içindeki tüm dosyalar A klasörüne taşınır.

Çalıştırmadan önce alt klasörler

Komut çalıştırılmadan önce klasör yapısı

Komutu yapıştırma

Komutu yapıştırıp çalıştırın

Yapıştırdıktan sonra Enter tuşuna basın. İşlem birkaç saniye sürer. Yeni bir komut istemi görünmesi, komutun tamamlandığı anlamına gelir.

Tüm dosyalar dışarı çıkarıldı. Boş olduklarını doğrulamak için birkaç alt klasörü açın.

Çıkarma sonrası dosya listesi

Tüm .obj dosyaları ve dokular artık aynı seviyede

Adım 2: Blender'da Tek Dosyada Birleştirin

Tüm dosyaları seçmek için Ctrl + A tuşlarına basın ve Blender'a sürükleyin.

Tüm dosyaları seçme

Tüm dosyaları seçin

Blender'a sürükleme

Blender'a sürükleyin

Import Wavefront OBJ seçeneğine tıklayın. Yönelimi doğru almak için Up Axis değerini Z, Forward Axis değerini X olarak ayarlayın.

İçe aktarma yönelim ayarları

Up Axis değerini Z, Forward Axis değerini X olarak ayarlayın

Tüm döşemeler içe aktarıldı.

İçe aktarılan döşemeler

Tüm döşemeler içe aktarıldı

Tüm döşemeleri seçmek için A, tek bir mesh'te birleştirmek için Ctrl + J tuşlarına basın. Büyük bir sahnede bu işlem yaklaşık bir dakika sürebilir; tamamlanmasını bekleyin.

Birleştirilmiş mesh

Tek bir birleştirilmiş mesh

Not: Sahnenin tamamı yeniden aydınlatma gerektirmiyorsa, Unreal Engine'de performans kazanmak için ihtiyacınız olmayan bölümleri silin.

Adım 3: Draw Call Sayısını Azaltın

Bu mesh yeniden aydınlatma için Unreal Engine'e aktarıldığında, malzemelerinin hiçbirine gerek kalmaz. Görüntülenen sahneyi 3DGS oluşturur; proxy mesh yalnızca hesaplamayı besler. Bu nedenle malzemeler bir işe yaramaz ve kaynak tüketir.

LixelStudio mesh'indeki her doku, Unreal Engine'de bir draw call anlamına gelir. Büyük ölçekte bu, çok sayıda draw call demektir ve mesh'i doğrudan proxy olarak kullanmak takılmalara yol açar.

Collection içinde mesh'i seçin ve draw call sayısını Blender'ın Python konsolundan kontrol edin.

Blender Python konsolu

Python konsoluna geçin

Aşağıdaki komutu yapıştırın ve Enter tuşuna basın:

obj = bpy.context.object
print("Material slots:", len(obj.data.materials))
Malzeme yuvası sayısı çıktısı

Yazdırılan sayı, draw call sayısıdır

Ekran görüntüsündeki mesh 8859 draw call içeriyor.

Bu sayıyı düşürmek için mevcut tüm malzemeleri kaldırın ve yerine tek bir malzeme atayın:

import bpy

# Get the currently selected object in Blender
obj = bpy.context.object

# Make sure a valid Mesh object is selected
if obj is None or obj.type != "MESH":
    raise Exception("Please select a Mesh object first.")

# Create a new white clay material
mat = bpy.data.materials.new("M_White_Clay")
mat.use_nodes = True

# Configure the Principled BSDF shader settings
bsdf = mat.node_tree.nodes.get("Principled BSDF")
if bsdf:
    bsdf.inputs["Base Color"].default_value = (1, 1, 1, 1)  # White color
    bsdf.inputs["Roughness"].default_value = 1.0            # Fully rough / matte surface
    bsdf.inputs["Metallic"].default_value = 0.0             # Non-metallic material
    bsdf.inputs["Alpha"].default_value = 1.0                # Fully opaque

# Remove all existing material slots from the mesh
obj.data.materials.clear()

# Add the single new white material
obj.data.materials.append(mat)

# Assign every face to material slot 0
for poly in obj.data.polygons:
    poly.material_index = 0

# Print the result for verification
print("Done")
print("Material slots:", len(obj.data.materials))
print("Used material indices:", len(set(p.material_index for p in obj.data.polygons)))
print("Estimated draw calls:", len(set(p.material_index for p in obj.data.polygons)))

Komutu çalıştırdıktan sonra draw call sayısının bire düştüğünü doğrulayın.

Draw call sayısı bire düştü

Draw call sayısı bire düştü

Adım 4: Unreal Engine'e Aktarın

Mesh'i .obj veya .fbx olarak dışa aktarın ve Unreal Engine'e aktarın.

Unreal Engine'e aktarıldı

Unreal Engine'e aktarıldıktan sonra mesh

Ardından ProxyMesh Actor'ı yerleştirmek ve normal modunu ProxyMesh olarak ayarlamak için Proxy Mesh bölümünü izleyin.

Sonuç hatalı görünüyorsa Proxy Mesh sorun giderme 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