LCC Unity SDK'nın çekirdek yöneticisidir. Tüm Renderer örneklerini, kameraları, genel görüntüleme durumunu, ayrıca düzenleme işlemlerini (kırpma / vurgulama / ton), decal projeksiyonunu, yakalamayı (snapping) ve etkileşim sorgularını (raycast / çarpışma) yönetir. Tüm sahnede yalnızca bir LCCManager örneği bulunmalıdır.
| Ad Alanı | LCCCore |
| Temel Sınıf | MonoBehaviour |
LCCManager'ın herkese açık özelliği yoktur; tüm işlevlere yöntemler aracılığıyla erişilir. Yöntemler amaçlarına göre gruplandırılmıştır:
- Başlatma ve Yapılandırma
- Çalışma Zamanı Görüntüleme Kontrolü
- Aydınlatma ve Gölgeler
- Kamera Yönetimi
- Kırpma / Vurgulama / Ton
- Decal Projeksiyonu
- Yakalama
- Işın Atma ve Çarpışma Sorguları
- Görsel Efektler
- Instance Sorguları
Başlatma ve Yapılandırma
Aşağıdaki yöntemler, veri yüklenmeden önce platform, görüntüleme modu, kapasite gibi ön yapılandırmaları tamamlamak için kullanılır. Yöntemlerin çoğu herhangi bir Renderer.Load() çağrısından önce çağrılmalıdır.
SetPlatformType
public void SetPlatformType(PlatformType _type)
SDK'nın hedef çalışma platformunu ayarlar. Bu ayar, dahili görüntüleme stratejisini ve kaynak ayırmayı etkiler.
| Parametre | Tür | Açıklama |
|---|---|---|
_type | PlatformType | Hedef platform; bkz. PlatformType |
Notlar:
- Herhangi bir
GetRender()çağrısından önce çalıştırılmalıdır.
Örnek:
lccManager.SetPlatformType(PlatformType.PC);
SwitchRenderPass
public void SwitchRenderPass(ActiveRenderMode _mode)
Genel görüntüleme mimarisi modunu ayarlar. MultiRender paylaşılan bir GPU tamponu kullanır ve aynı anda en fazla 255 Renderer görüntüleyebilir; SingleRender ise SDK'nın veri boyutuna göre görüntüleme yolunu otomatik seçmesini sağlar.
| Parametre | Tür | Açıklama |
|---|---|---|
_mode | ActiveRenderMode | Görüntüleme modu; bkz. ActiveRenderMode |
Notlar:
- Herhangi bir
Renderer.Load()çağrısından önce çağrılmalıdır. - Yalnızca PC / Mac platformlarında etkilidir; mobil / VR platformları uyarlanabilir strateji kullanır ve bu yöntemin çağrılması reddedilir.
MultiRendermodu HTTP veri kaynaklarını desteklemez; HTTP verileri içinSingleRenderkullanın.- Herhangi bir Renderer
Load()işlemini tamamladığında mod kilitlenir ve bir daha değiştirilemez.
Örnek:
lccManager.SwitchRenderPass(ActiveRenderMode.MultiRender);
GetRender (Aşırı Yükleme 1: Transform'a Bağlama)
// Return value: Renderer, null on failure
public Renderer GetRender(Transform _transform)
Yeni bir görüntüleme örneği oluşturur ve belirtilen Transform'a bağlar. Oluşturduktan sonra veriyi yüklemek için Renderer.Load() çağrılmalıdır.
| Parametre | Tür | Açıklama |
|---|---|---|
_transform | Transform | Görüntüleme örneğinin bağlanacağı Transform |
Notlar:
- Önce
SetPlatformType()veSetMainCamera()çağrılmalıdır. MultiRendermodunda en fazla 255 Renderer desteklenir.
Örnek:
var go = new GameObject("LCCScene");
var renderer = lccManager.GetRender(go.transform);
renderer.Load(filePath, null, () => Debug.Log("Loaded"));
GetRender (Aşırı Yükleme 2: GameObject'i Otomatik Oluşturma)
// Return value: Renderer, null on failure
public Renderer GetRender(out GameObject gameObject)
LCCRenderer adında bir GameObject'i otomatik olarak oluşturur ve görüntüleme örneğini bu nesnenin Transform'una bağlar.
| Parametre | Tür | Açıklama |
|---|---|---|
gameObject | out GameObject | Otomatik oluşturulan GameObject'i çıktı olarak verir; başarısız olursa null döner |
Örnek:
var renderer = lccManager.GetRender(out GameObject go);
renderer.Load(filePath, null, () => Debug.Log("Loaded"));
SetMaxBufferSplat
public void SetMaxBufferSplat(int _count)
GPU tamponunun azami kapasitesini (Splat sayısı) ayarlar. Bir kez ayrılır ve dinamik olarak değiştirilemez.
| Parametre | Tür | Açıklama |
|---|---|---|
_count | int | Azami Splat sayısı, birim: on bin (değer × 10000 = gerçek sayı) |
Notlar:
- Herhangi bir
Renderer.Load()çağrısından önce çağrılmalıdır; ayrıca önceSetPlatformType()çağrılmalıdır. - Daha büyük kapasite, daha yüksek video belleği kullanımı anlamına gelir; ihtiyaca göre ayarlayın.
- Platform sınırları: PC / Mac / PCVR 45 milyon, Android / iOS 6 milyon, VR (Pico / Quest / PicoSwan / AVP / OpenXR) 2 milyon.
- Varsayılanlar: PC / Mac 30 milyon, Android / iOS 3 milyon, VR 1 milyon.
Örnek:
lccManager.SetMaxBufferSplat(3000); // 30 million points
SetFullRenderSplat
public void SetFullRenderSplat(int _count)
PC / Mac tam görüntüleme için üst eşiği ayarlar. Veri boyutu bu değerin altındaysa tam görüntüleme yolu, aksi halde parçalı görüntüleme yolu kullanılır.
| Parametre | Tür | Açıklama |
|---|---|---|
_count | int | Tam görüntüleme üst sınırı, birim: on bin, aralık [100, 4500] |
Notlar:
- Yalnızca PC / Mac / PCVR platformlarında desteklenir.
- Herhangi bir
Renderer.Load()çağrısından önce çağrılmalıdır; ayrıca önceSetPlatformType()çağrılmalıdır.
Örnek:
lccManager.SetFullRenderSplat(2500); // 25 million points
SetMaxRenderSplats
public void SetMaxRenderSplats(int _count)
Çalışma zamanında her karede görüntülenecek azami Splat sayısını ayarlar. Load() sonrasında dinamik olarak çağrılabilir.
| Parametre | Tür | Açıklama |
|---|---|---|
_count | int | Çalışma zamanında görüntülenecek azami Splat sayısı, birim: on bin |
Notlar:
- Çalışma zamanında dinamik olarak ayarlanabilir.
SetMaxBufferSplat()ile ayarlanan kapasiteyi aşamaz; aşıldığında değer otomatik olarak sınırlandırılır.- Tam görüntüleme modunda etkisi yoktur.
Örnek:
lccManager.SetMaxRenderSplats(2500); // 25 million points
GetLoadRatio
// Return value: float, [0,1] current data loading progress
public float GetLoadRatio()
Geçerli sahne verisinin yükleme ilerlemesini sorgular.
Notlar:
- Tam görüntüleme modunda her zaman
1.0döndürür. - Parçalı görüntüleme modunda, geçerli görünümdeki yüklenmiş düğümlerin oranını döndürür; değer kamera hareketiyle gerçek zamanlı değişir ve sürekli artan genel bir ilerleme değeri değildir.
Örnek:
float ratio = lccManager.GetLoadRatio();
progressBar.value = ratio;
SetSelectionMode
public void SetSelectionMode(SelectionMode mode)
Düğüm seçim stratejisini ayarlar.
| Parametre | Tür | Açıklama |
|---|---|---|
mode | SelectionMode | Seçim stratejisi; bkz. SelectionMode |
Notlar:
Auto(varsayılan): sahnenin genel sınır kutusuna göre otomatik belirlenir; sahnenin azami boyutu yaklaşık 380 metreyi aştığında otomatik olarakLargemoduna geçer.Normal: küçük ve orta ölçekli sahneler için uygundur.Large: çok büyük sahneler (1000 metreden fazla) için uygundur.- Değiştirildiğinde hemen etkili olur.
Örnek:
lccManager.SetSelectionMode(SelectionMode.Auto);
Çalışma Zamanı Görüntüleme Kontrolü
Aşağıdaki yöntemler, görüntüleme hassasiyetini, görüntü efektlerini ve görüntüleme anahtarlarını ayarlamak için çalışma zamanında dinamik olarak çağrılabilir.
SetDetailLevel
public void SetDetailLevel(float sse)
Görüntüleme hassasiyet seviyesini ayarlar. Daha büyük değer, daha ayrıntılı görüntüleme ve daha yüksek performans tüketimi anlamına gelir.
| Parametre | Tür | Açıklama |
|---|---|---|
sse | float | Hassasiyet seviyesi, aralık [1, 100]; aşıldığında otomatik olarak sınırlandırılır |
Notlar:
- Logaritmik eşleme kullanır: düşük değer aralığında değişiklikler belirgindir, yüksek değer aralığında ise yumuşaktır.
- Çalışma zamanında dinamik olarak ayarlanabilir.
- Yalnızca
Normalseçim modunda etkilidir.
Örnek:
lccManager.SetDetailLevel(50f); // Medium precision
SetStartLod
public void SetStartLod(int lod)
LOD genişletme başlangıç noktasını ayarlar (0 tabanlı). 0 en ayrıntılı seviyedir; sayı büyüdükçe seviye daha kaba olur.
| Parametre | Tür | Açıklama |
|---|---|---|
lod | int | LOD başlangıç seviyesi, aralık [0, 10]; aşıldığında otomatik olarak sınırlandırılır |
Notlar:
- Fiilen geçerli olan üst sınır, verinin toplam seviye sayısıyla sınırlıdır.
Örnek:
lccManager.SetStartLod(0);
SetAutoFov
public void SetAutoFov(bool _auto)
Görüntüleme FOV değerinin otomatik yönetilip yönetilmeyeceğini ayarlar. Etkin olduğunda (varsayılan) SDK, ilk karede bir piksel odak uzaklığı referansını kilitler, ardından her karede geçerli görünüm penceresi yüksekliğinden dikey FOV değerini hesaplar ve Camera.fieldOfView özelliğine yazar; devre dışı olduğunda fieldOfView dışarıdan kontrol edilir (SetFOV() ile veya kamera doğrudan değiştirilerek).
| Parametre | Tür | Açıklama |
|---|---|---|
_auto | bool | Otomatik FOV kullanılıp kullanılmayacağı |
Notlar:
- Varsayılan olarak etkindir.
- Etkin olduğunda ana kameranın
Camera.fieldOfViewdeğerini sürekli yeniden yazar; bu nedenleSetFOV()çağrısı yok sayılır. - Devre dışı olduğunda parametreleri ayarlamak için
SetFOV()elle çağrılmalıdır.
Örnek:
lccManager.SetAutoFov(true);
SetFOV
public void SetFOV(int _width, int _height, float _verticalFov, float _aspect)
Dikey FOV değerini elle ayarlar (derece cinsinden). Ana kameranın Camera.fieldOfView değerini doğrudan yeniden yazar; böylece Inspector'daki FOV, görüntülemede fiilen kullanılan FOV ile aynı olur. _width / _height / _aspect eski imza parametreleridir; gerçek projeksiyon ana kameranın kendi görünüm penceresini kullanır (farklı boyut / FOV ile ekran dışı çıktı için SetRecordMode() kullanın).
| Parametre | Tür | Açıklama |
|---|---|---|
_width | int | Piksel genişliği |
_height | int | Piksel yüksekliği |
_verticalFov | float | Dikey FOV (derece) |
_aspect | float | En-boy oranı |
Notlar:
- Önce
SetAutoFov(false)çağrılmalıdır; aksi halde her karedeki otomatik FOV hesaplaması elle girilen değerin üzerine yazar. - Dikey FOV,
[1, 179]derece aralığına sınırlandırılır. - VR / PCVR platformlarında, kayıt sırasında veya ortografik kamerada çağrılması reddedilir (uyarı verir ve geri döner).
Örnek:
lccManager.SetFOV(1920, 1080, 60f, 1.778f);
SetRenderEnable
public void SetRenderEnable(Renderer _renderer, bool _isEnable)
Belirtilen Renderer'ın görüntüleme anahtarını çalışma zamanında denetler. Devre dışı bırakıldığında geçiş ve çizim işlemlerine katılmaz.
| Parametre | Tür | Açıklama |
|---|---|---|
_renderer | Renderer | Hedef görüntüleme örneği |
_isEnable | bool | Görüntülemenin etkinleştirilip etkinleştirilmeyeceği |
Örnek:
lccManager.SetRenderEnable(renderer, false); // Hide
SetEnvironment
public void SetEnvironment(Renderer _renderer, bool _isRender)
Belirtilen Renderer'ın ortam verisi görüntülemesini denetler. Ortam verisi, uzak görünümleri doldurmak için kullanılan düşük hassasiyetli bir arka plan nokta bulutudur.
| Parametre | Tür | Açıklama |
|---|---|---|
_renderer | Renderer | Hedef görüntüleme örneği |
_isRender | bool | Ortam verisinin görüntülenip görüntülenmeyeceği |
Notlar:
- Veri, ortam düğümlerini içermelidir.
Örnek:
lccManager.SetEnvironment(renderer, true);
SetZDepth
public void SetZDepth(bool zwrite)
Z derinliği yazmayı açar veya kapatır ve görüntüleme kuyruğunu buna göre ayarlar.
| Parametre | Tür | Açıklama |
|---|---|---|
zwrite | bool | Z derinliği yazmanın etkinleştirilip etkinleştirilmeyeceği |
Örnek:
lccManager.SetZDepth(true);
SetAlpha
public void SetAlpha(float alpha)
Global opaklığı ayarlar.
| Parametre | Tür | Açıklama |
|---|---|---|
alpha | float | Global opaklık, aralık [0, 1]; aşıldığında otomatik olarak sınırlandırılır |
Örnek:
lccManager.SetAlpha(0.8f);
SetLightIntensity
public void SetLightIntensity(float intensity)
Global ışık yoğunluğunu ayarlar.
| Parametre | Tür | Açıklama |
|---|---|---|
intensity | float | Işık yoğunluğu, aralık [0, 1]; aşıldığında otomatik olarak sınırlandırılır |
Örnek:
lccManager.SetLightIntensity(0.7f);
SetLowPassFilter
public void SetLowPassFilter(float _filter)
Yüksek frekanslı örtüşme / gürültüyü bastırmak için kullanılan global alçak geçiren filtre gücünü ayarlar.
| Parametre | Tür | Açıklama |
|---|---|---|
_filter | float | Alçak geçiren filtre gücü, aralık [0, 1]; aşıldığında otomatik olarak sınırlandırılır |
Örnek:
lccManager.SetLowPassFilter(0.3f);
SetLockFPS
public void SetLockFPS(bool _isLock)
Kare hızı kilidini açar veya kapatır (statik / dinamik kare hızı geçişi).
| Parametre | Tür | Açıklama |
|---|---|---|
_isLock | bool | Kare hızının kilitlenip kilitlenmeyeceği |
Örnek:
lccManager.SetLockFPS(true);
SetRenderLayer
public void SetRenderLayer(int _layer)
LCC görüntülemesinde kullanılan Unity Layer değerini ayarlar; kamera CullingMask görünürlük denetimi için kullanılır.
| Parametre | Tür | Açıklama |
|---|---|---|
_layer | int | Unity görüntüleme katmanı, aralık [0, 31] |
Notlar:
- Çalışma zamanında dinamik olarak ayarlanabilir.
Örnek:
lccManager.SetRenderLayer(8); // Use Layer 8
SetForceRefresh
public void SetForceRefresh()
Görüntülemeyi yenilemeye zorlar. Dahili kamera bilgisi önbelleğini temizler; böylece görüş hacmi, LOD ve diğer parametreler bir sonraki karede yeniden hesaplanır. Dışarıdan değiştirilen kamera parametrelerinin hemen etkili olması gereken durumlar için uygundur.
Örnek:
lccManager.SetForceRefresh();
SetMipMode
public void SetMipMode(MipMode _mipMode)
Mip görüntüleme modunu değiştirir. Mip modu mipmap örneklemesini kullanır (varsayılan), Non_Mip modu ise mipmap'i devre dışı bırakır.
| Parametre | Tür | Açıklama |
|---|---|---|
_mipMode | MipMode | Hedef mod; bkz. MipMode |
Notlar:
- Geçerli mod, aktarılan modla aynıysa hemen geri döner.
- Değiştirildiğinde hemen etkili olur.
Örnek:
lccManager.SetMipMode(MipMode.Non_Mip);
SetGraphicsAPI
public void SetGraphicsAPI(GraphicsDeviceType type)
Grafik API türünü ayarlar. DX11 modunda HDR etkinleştirilir.
| Parametre | Tür | Açıklama |
|---|---|---|
type | GraphicsDeviceType | Grafik API türü (Unity yerleşik enum) |
Örnek:
lccManager.SetGraphicsAPI(GraphicsDeviceType.Direct3D11);
SetDebugMode
public void SetDebugMode(bool debug)
Hata ayıklama modunu açar veya kapatır.
| Parametre | Tür | Açıklama |
|---|---|---|
debug | bool | Hata ayıklama modunun etkinleştirilip etkinleştirilmeyeceği |
Notlar:
- Yalnızca PC / Mac platformlarında desteklenir.
Örnek:
lccManager.SetDebugMode(true);
SetEditorMode
public void SetEditorMode(bool _isEditor)
Editor modunu açar veya kapatır.
| Parametre | Tür | Açıklama |
|---|---|---|
_isEditor | bool | Editor modunun etkinleştirilip etkinleştirilmeyeceği |
Notlar:
- Yalnızca PC / Mac platformlarında desteklenir.
Örnek:
lccManager.SetEditorMode(true);
SetAECMode
public void SetAECMode(bool _aec)
AEC (Mimarlık / Mühendislik / İnşaat) modunu açar veya kapatır.
| Parametre | Tür | Açıklama |
|---|---|---|
_aec | bool | AEC modunun etkinleştirilip etkinleştirilmeyeceği |
Notlar:
- Yalnızca PC / Mac platformlarında desteklenir.
Örnek:
lccManager.SetAECMode(true);
SetSemantic
// Return value: bool, false=invalid parameter
public bool SetSemantic(bool enable, Vector4[] color = null)
Semantik görüntüleme modunu açar veya kapatır. Etkinleştirildiğinde, her semantik kategorinin görüntüleme rengini tanımlamak için bir renk dizisi iletilebilir.
| Parametre | Tür | Açıklama |
|---|---|---|
enable | bool | Semantik görüntülemenin etkinleştirilip etkinleştirilmeyeceği |
color | Vector4[] | Semantik renk dizisi; uzunluğu 100 olmalıdır, aksi halde false döndürülür. Varsayılan renkleri kullanmak için null iletin |
Örnek:
Vector4[] colors = new Vector4[100];
colors[0] = new Vector4(1, 0, 0, 1); // Category 0 = red
lccManager.SetSemantic(true, colors);
SwitchRenderMode
public void SwitchRenderMode(RenderMode mode, Texture2D tex = null)
Nokta bulutu görüntüleme ile 3DGS görüntüleme arasında geçiş yapar. Nokta bulutu modunda bir yükseklik renk gradyanı dokusu verilebilir.
| Parametre | Tür | Açıklama |
|---|---|---|
mode | RenderMode | Görüntüleme modu; bkz. RenderMode |
tex | Texture2D | Yükseklik renk gradyanı dokusu (isteğe bağlı) |
Notlar:
- Yalnızca PC / Mac platformlarında desteklenir.
Örnek:
lccManager.SwitchRenderMode(RenderMode.PointCloud, elevationTex);
SetRecordMode
public void SetRecordMode(bool isRecord, Vector2 renderSize, float verticalFov)
Kayıt modunu ayarlar. Kayıt modunda görüntüleme için sabit çözünürlük ve FOV kullanılır; HD video kaydı için uygundur.
| Parametre | Tür | Açıklama |
|---|---|---|
isRecord | bool | Kayıt modunun kullanılıp kullanılmayacağı |
renderSize | Vector2 | Kayıt çözünürlüğü |
verticalFov | float | Dikey FOV (derece) |
Notlar:
- Yalnızca PC / Mac platformlarında desteklenir.
- Kayıt modunda kamera odak uzaklığı sabittir ve Camera bileşenine göre değişmez.
- Kayıttan sonra önceki duruma dönmek için
SetRecordMode(false, ...)çağırın.
Örnek:
lccManager.SetRecordMode(true, new Vector2(3840, 2160), 60f);
SetVRPerformance
public void SetVRPerformance(bool _enabled)
VR yüksek performanslı sıralama modunu ayarlar. true GPU radix sıralamasını (GpuSorter) kullanır, false ise CPU / BitonicSorter yöntemine geri döner.
| Parametre | Tür | Açıklama |
|---|---|---|
_enabled | bool | GPU yüksek performanslı sıralamanın etkinleştirilip etkinleştirilmeyeceği |
Notlar:
- Yalnızca VR başlıklarının (Pico / Quest / PicoSwan / OpenXR) sıralama yolunu etkiler; varsayılan olarak etkindir.
- Hesaplama aygıtı bulunmadığında (Mali gibi), üst akıştaki sıralama otomatik olarak CPU'ya geçer; bu anahtardan etkilenmez.
Örnek:
lccManager.SetVRPerformance(true);
Aydınlatma ve Gölgeler
Aşağıdaki yöntemler, 3DGS yüzeylerinde gölge alımını ve özel nokta ışıklarını kontrol eder. Gölgeyle ilgili yöntemler LCC sahnesinin yüklenmesi tamamlandıktan sonra çağrılmalıdır.
SetShadowReceive
public void SetShadowReceive(bool enable)
Nokta bulutu gölge alımını açar veya kapatır. Etkinleştirildiğinde, sahnedeki Mesh nesnelerinin gölgeleri 3DGS nokta bulutu yüzeylerine düşebilir.
| Parametre | Tür | Açıklama |
|---|---|---|
enable | bool | Gölge alınıp alınmayacağı |
Notlar:
- Varsayılan olarak kapalıdır.
- Sahnede gölge oluşturan Mesh nesneleri ve bir Directional Light bulunmalıdır.
Örnek:
lccManager.SetShadowReceive(true);
SetShadowColor
public void SetShadowColor(Color color)
Gölge alanının rengini ayarlar.
| Parametre | Tür | Açıklama |
|---|---|---|
color | Color | Gölge rengi (RGBA) |
Notlar:
- Varsayılan değer
(0.3, 0.3, 0.3, 1). - Önce
SetShadowReceive(true)etkinleştirilmelidir.
Örnek:
lccManager.SetShadowColor(new Color(0.3f, 0.3f, 0.3f, 1f));
SetShadowStrength
public void SetShadowStrength(float strength)
Gölge şiddetini ayarlar. 0 gölge yok, 1 en güçlü gölge anlamına gelir.
| Parametre | Tür | Açıklama |
|---|---|---|
strength | float | Gölge gücü, aralık [0, 1], aşıldığında otomatik olarak sınırlandırılır |
Notlar:
- Varsayılan değer
1.0. - Önce
SetShadowReceive(true)etkinleştirilmelidir.
Örnek:
lccManager.SetShadowStrength(0.8f);
SetLights
// Return value: int, 0=success, -1=exceeded the maximum count limit
public int SetLights(List<PointLightData> lights)
Özel nokta ışık listesini ayarlar. null veya boş liste iletilirse özel aydınlatma kapatılır.
| Parametre | Tür | Açıklama |
|---|---|---|
lights | List<PointLightData> | Nokta ışık listesi; bkz. PointLightData |
Notlar:
PointLightData.lightType:0nokta ışıktır (direction / spotAngle yok sayılır),1spot ışıktır (direction / spotAngle gereklidir).nullveya boş liste iletilirse özel aydınlatma kapatılır.
Örnek:
using Unity.Mathematics; // float3
var lights = new List<PointLightData>();
lights.Add(new PointLightData {
position = new float3(0, 5, 0),
lightType = 0, // 0=point light, 1=spot light
color = new float3(1, 1, 1),
intensity = 2f,
range = 10f
});
lccManager.SetLights(lights);
Kamera Yönetimi
SetMainCamera
public void SetMainCamera(Camera _cam)
Ana görüntüleme kamerasını ayarlar. LCC bu kamerayı görüş alanı kırpma (frustum culling), LOD seçimi, sıralama ve diğer işlemler için kullanır.
| Parametre | Tür | Açıklama |
|---|---|---|
_cam | Camera | Ana görüntüleme kamerası; temizlemek için null iletin |
Notlar:
Renderer.Load()çağrısından önce ayarlanmalıdır.- Yalnızca PC / Mac platformlarında desteklenir.
Örnek:
lccManager.SetMainCamera(Camera.main);
AddCamera
public void AddCamera(Camera _cam)
İkincil kamera ekler. İkincil kamera görüntülemeye katılır ancak LOD seçimini etkilemez.
| Parametre | Tür | Açıklama |
|---|---|---|
_cam | Camera | İkincil kamera |
Notlar:
- Yalnızca PC / Mac platformlarında desteklenir.
- Ana kamera ikincil kamera olarak eklenemez.
Örnek:
lccManager.AddCamera(secondCamera);
RemoveCamera
public void RemoveCamera(Camera _cam)
Eklenmiş bir ikincil kamerayı kaldırır.
| Parametre | Tür | Açıklama |
|---|---|---|
_cam | Camera | Kaldırılacak ikincil kamera |
Notlar:
- Yalnızca PC / Mac platformlarında desteklenir.
Örnek:
lccManager.RemoveCamera(secondCamera);
Kırpma / Vurgulama / Ton
Kırpma, vurgulama ve ton üç farklı düzenleme işlemidir. Hepsinde etkilenen bölge 2B doku, 3B geometri veya ikisinin karışımıyla tanımlanabilir. Bkz. Data2D, Data3D, DataMix ve ToneMix.
SetClip (Düzlemle Kırpma)
// Return value: int, 0=success
public int SetClip(Vector3 planePoint, Vector3 planeNormal, bool inside = true)
Nokta bulutunu sonsuz bir düzlemle kırpar; normal tarafındaki veya karşı taraftaki noktaları tutar.
| Parametre | Tür | Açıklama |
|---|---|---|
planePoint | Vector3 | Düzlem üzerindeki bir nokta |
planeNormal | Vector3 | Düzlem normali |
inside | bool | true değeri normal tarafını tutar |
Notlar:
- Diğer kırpma modlarıyla birlikte kullanılamaz.
Örnek:
lccManager.SetClip(Vector3.zero, Vector3.up, true); // Keep above the ground
SetClip (2B Doku ile Kırpma)
// Return value: int, 0=success, 1=empty list, 2=exceeded the maximum count
public int SetClip(List<Data2D> _2Ds)
Nokta bulutunu 2B izdüşüm doku maskesiyle kırpar.
| Parametre | Tür | Açıklama |
|---|---|---|
_2Ds | List<Data2D> | 2B doku seçim listesi |
Örnek:
var clips = new List<Data2D>();
clips.Add(new Data2D {
texture = maskTex,
mv = modelViewMatrix,
mvp = mvpMatrix,
mode = SelectMode.normal
});
lccManager.SetClip(clips);
SetClip (3B Geometri ile Kırpma)
// Return value: int, 0=success, 1=empty list, 2=exceeded the maximum count, 3=zero valid geometry
public int SetClip(List<Data3D> _3Ds)
Nokta bulutunu 3B geometriyle kırpar; birden fazla geometriyi birleştirmek için boolean işlemlerini destekler.
| Parametre | Tür | Açıklama |
|---|---|---|
_3Ds | List<Data3D> | 3B geometri listesi |
Notlar:
operation == normalolan en az bir geometri gereklidir.
Örnek:
var clips = new List<Data3D>();
clips.Add(new Data3D {
type = ShapeType.box,
invMat = boxInverseMatrix,
operation = OperationMode.normal,
mode = SelectMode.normal
});
lccManager.SetClip(clips);
SetClip (Karma Mod ile Kırpma)
// Return value: int, 0=success, 1=empty list, 2=exceeded the maximum count
public int SetClip(List<DataMix> mix)
Kırpma bölgesini 2B doku ve 3B geometri karışımıyla tanımlar. Her girişin türü editType ile belirtilir.
| Parametre | Tür | Açıklama |
|---|---|---|
mix | List<DataMix> | Karma seçim listesi (2B + 3B) |
Örnek:
var mix = new List<DataMix>();
mix.Add(new DataMix {
editType = EditType.Edit3D,
type = ShapeType.box,
invMat = matrix,
operation = OperationMode.normal,
mode = SelectMode.normal
});
lccManager.SetClip(mix);
QuitClipMode
public void QuitClipMode()
Kırpma modundan çıkar ve nokta bulutunun tamamını yeniden gösterir.
Örnek:
lccManager.QuitClipMode();
SetHighlight (2B Doku ile Vurgulama)
// Return value: int, 0=success, 1=empty list, 2=exceeded the maximum count
public int SetHighlight(List<Data2D> _2Ds)
Nokta bulutunu 2B izdüşüm doku maskesiyle vurgular; vurgulanan bölgenin dışındaki nokta bulutu karartılır.
| Parametre | Tür | Açıklama |
|---|---|---|
_2Ds | List<Data2D> | 2B doku seçim listesi |
Notlar:
- 3B vurgulama ve karma vurgulama ile birlikte kullanılamaz.
Örnek:
var highlights = new List<Data2D>();
highlights.Add(new Data2D {
texture = maskTex,
mv = modelViewMatrix,
mvp = mvpMatrix,
mode = SelectMode.normal
});
lccManager.SetHighlight(highlights);
SetHighlight (3B Geometri ile Vurgulama)
// Return value: int, 0=success, 1=empty list, 2=exceeded the maximum count, 3=zero valid geometry
public int SetHighlight(List<Data3D> _3Ds)
Vurgulanan bölgeyi 3B geometriyle tanımlar; birleştirmek için boolean işlemlerini destekler.
| Parametre | Tür | Açıklama |
|---|---|---|
_3Ds | List<Data3D> | 3B geometri listesi |
Notlar:
operation == normalolan en az bir geometri gereklidir.
Örnek:
var highlights = new List<Data3D>();
highlights.Add(new Data3D {
type = ShapeType.box,
invMat = boxInverseMatrix,
operation = OperationMode.normal,
mode = SelectMode.normal
});
lccManager.SetHighlight(highlights);
SetHighlight (Karma Mod ile Vurgulama)
// Return value: int, 0=success, 1=empty list, 2=exceeded the maximum count
public int SetHighlight(List<DataMix> mix)
Vurgulanan bölgeyi 2B doku ve 3B geometri karışımıyla tanımlar.
| Parametre | Tür | Açıklama |
|---|---|---|
mix | List<DataMix> | Karma seçim listesi |
Örnek:
var mix = new List<DataMix>();
mix.Add(new DataMix {
editType = EditType.Edit3D,
type = ShapeType.box,
invMat = matrix,
operation = OperationMode.normal,
mode = SelectMode.normal
});
lccManager.SetHighlight(mix);
QuitHighlightMode
public void QuitHighlightMode()
Vurgulama modundan çıkar ve nokta bulutunu normal görünümüne döndürür.
Örnek:
lccManager.QuitHighlightMode();
SetTone
// Return value: int, 0=success, 1=empty list, 2=exceeded the maximum count
public int SetTone(List<ToneMix> mix)
Seçili bölgeye ton ayarı uygular; parlaklık, doygunluk, kontrast ve LUT filtrelerini destekler. Ton bölgesi 2B doku veya 3B geometriyle tanımlanabilir.
| Parametre | Tür | Açıklama |
|---|---|---|
mix | List<ToneMix> | Ton karma listesi |
Notlar:
brightness/saturation/contrastiçin varsayılan değer1.0'dır.lutid, LUT filtre dizinidir;0kullanılmadığı anlamına gelir.
Örnek:
var tones = new List<ToneMix>();
tones.Add(new ToneMix {
editType = EditType.Edit3D,
type = ShapeType.box,
invMat = boxMatrix,
operation = OperationMode.normal,
mode = SelectMode.normal,
brightness = 1.2f,
saturation = 1.0f,
contrast = 1.1f,
lutid = 0
});
lccManager.SetTone(tones);
QuitToneMode
public void QuitToneMode()
Ton modundan çıkar ve nokta bulutunun özgün rengini geri yükler.
Örnek:
lccManager.QuitToneMode();
Decal Projeksiyonu
Decal projeksiyonu, bir dokuyu projektör yönü boyunca 3DGS yüzeylerine yansıtır. Decal, dünyaya sabit genel bir durumdur ve tüm kameralar için aynıdır. Tipik iş akışı şöyledir: decal'i etkinleştirin → dokuyu ayarlayın → projektör pozunu ayarlayın. Aşağıdaki yöntemler yalnızca PC / Mac platformlarında desteklenir.
SetDecalEnabled
public void SetDecalEnabled(bool enable)
Decal projeksiyonunu açar veya kapatır. İçeriği ve projektör pozunu ayarlamak için SetDecalTexture() ve SetDecalProjection() ayrıca çağrılmalıdır.
| Parametre | Tür | Açıklama |
|---|---|---|
enable | bool | Decal projeksiyonunun etkinleştirilip etkinleştirilmeyeceği |
Notlar:
- Devre dışı bırakmak, önbelleğe alınmış doku / parametreleri temizlemez.
Örnek:
lccManager.SetDecalEnabled(true);
lccManager.SetDecalTexture(decalTex);
lccManager.SetDecalProjection(projectorPos, projectorRot, 60f, 1.778f, 0.1f, 20f);
SetDecalTexture
public void SetDecalTexture(Texture2D tex)
Decal dokusunu ayarlar. RGB renktir, A ise decal'in kendi maskesidir; genel opaklık ve kenar yumuşatma ile çarpılır.
| Parametre | Tür | Açıklama |
|---|---|---|
tex | Texture2D | Decal dokusu; null iletilirse referans temizlenir |
Örnek:
lccManager.SetDecalTexture(logoTex);
SetDecalProjection
public void SetDecalProjection(Vector3 pos, Quaternion rot, float fov, float aspect, float near, float far)
Decal projektörünün poz ve perspektif parametrelerini ayarlar. Projektör ileri (+Z) yönü boyunca yansıtır ve görüş hacmi içindeki noktalar decal ile kaplanır.
| Parametre | Tür | Açıklama |
|---|---|---|
pos | Vector3 | Projektörün dünya konumu |
rot | Quaternion | Projektör yönelimi |
fov | float | Dikey görüş açısı (derece), [1, 179] aralığına sınırlandırılır |
aspect | float | En-boy oranı, en az 1e-4 |
near | float | Yakın kırpma düzlemi, en az 1e-3 |
far | float | Uzak kırpma düzlemi, en az near + 1e-3 |
Örnek:
lccManager.SetDecalProjection(new Vector3(0, 10, 0), Quaternion.Euler(90, 0, 0), 60f, 1.778f, 0.1f, 20f);
SetDecalOpacity
public void SetDecalOpacity(float opacity)
Decal'in genel opaklığını ayarlar.
| Parametre | Tür | Açıklama |
|---|---|---|
opacity | float | Genel decal opaklığı, aralık [0, 1], aşıldığında otomatik olarak sınırlandırılır |
Örnek:
lccManager.SetDecalOpacity(0.8f);
SetDecalEdgeFade
public void SetDecalEdgeFade(float edgeFade)
Decal kenar yumuşatma genişliğini ayarlar. 0 sert kenardır; daha büyük bir değer kenar geçişini yumuşatır.
| Parametre | Tür | Açıklama |
|---|---|---|
edgeFade | float | Kenar yumuşatma genişliği (UV uzayı oranı), aralık [0, 0.5), aşıldığında otomatik olarak sınırlandırılır |
Örnek:
lccManager.SetDecalEdgeFade(0.1f);
SetDecalOcclusion
public void SetDecalOcclusion(bool enable)
Decal örtülme ayıklamasını (projektör derinlik haritasına dayalı) açar veya kapatır. Etkinleştirildiğinde, örtülen yüzeyler decal ile kaplanmaz.
| Parametre | Tür | Açıklama |
|---|---|---|
enable | bool | Decal örtülme ayıklamasının etkinleştirilip etkinleştirilmeyeceği |
Notlar:
- Yalnızca PC / Mac platformu ve yalnızca URP işlem hattı.
- Etkinleştirmeden önce projektörü ayarlamak için
SetDecalProjection()çağrılmış olmalıdır. SetDecalOcclusionSettings()ile yapılandırılan kalite parametrelerine bağlıdır.
Örnek:
lccManager.SetDecalOcclusion(true);
SetDecalOcclusionSettings
public void SetDecalOcclusionSettings(DecalOcclusionSettings settings)
Decal örtülme ayıklamasının tüm kalite parametrelerini tek seferde ayarlar. Bkz. DecalOcclusionSettings.
| Parametre | Tür | Açıklama |
|---|---|---|
settings | DecalOcclusionSettings | Örtülme ayıklama kalite parametreleri |
Notlar:
- Herhangi bir zamanda ayarlanabilir; parametreler hemen etkili olur.
Örnek:
lccManager.SetDecalOcclusionSettings(DecalOcclusionSettings.Default);
lccManager.SetDecalOcclusionSettings(new DecalOcclusionSettings {
opacityCutoff = 0.1f,
depthBias = 0.05f,
footprintMaxPx = 2,
resolution = 1024
});
Yakalama
Yakalama özelliği, ışın gönderimi sırasında hizalamak için yakındaki kenarları / köşeleri otomatik olarak arar. Ölçüm ve not ekleme gibi hassas etkileşimlerde yaygın olarak kullanılır. Aşağıdaki yöntemler yalnızca PC / Mac platformlarında desteklenir.
SetSnapEnabled
public void SetSnapEnabled(bool enable)
Yakalama özelliğini açar veya kapatır. Etkinleştirildiğinde RaycastWithSnap(), yakalanacak yakındaki kenarları / köşeleri otomatik olarak arar.
| Parametre | Tür | Açıklama |
|---|---|---|
enable | bool | Yakalamanın etkinleştirilip etkinleştirilmeyeceği |
Notlar:
- Varsayılan olarak kapalıdır.
- Mobil / VR üzerinde etkisi yoktur ve bir uyarı çıktısı verilir.
Örnek:
lccManager.SetSnapEnabled(true);
SetSnapRadius
public void SetSnapRadius(float pixels)
Yakalama arama yarıçapını ayarlar. Bu piksel aralığı içindeki en yakın kenarı / köşeyi arar.
| Parametre | Tür | Açıklama |
|---|---|---|
pixels | float | Yakalama arama yarıçapı (piksel) |
Notlar:
- Varsayılan değer 20 pikseldir.
- Daha büyük bir değer daha geniş bir arama aralığı anlamına gelir, ancak istenmeyen hedeflere yakalanabilir.
Örnek:
lccManager.SetSnapRadius(30f);
SetEdgeThreshold
public void SetEdgeThreshold(float threshold)
Kenar algılama eşiğini ayarlar. Daha küçük bir değer daha fazla kenar algılar.
| Parametre | Tür | Açıklama |
|---|---|---|
threshold | float | Kenar algılama eşiği, önerilen aralık [0.1, 0.8] |
Notlar:
- Varsayılan değer
0.3. - Çok küçük bir değer çok sayıda gürültü kenarı üretir.
Örnek:
lccManager.SetEdgeThreshold(0.2f);
SetSnapPreviewEnabled
public void SetSnapPreviewEnabled(bool enable)
Yakalama önizleme özelliğini açar veya kapatır. Etkinleştirildiğinde, fare hareket ettikçe en yakın yakalama hedefi göstergesi gerçek zamanlı olarak görüntülenir.
| Parametre | Tür | Açıklama |
|---|---|---|
enable | bool | Yakalama önizlemesinin etkinleştirilip etkinleştirilmeyeceği |
Notlar:
- Önce
SetSnapEnabled(true)çağrılmalıdır. - Önizleme GPU kaynaklarını sürekli tüketir (her karede algılama yapılır).
Örnek:
lccManager.SetSnapPreviewEnabled(true);
UpdateSnapPreview
public void UpdateSnapPreview(Vector2 mousePos, Camera cam)
Yakalama önizleme durumunu günceller. Önizleme göstergesinin konumunu güncellemek için fare hareket ettikçe çağrılır.
| Parametre | Tür | Açıklama |
|---|---|---|
mousePos | Vector2 | Fare için geçerli ekran koordinatları |
cam | Camera | Kamera |
Notlar:
- Önce
SetSnapPreviewEnabled(true)çağrılmalıdır. Updateiçinde sürekli çağrılması önerilir.
Örnek:
void Update()
{
lccManager.UpdateSnapPreview(Input.mousePosition, Camera.main);
}
GetSnapPreviewState
// Return value: SnapPreviewState
public SnapPreviewState GetSnapPreviewState()
Geçerli yakalama önizleme durumunu alır. Bu durum; yakalama hedefinin olup olmadığını, hedef türünü, hedefin ekran konumunu ve fareye olan piksel mesafesini içerir. Bkz. SnapPreviewState.
Notlar:
- Önce
SetSnapPreviewEnabled(true)veUpdateSnapPreview()çağrılmalıdır. - Hedef olmadığında
default(SnapPreviewState)döndürür. screenPosekran koordinatlarındadır, dünya koordinatlarında değildir; dünya koordinatları içinRaycastWithSnap()ileHitResult.hitPosdeğerini alın.
Örnek:
var state = lccManager.GetSnapPreviewState();
if (state.hasTarget)
{
// state.snapType: Corner / Edge
// state.screenPos: screen coordinates of the snap target
// state.distanceToMouse: pixel distance
}
Işın Gönderimi ve Çarpışma Sorguları
Işın gönderimi 3DGS yüzeylerinde nokta seçmek için, çarpışma sorguları ise karakterler / nesneler ile nokta bulutu arasındaki fiziksel etkileşim için kullanılır. İsabet sonucu HitResult ile döndürülür.
Not:
HitResultiçindeki isabet noktası dünya koordinatı alanının adıhitPosşeklindedir (positiondeğil).
Raycast (Ekran Koordinatları)
// Return value: bool, true=hit
public bool Raycast(Vector3 mousePos, out HitResult _finalResult)
Nokta bulutu isabetlerini algılamak için ekran koordinatlarından bir ışın gönderir. Işın, SetMainCamera() ile ayarlanan ana kamera kullanılarak oluşturulur.
| Parametre | Tür | Açıklama |
|---|---|---|
mousePos | Vector3 | Ekran koordinatları |
_finalResult | out HitResult | İsabet sonucu |
Notlar:
- Ana kamerayı ayarlamak için önce
SetMainCamera()çağrılmalıdır. - Kameraya en yakın isabet noktasını döndürür.
- Hassasiyet
SetRaycastDelta()tarafından etkilenir, maksimum mesafe iseSetMaxRaycastDistance()ile kontrol edilir.
Örnek:
if (lccManager.Raycast(Input.mousePosition, out HitResult hit))
{
Debug.Log(hit.hitPos);
}
Raycast (Işın)
// Return value: bool, true=hit
public bool Raycast(Ray _ray, out HitResult _finalResult)
Özel bir Ray ile ışın gönderimi yapar, tüm etkin Renderer nesneleri üzerinde yineleme yapar ve en yakın isabeti döndürür.
| Parametre | Tür | Açıklama |
|---|---|---|
_ray | Ray | Işın |
_finalResult | out HitResult | İsabet sonucu |
Örnek:
Ray ray = new Ray(origin, direction);
if (lccManager.Raycast(ray, out HitResult hit))
{
Debug.Log(hit.hitPos);
}
RaycastMesh (Ekran Koordinatları)
// Return value: bool, true=hit
public bool RaycastMesh(Vector3 mousePos, out HitResult _finalResult, float _distance = 70.0f)
Nokta bulutu çarpışma mesh'i üzerindeki isabetleri algılamak için ekran koordinatlarından bir ışın gönderir. Algılama için Collider verilerini kullanır; Raycast() yönteminden daha hızlıdır ancak daha az hassastır.
| Parametre | Tür | Açıklama |
|---|---|---|
mousePos | Vector3 | Ekran koordinatları |
_finalResult | out HitResult | İsabet sonucu |
_distance | float | Maksimum algılama mesafesi, varsayılan 70.0 |
Notlar:
- Veriler Collider düğümleri içermelidir ve önce
Renderer.SetColliderEnable(true)çağrılmalıdır.
Örnek:
if (lccManager.RaycastMesh(Input.mousePosition, out HitResult hit))
{
Debug.Log(hit.hitPos);
}
RaycastMesh (Işın + Sınırlar)
// Return value: bool, true=hit
public bool RaycastMesh(Ray ray, out HitResult result, out Bounds hitBounds, float maxDist = 70.0f)
Özel bir Ray ile çarpışma mesh'i algılaması yapar ve isabet alan düğümün sınırlayıcı kutusunu da döndürür.
| Parametre | Tür | Açıklama |
|---|---|---|
ray | Ray | Işın |
result | out HitResult | İsabet sonucu |
hitBounds | out Bounds | İsabet alan düğümün sınırlayıcı kutusu |
maxDist | float | Maksimum algılama mesafesi, varsayılan 70.0 |
Notlar:
- Veriler Collider düğümleri içermelidir.
Örnek:
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (lccManager.RaycastMesh(ray, out HitResult hit, out Bounds bounds))
{
Debug.Log(bounds.center);
}
RaycastWithSnap
// Return value: bool, true=hit
public bool RaycastWithSnap(Vector2 screenPos, Camera cam, out HitResult result)
Yakalama ile ışın gönderimi. Önce normal bir ışın gönderimi yapar, ardından yakalanacak isabet noktası yakınındaki kenarları / köşeleri arar.
| Parametre | Tür | Açıklama |
|---|---|---|
screenPos | Vector2 | Ekran koordinatları |
cam | Camera | Kamera |
result | out HitResult | İsabet sonucu (yakalama bilgisi dahil) |
Notlar:
- Önce
SetSnapEnabled(true)çağrılmalıdır. - Yalnızca PC / Mac platformları; mobil / VR üzerinde kullanılamaz.
- Yakalama önceliği: Köşe > Kenar > Yok.
HitResult.snapTypeyakalama türüdür,HitResult.hitPosyakalamadan sonraki dünya koordinatıdır veHitResult.originalHitPosyakalamadan önceki özgün isabet noktasıdır.
Örnek:
if (lccManager.RaycastWithSnap(mousePos, cam, out HitResult hit))
{
// hit.snapType: Corner / Edge / None
// hit.hitPos: world coordinate after snapping
// hit.originalHitPos: original hit point before snapping
}
SetRaycastDelta
public void SetRaycastDelta(float delta)
Işın gönderiminin hassasiyet parametresini ayarlar. Daha küçük bir değer daha yüksek hassasiyet, ancak daha yüksek performans tüketimi anlamına gelir.
| Parametre | Tür | Açıklama |
|---|---|---|
delta | float | Işın gönderimi hassasiyeti, aralık [0.1, 10.0], aşıldığında otomatik olarak sınırlandırılır |
Notlar:
- Varsayılan değer
0.1. - Tüm
Raycast()yöntemlerinin algılama hassasiyetini etkiler.
Örnek:
lccManager.SetRaycastDelta(0.5f);
SetMaxRaycastDistance
public void SetMaxRaycastDistance(float _distance)
Raycast() yöntemlerinin maksimum algılama mesafesini ayarlar.
| Parametre | Tür | Açıklama |
|---|---|---|
_distance | float | Maksimum ışın gönderimi mesafesi, aralık [10, 10000], aşıldığında otomatik olarak sınırlandırılır |
Notlar:
Raycast(Vector3)/Raycast(Ray)aşırı yüklemelerini etkiler;RaycastMesh()yöntemini etkilemez (kendi mesafe parametresi vardır).
Örnek:
lccManager.SetMaxRaycastDistance(500f);
IntersectsSphere
// Return value: bool, true=intersects
public bool IntersectsSphere(Sphere sphere)
// Return value: bool, true=intersects
public bool IntersectsSphere(Sphere sphere, out Vector3 delta)
Bir kürenin nokta bulutu çarpıştırıcısı ile kesişip kesişmediğini algılar. İkinci aşırı yükleme ayrıca penetrasyon vektörünü döndürür; bu vektör fiziksel itme için kullanılabilir.
| Parametre | Tür | Açıklama |
|---|---|---|
sphere | Sphere | Küre |
delta | out Vector3 | Penetrasyon vektörü (itme yönü ve mesafesi) |
Notlar:
- Veriler Collider düğümleri içermelidir ve önce
Renderer.SetColliderEnable(true)çağrılmalıdır. - Tüm etkin Renderer'lar üzerinde yineleme yapar.
Örnek:
var sphere = new Sphere(transform.position, 0.5f);
if (lccManager.IntersectsSphere(sphere, out Vector3 delta))
{
transform.position += delta;
}
IntersectsCapsule
// Return value: bool, true=intersects
public bool IntersectsCapsule(Capsule capsule)
// Return value: bool, true=intersects
public bool IntersectsCapsule(Capsule capsule, out Vector3 delta)
Bir kapsülün nokta bulutu çarpıştırıcısıyla kesişip kesişmediğini algılar; genellikle karakter denetleyicisi çarpışma algılaması için kullanılır. İkinci aşırı yükleme penetrasyon vektörünü döndürür.
| Parametre | Tür | Açıklama |
|---|---|---|
capsule | Capsule | Kapsül |
delta | out Vector3 | Penetrasyon vektörü |
Notlar:
- Veriler Collider düğümleri içermelidir ve önce
Renderer.SetColliderEnable(true)çağrılmalıdır.
Örnek:
var capsule = new Capsule(footPos, headPos, 0.3f);
if (lccManager.IntersectsCapsule(capsule, out Vector3 delta))
{
characterController.Move(delta);
}
Görsel Efektler
TriggerVFX
public void TriggerVFX(Vector3 vfxOriginW, int vfxid = 0)
Belirtilen dünya koordinatında, bu koordinattan dışa doğru yayılan bir görsel efekt tetikler.
| Parametre | Tür | Açıklama |
|---|---|---|
vfxOriginW | Vector3 | Efektin dünya koordinatı başlangıç noktası |
vfxid | int | Efekt kimliği, varsayılan 0 |
Notlar:
- LCC sahnesinin yüklenmesi tamamlandıktan sonra çağrılmalıdır.
Örnek:
lccManager.TriggerVFX(hitPoint, 0);
Örnek Sorguları
GetAllRenderers
// Return value: List<Renderer>, a copy of all registered Renderer instances
public List<Renderer> GetAllRenderers()
Şu anda kayıtlı tüm Renderer örneklerinin listesini alır (kopya döndürür).
Örnek:
var renderers = lccManager.GetAllRenderers();
foreach (var r in renderers) { /* ... */ }
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:

