LCC Unity SDK, Mesh nesnelerinden 3DGS yüzeylerine dinamik gölge düşürmeyi destekler ve daha iyi aydınlatma efektleri sağlar. Aşağıda dinamik gölgeleri uygulamak için gereken adımların tamamı açıklanmıştır.
Adım 1: Sahneyi ve GameObject'leri Oluşturma
Unity'de yepyeni bir sahne oluşturun. Unity varsayılan olarak Main Camera ve Directional Light oluşturur.
Main Camera Ayarlama
Hierarchy penceresinde Main Camera nesnesini seçin ve özelliklerini Inspector penceresinde aşağıda gösterildiği gibi ayarlayın.

Main Camera özelliklerini ayarlama
LCCManager Oluşturma
Hierarchy penceresinde boş bir alana sağ tıklayın, açılan menüden Create Empty seçeneğini seçerek boş bir GameObject oluşturun, adını LCCManager yapın, Transform değerini normalleştirin ve Add Component ile bu nesneye LCCManager betiğini ekleyin.

LCCManager GameObject'ini oluşturun ve LCCManager betiğini ekleyin
LCCRenderer Oluşturma
Hierarchy penceresinde boş bir alana sağ tıklayın, Create Empty seçeneğini seçerek boş bir GameObject oluşturun, adını LCCRenderer yapın ve Transform değerlerini Rotation.x = -90 ve Scale.x = -1 olarak ayarlayın.

LCCRenderer oluşturma ve Transform ayarı (Rotation.x = -90, Scale.x = -1)
Not:
LCCRenderer GameObject'inin Transform ayarları (Rotation.x = -90, Scale.x = -1) onu LCC veri koordinat sistemiyle hizalar. Koordinat sistemi hizalaması hakkında ayrıntılar için Unity SDK'ya Giriş belgesindeki "LCC Veri Koordinat Sistemi" bölümüne bakın.
Directional Light Gölgelerini Etkinleştirme
Hierarchy penceresinde Directional Light GameObject'ini seçin ve Inspector penceresinde gölgelerin etkin olduğundan emin olun.

Directional Light üzerinde gölgelerin etkin olduğundan emin olun
2. Adım: Render Feature Ekleme
- Unity menü çubuğunda File → Project Settings seçeneğini seçin, soldan Graphics sekmesini açın ve geçerli Default Render Pipeline Asset değerini doğrulayın. Bu örnekte URP (Universal Render Pipeline Asset) kullanılmaktadır.

Graphics ayarlarında Default Render Pipeline Asset değerini doğrulayın
- Bu Asset'e tıklayın, Project penceresinde ilgili asset dosyasını bulun ve ona bağlı Renderer öğesini belirleyin (bu örnekte
URP_Renderer.asset). - Bu Renderer asset dosyasını seçin, Inspector penceresinde Add Renderer Feature düğmesine tıklayın ve Splat Shadow Mask Feature öğesini ekleyin.

Splat Shadow Mask Feature öğesini URP Renderer'a ekleme
3. Adım: Gölge Almayı Etkinleştirmek İçin Betik Yazma
Aşağıdaki kodla LCCShadow.cs adında yeni bir C# betiği oluşturun:
using LCCCore;
using UnityEngine;
public class LCCShadow : MonoBehaviour
{
public LCCManager m_manager;
public string m_FilePath;
private LCCCore.Renderer m_renderer;
void Start()
{
m_manager.SetPlatformType(PlatformType.PC);
m_manager.SwitchRenderPass(ActiveRenderMode.SingleRender);
Debug.Log("Started ");
m_renderer = m_manager.GetRender(this.transform);
m_renderer.Load(m_FilePath, onProgress, onComplete);
}
private void onProgress(float _progress)
{
Debug.Log($"[LCCRenderer] file load progress: {_progress:P1}");
}
private void onComplete()
{
Debug.Log($"[LCCRenderer] file loaded");
m_manager.SetShadowReceive(true);
//m_manager.SetShadowColor(new Color(0, 0, 0, 1.0f));
//m_manager.SetShadowStrength(0.5f);
}
}
Not:
Gölge alma, LCC sahnesinin yüklenmesi tamamlandıktan sonra etkinleştirilmelidir. Bu nedenle
SetShadowReceive(true)çağrısıonCompletecallback'inde yapılır.
4. Adım: Betiği Ekleme ve Veri Yolunu Ayarlama
LCCShadow.csbetiğini Hierarchy penceresindeki LCCRenderer GameObject'ine ekleyin.- Inspector penceresinde LCCManager GameObject'ini betiğin Manager özelliğine sürükleyin.
- Betiğin File Path özelliğine LCC dosya yolunu girin.
5. Adım: Gölge Düşüren Mesh Nesnesi Oluşturma
- Sahnede bir Cube nesnesi oluşturun ve Cast Shadows = On olduğundan emin olun.
- Cube'un 3DGS yüzeyine düşürdüğü gölgeyi gözlemleyebilmek için onu uygun bir konuma taşıyın.
6. Adım: Çalıştırma
Game penceresinde Play düğmesine tıklayın ve düşen dinamik gölgeyi gözlemlemek için Cube'u gerçek zamanlı olarak hareket ettirin.

Çalıştırma sonrasında Cube'un 3DGS yüzeyine dinamik gölge düşürmesi
Sık Sorulan Sorular: Uyumluluk Modunu Devre Dışı Bırakma
Unity Console penceresi hata bildirir ve gölge görünmezse uyumluluk modunu devre dışı bırakın: Edit → Project Settings → Graphics yoluyla ayarlar panelini açın, URP sekmesini seçin ve Render Graph → Compatibility Mode (Render Graph Disabled) öğesinin yanındaki onay kutusunu işaretlemeyin.

Render Graph uyumluluk modunu işaretlemeyin (Render Graph Disabled)
Temel Adımlar
Mesh nesnelerinden 3DGS yüzeylerine gölge düşürmenin temel adımları:
- Sahnede gölgeleri etkin bir Directional Light bulunduğundan emin olun.
- Sahnede Cast Shadows = On ayarlı, gölge düşüren bir Mesh nesnesi bulunduğundan emin olun.
- Splat Shadow Mask Feature öğesinin URP Renderer'a eklendiğinden emin olun.
- Gölge almanın kodda LCC sahnesinin yüklenmesi tamamlandıktan sonra etkinleştirildiğinden emin olun (
SetShadowReceive(true)).
Gölgeyle İlgili API'ler
LCC Unity SDK, LCCManager üzerinden gölgeyle ilgili aşağıdaki üç API'yi sağlar. Hepsi LCC sahnesinin yüklenmesi tamamlandıktan sonra (yani onComplete callback'inde) çağrılmalıdır. SetShadowColor() / SetShadowStrength() yalnızca SetShadowReceive(true) etkinleştirildikten sonra etkili olur.
SetShadowReceive
// Return value: void
public void SetShadowReceive(bool enable)
Nokta bulutunun gölge almasını açar veya kapatır. Etkinleştirildiğinde, sahnedeki Mesh nesnelerinin gölgeleri 3DGS nokta bulutu yüzeyine düşebilir.
| Parametre | Tür | Açıklama |
|---|---|---|
enable | bool | Gölge alınıp alınmayacağı |
Kullanım örneği:
m_manager.SetShadowReceive(true);
Notlar:
- Varsayılan olarak kapalıdır.
- Sahnede gölge oluşturan bir Mesh nesnesi ve bir Directional Light gerekir.
- Etkinleştirildiğinde
_SPLAT_SHADOW_ONshader anahtar sözcüğü etkinleşir.
SetShadowColor
// Return value: void
public void SetShadowColor(Color color)
Gölge alanının rengini ayarlar.
| Parametre | Tür | Açıklama |
|---|---|---|
color | Color | Gölge rengi (RGBA) |
Kullanım örneği:
m_manager.SetShadowColor(new Color(0.3f, 0.3f, 0.3f, 1f));
Notlar:
- Varsayılan değer
(0.3, 0.3, 0.3, 1)şeklindedir. - Önce
SetShadowReceive(true)ile etkinleştirilmesi gerekir.
SetShadowStrength
// Return value: void
public void SetShadowStrength(float strength)
Gölge yoğunluğunu ayarlar. 0 gölge yok, 1 en güçlü gölge anlamına gelir.
| Parametre | Tür | Açıklama |
|---|---|---|
strength | float | Gölge yoğunluğu, [0, 1] aralığında |
Kullanım örneği:
m_manager.SetShadowStrength(0.8f);
Notlar:
- Varsayılan değer
1.0şeklindedir. - Aralık
[0, 1]; aralık dışındaki değerler otomatik olarak sınırlandırılır. - Önce
SetShadowReceive(true)ile etkinleştirilmesi gerekir.
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:

