LCCManager: kernmanager
De kernmanager van de LCC Unity SDK, verantwoordelijk voor het beheer van alle Renderer-instanties, camera's, de globale renderingstatus, evenals bewerkingsbewerkingen (knippen / markeren / toon), decalprojectie, snapping en interactiequery's (raycast / botsing). Er mag in de hele scène slechts één LCCManager-instantie zijn.
| Naamruimte | LCCCore |
| Basisklasse | MonoBehaviour |
LCCManager heeft geen openbare eigenschappen; alle functionaliteit wordt via methoden benaderd. De methoden zijn gegroepeerd naar doel:
- Initialisatie en configuratie
- Renderingbeheer tijdens runtime
- Verlichting en schaduwen
- Camerabeheer
- Knippen / markeren / toon
- Decalprojectie
- Snapping
- Raycasting- en botsingsquery's
- Visuele effecten
- Instantiequery's
Initialisatie en configuratie
De volgende methoden worden gebruikt om vóór het laden van gegevens de vooraf-configuratie van platform, rendermodus, capaciteit enzovoort te voltooien. De meeste methoden moeten vóór elke Renderer.Load() worden aangeroepen.
SetPlatformType
public void SetPlatformType(PlatformType _type)
Stelt het doel-runtimeplatform van de SDK in, wat van invloed is op de interne renderingstrategie en resourcetoewijzing.
| Parameter | Type | Beschrijving |
|---|---|---|
_type | PlatformType | Doelplatform; zie PlatformType |
Opmerkingen:
- Moet vóór elke
GetRender()-aanroep worden uitgevoerd.
Voorbeeld:
lccManager.SetPlatformType(PlatformType.PC);
SwitchRenderPass
public void SwitchRenderPass(ActiveRenderMode _mode)
Stelt de globale renderingarchitectuurmodus in. MultiRender maakt gebruik van een gedeelde GPU-buffer en kan tot 255 Renderers gelijktijdig renderen; SingleRender laat de SDK automatisch het renderingpad selecteren op basis van de gegevensgrootte.
| Parameter | Type | Beschrijving |
|---|---|---|
_mode | ActiveRenderMode | Rendermodus; zie ActiveRenderMode |
Opmerkingen:
- Moet vóór elke
Renderer.Load()worden aangeroepen. - Alleen van kracht op pc-/Mac-platformen; mobiele / VR-platformen hanteren automatisch een adaptieve strategie en het aanroepen van deze methode wordt geweigerd.
- De
MultiRender-modus ondersteunt geen HTTP-gegevensbronnen; gebruikSingleRendervoor HTTP-gegevens. - Zodra een Renderer
Load()heeft voltooid, is de modus vergrendeld en kan deze niet opnieuw worden gewijzigd.
Voorbeeld:
lccManager.SwitchRenderPass(ActiveRenderMode.MultiRender);
GetRender (overbelasting 1: Transform koppelen)
// Retourwaarde: Renderer, null bij fout
public Renderer GetRender(Transform _transform)
Maakt een nieuwe renderinginstantie aan en koppelt deze aan de opgegeven Transform. Na het aanmaken moet Renderer.Load() worden aangeroepen om gegevens te laden.
| Parameter | Type | Beschrijving |
|---|---|---|
_transform | Transform | De Transform waaraan de renderinginstantie wordt gekoppeld |
Opmerkingen:
SetPlatformType()enSetMainCamera()moeten eerst worden aangeroepen.- In de
MultiRender-modus worden maximaal 255 Renderers ondersteund.
Voorbeeld:
var go = new GameObject("LCCScene");
var renderer = lccManager.GetRender(go.transform);
renderer.Load(filePath, null, () => Debug.Log("Geladen"));
GetRender (overbelasting 2: GameObject automatisch aanmaken)
// Retourwaarde: Renderer, null bij fout
public Renderer GetRender(out GameObject gameObject)
Maakt automatisch een GameObject met de naam LCCRenderer aan en koppelt de renderinginstantie aan de Transform ervan.
| Parameter | Type | Beschrijving |
|---|---|---|
gameObject | out GameObject | Geeft het automatisch aangemaakte GameObject uit, null bij fout |
Voorbeeld:
var renderer = lccManager.GetRender(out GameObject go);
renderer.Load(filePath, null, () => Debug.Log("Geladen"));
SetMaxBufferSplat
public void SetMaxBufferSplat(int _count)
Stelt de maximale capaciteit van de GPU-buffer (aantal Splats) in. Wordt eenmalig toegewezen en kan niet dynamisch worden gewijzigd.
| Parameter | Type | Beschrijving |
|---|---|---|
_count | int | Maximaal aantal Splats, eenheid: tienduizend (waarde × 10000 = werkelijke aantal) |
Opmerkingen:
- Moet vóór elke
Renderer.Load()worden aangeroepen enSetPlatformType()moet eerst worden aangeroepen. - Een grotere capaciteit betekent een hoger videogeheugengebruik; stel deze in naar behoefte.
- Platformlimieten: pc / Mac / PCVR 45 miljoen, Android / iOS 6 miljoen, VR (Pico / Quest / PicoSwan / AVP / OpenXR) 2 miljoen.
- Standaardwaarden: pc / Mac 30 miljoen, Android / iOS 3 miljoen, VR 1 miljoen.
Voorbeeld:
lccManager.SetMaxBufferSplat(3000); // 30 miljoen punten
SetFullRenderSplat
public void SetFullRenderSplat(int _count)
Stelt de bovendrempel voor volledige rendering op pc / Mac in. Wanneer de gegevensgrootte onder deze waarde ligt, wordt het volledige renderingpad gebruikt; anders wordt het chunked renderingpad gebruikt.
| Parameter | Type | Beschrijving |
|---|---|---|
_count | int | Bovengrens voor volledige rendering, eenheid: tienduizend, bereik [100, 4500] |
Opmerkingen:
- Alleen ondersteund op pc-/Mac-/PCVR-platformen.
- Moet vóór elke
Renderer.Load()worden aangeroepen enSetPlatformType()moet eerst worden aangeroepen.
Voorbeeld:
lccManager.SetFullRenderSplat(2500); // 25 miljoen punten
SetMaxRenderSplats
public void SetMaxRenderSplats(int _count)
Stelt het maximale aantal Splats in dat tijdens runtime per frame wordt gerenderd. Kan dynamisch na Load() worden aangeroepen.
| Parameter | Type | Beschrijving |
|---|---|---|
_count | int | Maximaal aantal Splats dat tijdens runtime wordt gerenderd, eenheid: tienduizend |
Opmerkingen:
- Kan tijdens runtime dynamisch worden aangepast.
- Mag de door
SetMaxBufferSplat()ingestelde capaciteit niet overschrijden; bij overschrijding wordt deze automatisch begrensd. - Geen effect in de volledige rendermodus.
Voorbeeld:
lccManager.SetMaxRenderSplats(2500); // 25 miljoen punten
GetLoadRatio
// Retourwaarde: float, [0,1] huidige laadvoortgang van de gegevens
public float GetLoadRatio()
Vraagt de laadvoortgang van de huidige scènegegevens op.
Opmerkingen:
- Retourneert in de volledige rendermodus altijd
1.0. - Retourneert in de chunked-rendermodus de verhouding van geladen knooppunten onder de huidige weergave; de waarde verandert in realtime met de camerabeweging en is geen monotoon stijgende algehele voortgang.
Voorbeeld:
float ratio = lccManager.GetLoadRatio();
progressBar.value = ratio;
SetSelectionMode
public void SetSelectionMode(SelectionMode mode)
Stelt de strategie voor knooppuntselectie in.
| Parameter | Type | Beschrijving |
|---|---|---|
mode | SelectionMode | Selectiestrategie; zie SelectionMode |
Opmerkingen:
Auto(standaard): wordt automatisch bepaald op basis van het totale begrenzingskader van de scène; wanneer de maximale afmeting van de scène ongeveer 380 meter overschrijdt, wordt automatisch overgeschakeld naarLarge.Normal: geschikt voor kleine en middelgrote scènes.Large: geschikt voor zeer grote scènes (meer dan 1000 meter).- Wordt direct na het omschakelen van kracht.
Voorbeeld:
lccManager.SetSelectionMode(SelectionMode.Auto);
Renderingbeheer tijdens runtime
De volgende methoden kunnen tijdens runtime dynamisch worden aangeroepen om de renderingprecisie, weergave-effecten en rendering-schakelaars aan te passen.
SetDetailLevel
public void SetDetailLevel(float sse)
Stelt het renderingprecisieniveau in. Een grotere waarde betekent fijnere rendering en een hoger prestatieverbruik.
| Parameter | Type | Beschrijving |
|---|---|---|
sse | float | Precisieniveau, bereik [1, 100], automatisch begrensd bij overschrijding |
Opmerkingen:
- Maakt gebruik van logaritmische toewijzing: veranderingen zijn gevoelig in het lage waardebereik en vloeiend in het hoge waardebereik.
- Kan tijdens runtime dynamisch worden aangepast.
- Wordt alleen van kracht in de
Normal-selectiemodus.
Voorbeeld:
lccManager.SetDetailLevel(50f); // Gemiddelde precisie
SetStartLod
public void SetStartLod(int lod)
Stelt het startpunt van de LOD-expansie in (0-gebaseerd). 0 is het fijnst en een groter getal betekent een grover niveau.
| Parameter | Type | Beschrijving |
|---|---|---|
lod | int | LOD-startniveau, bereik [0, 10], automatisch begrensd bij overschrijding |
Opmerkingen:
- De daadwerkelijk van kracht zijnde bovengrens wordt beperkt door het totale aantal gegevensniveaus.
Voorbeeld:
lccManager.SetStartLod(0);
SetAutoFov
public void SetAutoFov(bool _auto)
Stelt in of de rendering-FOV automatisch moet worden beheerd. Wanneer deze is ingeschakeld (standaard), vergrendelt de SDK bij het eerste frame een pixelbrandpuntsafstandsbasislijn, leidt vervolgens elke frame de verticale FOV af van de huidige viewporthoogte en schrijft deze terug naar Camera.fieldOfView; wanneer deze is uitgeschakeld, wordt fieldOfView extern beheerd (SetFOV() of door de camera rechtstreeks te wijzigen).
| Parameter | Type | Beschrijving |
|---|---|---|
_auto | bool | Of automatische FOV moet worden gebruikt |
Opmerkingen:
- Standaard ingeschakeld.
- Wanneer deze is ingeschakeld, wordt de
Camera.fieldOfViewvan de hoofdcamera voortdurend herschreven, dus het aanroepen vanSetFOV()wordt genegeerd. - Wanneer deze is uitgeschakeld, moet
SetFOV()handmatig worden aangeroepen om parameters in te stellen.
Voorbeeld:
lccManager.SetAutoFov(true);
SetFOV
public void SetFOV(int _width, int _height, float _verticalFov, float _aspect)
Stelt handmatig de verticale FOV (in graden) in. Herschrijft de Camera.fieldOfView van de hoofdcamera rechtstreeks, zodat de FOV in de Inspector overeenkomt met de FOV die daadwerkelijk voor rendering wordt gebruikt. _width / _height / _aspect zijn legacy-handtekeningsparameters; de daadwerkelijke projectie gebruikt de eigen viewport van de hoofdcamera (gebruik SetRecordMode() voor offscreen-uitvoer met een andere grootte / FOV).
| Parameter | Type | Beschrijving |
|---|---|---|
_width | int | Pixelbreedte |
_height | int | Pixelhoogte |
_verticalFov | float | Verticale FOV (graden) |
_aspect | float | Beeldverhouding |
Opmerkingen:
SetAutoFov(false)moet eerst worden aangeroepen, anders overschrijft de per-frame automatische FOV-afleiding de handmatige waarde.- De verticale FOV wordt begrensd tot
[1, 179]graden. - Aanroepen op VR-/PCVR-platformen, tijdens het opnemen of onder een orthografische camera wordt geweigerd (geeft een waarschuwing en retourneert).
Voorbeeld:
lccManager.SetFOV(1920, 1080, 60f, 1.778f);
SetRenderEnable
public void SetRenderEnable(Renderer _renderer, bool _isEnable)
Beheert de rendering-schakelaar van de opgegeven Renderer tijdens runtime. Wanneer deze is uitgeschakeld, neemt deze niet deel aan traversaal en tekenen.
| Parameter | Type | Beschrijving |
|---|---|---|
_renderer | Renderer | Doel-renderinginstantie |
_isEnable | bool | Of rendering moet worden ingeschakeld |
Voorbeeld:
lccManager.SetRenderEnable(renderer, false); // Verbergen
SetEnvironment
public void SetEnvironment(Renderer _renderer, bool _isRender)
Beheert de rendering van omgevingsgegevens van de opgegeven Renderer. Omgevingsgegevens zijn een achtergrondpuntenwolk met lage precisie die wordt gebruikt om verre uitzichten op te vullen.
| Parameter | Type | Beschrijving |
|---|---|---|
_renderer | Renderer | Doel-renderinginstantie |
_isRender | bool | Of omgevingsgegevens moeten worden gerenderd |
Opmerkingen:
- De gegevens moeten omgevingsknooppunten bevatten.
Voorbeeld:
lccManager.SetEnvironment(renderer, true);
SetZDepth
public void SetZDepth(bool zwrite)
Schakelt de Z-diepteschrijving in of uit en past de renderwachtrij dienovereenkomstig aan.
| Parameter | Type | Beschrijving |
|---|---|---|
zwrite | bool | Of Z-diepteschrijving moet worden ingeschakeld |
Voorbeeld:
lccManager.SetZDepth(true);
SetAlpha
public void SetAlpha(float alpha)
Stelt de globale opaciteit in.
| Parameter | Type | Beschrijving |
|---|---|---|
alpha | float | Globale opaciteit, bereik [0, 1], automatisch begrensd bij overschrijding |
Voorbeeld:
lccManager.SetAlpha(0.8f);
SetLightIntensity
public void SetLightIntensity(float intensity)
Stelt de globale lichtintensiteit in.
| Parameter | Type | Beschrijving |
|---|---|---|
intensity | float | Lichtintensiteit, bereik [0, 1], automatisch begrensd bij overschrijding |
Voorbeeld:
lccManager.SetLightIntensity(0.7f);
SetLowPassFilter
public void SetLowPassFilter(float _filter)
Stelt de sterkte van het globale laagdoorlaatfilter in, gebruikt om hoogfrequente aliasing / ruis te onderdrukken.
| Parameter | Type | Beschrijving |
|---|---|---|
_filter | float | Sterkte van het laagdoorlaatfilter, bereik [0, 1], automatisch begrensd bij overschrijding |
Voorbeeld:
lccManager.SetLowPassFilter(0.3f);
SetLockFPS
public void SetLockFPS(bool _isLock)
Schakelt de frameratevergrendeling in of uit (statische / dynamische frameratewisseling).
| Parameter | Type | Beschrijving |
|---|---|---|
_isLock | bool | Of de framerate moet worden vergrendeld |
Voorbeeld:
lccManager.SetLockFPS(true);
SetRenderLayer
public void SetRenderLayer(int _layer)
Stelt de Unity Layer in die door LCC-rendering wordt gebruikt, voor de zichtbaarheidsbeheer via de camera-CullingMask.
| Parameter | Type | Beschrijving |
|---|---|---|
_layer | int | Unity-renderlaag, bereik [0, 31] |
Opmerkingen:
- Kan tijdens runtime dynamisch worden aangepast.
Voorbeeld:
lccManager.SetRenderLayer(8); // Laag 8 gebruiken
SetForceRefresh
public void SetForceRefresh()
Forceert een renderingvernieuwing. Wist de interne camerainfo-cache zodat het frustum, de LOD en andere parameters in het volgende frame opnieuw worden berekend. Geschikt voor gevallen waarin extern gewijzigde cameraparameters direct van kracht moeten worden.
Voorbeeld:
lccManager.SetForceRefresh();
SetMipMode
public void SetMipMode(MipMode _mipMode)
Schakelt tussen de Mip-rendermodi. De Mip-modus maakt gebruik van mipmap-sampling (standaard) en de Non_Mip-modus schakelt mipmap uit.
| Parameter | Type | Beschrijving |
|---|---|---|
_mipMode | MipMode | Doelmodus; zie MipMode |
Opmerkingen:
- Retourneert direct wanneer de huidige modus gelijk is aan de doorgegeven modus.
- Wordt direct na het omschakelen van kracht.
Voorbeeld:
lccManager.SetMipMode(MipMode.Non_Mip);
SetGraphicsAPI
public void SetGraphicsAPI(GraphicsDeviceType type)
Stelt het grafische API-type in. HDR is ingeschakeld in de DX11-modus.
| Parameter | Type | Beschrijving |
|---|---|---|
type | GraphicsDeviceType | Grafisch API-type (ingebouwde enum van Unity) |
Voorbeeld:
lccManager.SetGraphicsAPI(GraphicsDeviceType.Direct3D11);
SetDebugMode
public void SetDebugMode(bool debug)
Schakelt de debugmodus in of uit.
| Parameter | Type | Beschrijving |
|---|---|---|
debug | bool | Of de debugmodus moet worden ingeschakeld |
Opmerkingen:
- Alleen ondersteund op pc-/Mac-platformen.
Voorbeeld:
lccManager.SetDebugMode(true);
SetEditorMode
public void SetEditorMode(bool _isEditor)
Schakelt de Editor-modus in of uit.
| Parameter | Type | Beschrijving |
|---|---|---|
_isEditor | bool | Of de Editor-modus moet worden ingeschakeld |
Opmerkingen:
- Alleen ondersteund op pc-/Mac-platformen.
Voorbeeld:
lccManager.SetEditorMode(true);
SetAECMode
public void SetAECMode(bool _aec)
Schakelt de AEC-modus (Architecture / Engineering / Construction) in of uit.
| Parameter | Type | Beschrijving |
|---|---|---|
_aec | bool | Of de AEC-modus moet worden ingeschakeld |
Opmerkingen:
- Alleen ondersteund op pc-/Mac-platformen.
Voorbeeld:
lccManager.SetAECMode(true);
SetSemantic
// Retourwaarde: bool, false=ongeldige parameter
public bool SetSemantic(bool enable, Vector4[] color = null)
Schakelt de semantische rendermodus in of uit. Wanneer deze is ingeschakeld, kan een kleurenarray worden doorgegeven om de weergavekleur van elke semantische categorie te definiëren.
| Parameter | Type | Beschrijving |
|---|---|---|
enable | bool | Of semantische rendering moet worden ingeschakeld |
color | Vector4[] | Semantische kleurenarray, de lengte moet 100 zijn, anders wordt false geretourneerd; geef null door om standaardkleuren te gebruiken |
Voorbeeld:
Vector4[] colors = new Vector4[100];
colors[0] = new Vector4(1, 0, 0, 1); // Categorie 0 = rood
lccManager.SetSemantic(true, colors);
SwitchRenderMode
public void SwitchRenderMode(RenderMode mode, Texture2D tex = null)
Schakelt tussen puntenwolkrendering en 3DGS-rendering. In de puntenwolkmodus kan een kleurverlooptextuur voor hoogte worden opgegeven.
| Parameter | Type | Beschrijving |
|---|---|---|
mode | RenderMode | Rendermodus; zie RenderMode |
tex | Texture2D | Kleurverlooptextuur voor hoogte (optioneel) |
Opmerkingen:
- Alleen ondersteund op pc-/Mac-platformen.
Voorbeeld:
lccManager.SwitchRenderMode(RenderMode.PointCloud, elevationTex);
SetRecordMode
public void SetRecordMode(bool isRecord, Vector2 renderSize, float verticalFov)
Stelt de opnamemodus in. In de opnamemodus worden een vaste resolutie en FOV gebruikt voor rendering, geschikt voor HD-video-opname.
| Parameter | Type | Beschrijving |
|---|---|---|
isRecord | bool | Of de opnamemodus moet worden gebruikt |
renderSize | Vector2 | Opnameresolutie |
verticalFov | float | Verticale FOV (graden) |
Opmerkingen:
- Alleen ondersteund op pc-/Mac-platformen.
- In de opnamemodus is de brandpuntsafstand van de camera vast en verandert deze niet met de Camera-component.
- Roep na het opnemen
SetRecordMode(false, ...)aan om te herstellen.
Voorbeeld:
lccManager.SetRecordMode(true, new Vector2(3840, 2160), 60f);
SetVRPerformance
public void SetVRPerformance(bool _enabled)
Stelt de krachtige VR-sorteermodus in. true gebruikt GPU-radixsortering (GpuSorter) en false valt terug op CPU / BitonicSorter.
| Parameter | Type | Beschrijving |
|---|---|---|
_enabled | bool | Of krachtige GPU-sortering moet worden ingeschakeld |
Opmerkingen:
- Heeft alleen invloed op het sorteertraject van VR-headsets (Pico / Quest / PicoSwan / OpenXR); standaard ingeschakeld.
- Wanneer er geen compute-apparaat is (zoals Mali), valt de sorteervoorganger automatisch terug op CPU, ongeacht deze schakelaar.
Voorbeeld:
lccManager.SetVRPerformance(true);
Verlichting en schaduwen
De volgende methoden beheren de schaduwontvangst en aangepaste puntlichten op 3DGS-oppervlakken. Schaduwgerelateerde methoden moeten nadat de LCC-scène klaar is met laden worden aangeroepen.
SetShadowReceive
public void SetShadowReceive(bool enable)
Schakelt de schaduwontvangst van de puntenwolk in of uit. Wanneer deze is ingeschakeld, kunnen schaduwen van Mesh-objecten in de scène op 3DGS-puntenwolkoppervlakken worden geworpen.
| Parameter | Type | Beschrijving |
|---|---|---|
enable | bool | Of schaduwen moeten worden ontvangen |
Opmerkingen:
- Standaard uitgeschakeld.
- Vereist Mesh-objecten die schaduwen werpen en een Directional Light in de scène.
Voorbeeld:
lccManager.SetShadowReceive(true);
SetShadowColor
public void SetShadowColor(Color color)
Stelt de kleur van het schaduwgebied in.
| Parameter | Type | Beschrijving |
|---|---|---|
color | Color | Schaduwkleur (RGBA) |
Opmerkingen:
- Standaard
(0.3, 0.3, 0.3, 1). SetShadowReceive(true)moet eerst worden ingeschakeld.
Voorbeeld:
lccManager.SetShadowColor(new Color(0.3f, 0.3f, 0.3f, 1f));
SetShadowStrength
public void SetShadowStrength(float strength)
Stelt de schaduwsterkte in. 0 is geen schaduw, 1 is de sterkste schaduw.
| Parameter | Type | Beschrijving |
|---|---|---|
strength | float | Schaduwsterkte, bereik [0, 1], automatisch begrensd bij overschrijding |
Opmerkingen:
- Standaard
1.0. SetShadowReceive(true)moet eerst worden ingeschakeld.
Voorbeeld:
lccManager.SetShadowStrength(0.8f);
SetLights
// Retourwaarde: int, 0=succes, -1=de maximale aantal-limiet overschreden
public int SetLights(List<PointLightData> lights)
Stelt de lijst met aangepaste puntlichten in. Het doorgeven van null of een lege lijst schakelt aangepaste verlichting uit.
| Parameter | Type | Beschrijving |
|---|---|---|
lights | List<PointLightData> | Lijst met puntlichten; zie PointLightData |
Opmerkingen:
PointLightData.lightType:0is een puntlicht (direction / spotAngle genegeerd),1is een spotlicht (direction / spotAngle vereist).- Het doorgeven van
nullof een lege lijst schakelt aangepaste verlichting uit.
Voorbeeld:
using Unity.Mathematics; // float3
var lights = new List<PointLightData>();
lights.Add(new PointLightData {
position = new float3(0, 5, 0),
lightType = 0, // 0=puntlicht, 1=spotlicht
color = new float3(1, 1, 1),
intensity = 2f,
range = 10f
});
lccManager.SetLights(lights);
Camerabeheer
SetMainCamera
public void SetMainCamera(Camera _cam)
Stelt de hoofdrendercamera in. LCC gebruikt deze camera voor frustum-culling, LOD-selectie, sortering en andere bewerkingen.
| Parameter | Type | Beschrijving |
|---|---|---|
_cam | Camera | Hoofdrendercamera; geef null door om te wissen |
Opmerkingen:
- Moet vóór
Renderer.Load()worden ingesteld. - Alleen ondersteund op pc-/Mac-platformen.
Voorbeeld:
lccManager.SetMainCamera(Camera.main);
AddCamera
public void AddCamera(Camera _cam)
Voegt een secundaire camera toe. De secundaire camera neemt deel aan rendering maar heeft geen invloed op de LOD-selectie.
| Parameter | Type | Beschrijving |
|---|---|---|
_cam | Camera | Secundaire camera |
Opmerkingen:
- Alleen ondersteund op pc-/Mac-platformen.
- De hoofdcamera kan niet als secundaire camera worden toegevoegd.
Voorbeeld:
lccManager.AddCamera(secondCamera);
RemoveCamera
public void RemoveCamera(Camera _cam)
Verwijdert een toegevoegde secundaire camera.
| Parameter | Type | Beschrijving |
|---|---|---|
_cam | Camera | De te verwijderen secundaire camera |
Opmerkingen:
- Alleen ondersteund op pc-/Mac-platformen.
Voorbeeld:
lccManager.RemoveCamera(secondCamera);
Knippen / markeren / toon
Knippen, markeren en toon zijn drie soorten bewerkingsbewerkingen, die allemaal het definiëren van het getroffen gebied via 2D-textuur, 3D-geometrie of een combinatie van beide ondersteunen. Zie Data2D, Data3D, DataMix en ToneMix.
SetClip (vlak knippen)
// Retourwaarde: int, 0=succes
public int SetClip(Vector3 planePoint, Vector3 planeNormal, bool inside = true)
Knipt de puntenwolk met een oneindig vlak, waarbij punten aan de normaalzijde of de tegenovergestelde zijde behouden blijven.
| Parameter | Type | Beschrijving |
|---|---|---|
planePoint | Vector3 | Een punt op het vlak |
planeNormal | Vector3 | Vlaknormaal |
inside | bool | true behoudt de normaalzijde |
Opmerkingen:
- Sluit andere knipmodi wederzijds uit.
Voorbeeld:
lccManager.SetClip(Vector3.zero, Vector3.up, true); // Behoud boven de grond
SetClip (2D-textuur knippen)
// Retourwaarde: int, 0=succes, 1=lege lijst, 2=het maximum aantal overschreden
public int SetClip(List<Data2D> _2Ds)
Knipt de puntenwolk met behulp van een 2D-geprojecteerde textuurmasker.
| Parameter | Type | Beschrijving |
|---|---|---|
_2Ds | List<Data2D> | Selectielijst met 2D-texturen |
Voorbeeld:
var clips = new List<Data2D>();
clips.Add(new Data2D {
texture = maskTex,
mv = modelViewMatrix,
mvp = mvpMatrix,
mode = SelectMode.normal
});
lccManager.SetClip(clips);
SetClip (3D-geometrie knippen)
// Retourwaarde: int, 0=succes, 1=lege lijst, 2=het maximum aantal overschreden, 3=geen geldige geometrie
public int SetClip(List<Data3D> _3Ds)
Knipt de puntenwolk met 3D-geometrie, met ondersteuning voor booleaanse bewerkingen om meerdere geometrieën te combineren.
| Parameter | Type | Beschrijving |
|---|---|---|
_3Ds | List<Data3D> | Lijst met 3D-geometrieën |
Opmerkingen:
- Ten minste één geometrie met
operation == normalis vereist.
Voorbeeld:
var clips = new List<Data3D>();
clips.Add(new Data3D {
type = ShapeType.box,
invMat = boxInverseMatrix,
operation = OperationMode.normal,
mode = SelectMode.normal
});
lccManager.SetClip(clips);
SetClip (knippen in gemengde modus)
// Retourwaarde: int, 0=succes, 1=lege lijst, 2=het maximum aantal overschreden
public int SetClip(List<DataMix> mix)
Definieert het knipgebied met een combinatie van 2D-texturen en 3D-geometrieën. Elke vermelding specificeert het type via editType.
| Parameter | Type | Beschrijving |
|---|---|---|
mix | List<DataMix> | Gemengde selectielijst (2D + 3D) |
Voorbeeld:
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()
Verlaat de knipmodus en herstelt de volledige weergave van de puntenwolk.
Voorbeeld:
lccManager.QuitClipMode();
SetHighlight (2D-textuur markeren)
// Retourwaarde: int, 0=succes, 1=lege lijst, 2=het maximum aantal overschreden
public int SetHighlight(List<Data2D> _2Ds)
Markeert de puntenwolk met behulp van een 2D-geprojecteerde textuurmasker; de puntenwolk buiten het gemarkeerde gebied wordt gedimd.
| Parameter | Type | Beschrijving |
|---|---|---|
_2Ds | List<Data2D> | Selectielijst met 2D-texturen |
Opmerkingen:
- Sluit 3D-markering en gemengde markering wederzijds uit.
Voorbeeld:
var highlights = new List<Data2D>();
highlights.Add(new Data2D {
texture = maskTex,
mv = modelViewMatrix,
mvp = mvpMatrix,
mode = SelectMode.normal
});
lccManager.SetHighlight(highlights);
SetHighlight (3D-geometrie markeren)
// Retourwaarde: int, 0=succes, 1=lege lijst, 2=het maximum aantal overschreden, 3=geen geldige geometrie
public int SetHighlight(List<Data3D> _3Ds)
Definieert het gemarkeerde gebied met 3D-geometrie, met ondersteuning voor booleaanse bewerkingen om te combineren.
| Parameter | Type | Beschrijving |
|---|---|---|
_3Ds | List<Data3D> | Lijst met 3D-geometrieën |
Opmerkingen:
- Ten minste één geometrie met
operation == normalis vereist.
Voorbeeld:
var highlights = new List<Data3D>();
highlights.Add(new Data3D {
type = ShapeType.box,
invMat = boxInverseMatrix,
operation = OperationMode.normal,
mode = SelectMode.normal
});
lccManager.SetHighlight(highlights);
SetHighlight (markeren in gemengde modus)
// Retourwaarde: int, 0=succes, 1=lege lijst, 2=het maximum aantal overschreden
public int SetHighlight(List<DataMix> mix)
Definieert het gemarkeerde gebied met een combinatie van 2D-texturen en 3D-geometrieën.
| Parameter | Type | Beschrijving |
|---|---|---|
mix | List<DataMix> | Gemengde selectielijst |
Voorbeeld:
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()
Verlaat de markeermodus en herstelt de normale weergave van de puntenwolk.
Voorbeeld:
lccManager.QuitHighlightMode();
SetTone
// Retourwaarde: int, 0=succes, 1=lege lijst, 2=het maximum aantal overschreden
public int SetTone(List<ToneMix> mix)
Past toonaanpassing toe op het geselecteerde gebied, met ondersteuning voor filters voor helderheid, verzadiging, contrast en LUT. Het toongebied kan worden gedefinieerd door 2D-textuur of 3D-geometrie.
| Parameter | Type | Beschrijving |
|---|---|---|
mix | List<ToneMix> | Toonmixlijst |
Opmerkingen:
brightness/saturation/contrastzijn standaard1.0.lutidis de LUT-filterindex;0betekent niet gebruikt.
Voorbeeld:
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()
Verlaat de toonmodus en herstelt de oorspronkelijke kleur van de puntenwolk.
Voorbeeld:
lccManager.QuitToneMode();
Decalprojectie
Decalprojectie projecteert een textuur op 3DGS-oppervlakken langs de richting van de projector. De decal is een in de wereld vastgelegde globale status, consistent voor alle camera's. De typische workflow is: de decal inschakelen → de textuur instellen → de projectorpose instellen. De volgende methoden worden alleen ondersteund op pc-/Mac-platformen.
SetDecalEnabled
public void SetDecalEnabled(bool enable)
Schakelt decalprojectie in of uit. SetDecalTexture() en SetDecalProjection() moeten afzonderlijk worden aangeroepen om de inhoud en de projectorpose in te stellen.
| Parameter | Type | Beschrijving |
|---|---|---|
enable | bool | Of decalprojectie moet worden ingeschakeld |
Opmerkingen:
- Uitschakelen wist de in de cache opgeslagen textuur / parameters niet.
Voorbeeld:
lccManager.SetDecalEnabled(true);
lccManager.SetDecalTexture(decalTex);
lccManager.SetDecalProjection(projectorPos, projectorRot, 60f, 1.778f, 0.1f, 20f);
SetDecalTexture
public void SetDecalTexture(Texture2D tex)
Stelt de decaltextuur in. RGB is de kleur en A is het eigen masker van de decal, dat wordt vermenigvuldigd met de globale opaciteit en de randvervaging.
| Parameter | Type | Beschrijving |
|---|---|---|
tex | Texture2D | Decaltextuur; het doorgeven van null wist de verwijzing |
Voorbeeld:
lccManager.SetDecalTexture(logoTex);
SetDecalProjection
public void SetDecalProjection(Vector3 pos, Quaternion rot, float fov, float aspect, float near, float far)
Stelt de pose- en perspectiefparameters van de decalprojector in. De projector projecteert langs de voorwaartse richting (+Z) en punten binnen het frustum worden door de decal bedekt.
| Parameter | Type | Beschrijving |
|---|---|---|
pos | Vector3 | Wereldpositie van de projector |
rot | Quaternion | Oriëntatie van de projector |
fov | float | Verticale FOV (graden), begrensd tot [1, 179] |
aspect | float | Beeldverhouding, minimaal 1e-4 |
near | float | Nabij knipvlak, minimaal 1e-3 |
far | float | Ver knipvlak, minimaal near + 1e-3 |
Voorbeeld:
lccManager.SetDecalProjection(new Vector3(0, 10, 0), Quaternion.Euler(90, 0, 0), 60f, 1.778f, 0.1f, 20f);
SetDecalOpacity
public void SetDecalOpacity(float opacity)
Stelt de algehele opaciteit van de decal in.
| Parameter | Type | Beschrijving |
|---|---|---|
opacity | float | Algehele decalopaciteit, bereik [0, 1], automatisch begrensd bij overschrijding |
Voorbeeld:
lccManager.SetDecalOpacity(0.8f);
SetDecalEdgeFade
public void SetDecalEdgeFade(float edgeFade)
Stelt de breedte van de randvervaging van de decal in. 0 is een harde rand en een grotere waarde maakt de randovergang zachter.
| Parameter | Type | Beschrijving |
|---|---|---|
edgeFade | float | Breedte van de randvervaging (verhouding in UV-ruimte), bereik [0, 0.5), automatisch begrensd bij overschrijding |
Voorbeeld:
lccManager.SetDecalEdgeFade(0.1f);
SetDecalOcclusion
public void SetDecalOcclusion(bool enable)
Schakelt decal-occlusieculling in of uit (op basis van de dieptekaart van de projector). Wanneer deze is ingeschakeld, worden afgeschermde oppervlakken niet door de decal bedekt.
| Parameter | Type | Beschrijving |
|---|---|---|
enable | bool | Of decal-occlusieculling moet worden ingeschakeld |
Opmerkingen:
- Alleen pc-/Mac-platform en alleen de URP-pipeline.
SetDecalProjection()moet zijn aangeroepen om de projector in te stellen voordat deze wordt ingeschakeld.- Afhankelijk van de kwaliteitsparameters die door
SetDecalOcclusionSettings()zijn geconfigureerd.
Voorbeeld:
lccManager.SetDecalOcclusion(true);
SetDecalOcclusionSettings
public void SetDecalOcclusionSettings(DecalOcclusionSettings settings)
Stelt alle kwaliteitsparameters van decal-occlusieculling in één keer in. Zie DecalOcclusionSettings.
| Parameter | Type | Beschrijving |
|---|---|---|
settings | DecalOcclusionSettings | Kwaliteitsparameters voor occlusieculling |
Opmerkingen:
- Kan op elk moment worden aangepast; parameters worden direct van kracht.
Voorbeeld:
lccManager.SetDecalOcclusionSettings(DecalOcclusionSettings.Default);
lccManager.SetDecalOcclusionSettings(new DecalOcclusionSettings {
opacityCutoff = 0.1f,
depthBias = 0.05f,
footprintMaxPx = 2,
resolution = 1024
});
Snapping
De snappingfunctie zoekt tijdens raycasting automatisch naar nabijgelegen randen / hoeken om uit te lijnen en wordt vaak gebruikt voor precieze interactie zoals meten en annoteren. De volgende methoden worden alleen ondersteund op pc-/Mac-platformen.
SetSnapEnabled
public void SetSnapEnabled(bool enable)
Schakelt de snappingfunctie in of uit. Wanneer deze is ingeschakeld, zoekt RaycastWithSnap() automatisch naar nabijgelegen randen / hoeken om naar te snappen.
| Parameter | Type | Beschrijving |
|---|---|---|
enable | bool | Of snapping moet worden ingeschakeld |
Opmerkingen:
- Standaard uitgeschakeld.
- Geen effect op mobiel / VR en er wordt een waarschuwing uitgevoerd.
Voorbeeld:
lccManager.SetSnapEnabled(true);
SetSnapRadius
public void SetSnapRadius(float pixels)
Stelt de zoekradius voor snapping in. Zoekt binnen dit pixelbereik naar de dichtstbijzijnde rand / hoek.
| Parameter | Type | Beschrijving |
|---|---|---|
pixels | float | Zoekradius voor snapping (pixels) |
Opmerkingen:
- Standaard 20 pixels.
- Een grotere waarde betekent een breder zoekbereik, maar kan naar onbedoelde doelen snappen.
Voorbeeld:
lccManager.SetSnapRadius(30f);
SetEdgeThreshold
public void SetEdgeThreshold(float threshold)
Stelt de randdetectiedrempel in. Een kleinere waarde detecteert meer randen.
| Parameter | Type | Beschrijving |
|---|---|---|
threshold | float | Randdetectiedrempel, aanbevolen bereik [0.1, 0.8] |
Opmerkingen:
- Standaard
0.3. - Een te kleine waarde levert een grote hoeveelheid ruisranden op.
Voorbeeld:
lccManager.SetEdgeThreshold(0.2f);
SetSnapPreviewEnabled
public void SetSnapPreviewEnabled(bool enable)
Schakelt de snapvoorbeeldfunctie in of uit. Wanneer deze is ingeschakeld, wordt de indicator van het dichtstbijzijnde snapdoel in realtime weergegeven terwijl de muis beweegt.
| Parameter | Type | Beschrijving |
|---|---|---|
enable | bool | Of het snapvoorbeeld moet worden ingeschakeld |
Opmerkingen:
SetSnapEnabled(true)moet eerst worden aangeroepen.- Het voorbeeld verbruikt voortdurend GPU-bronnen (detectie elke frame).
Voorbeeld:
lccManager.SetSnapPreviewEnabled(true);
UpdateSnapPreview
public void UpdateSnapPreview(Vector2 mousePos, Camera cam)
Werkt de status van het snapvoorbeeld bij. Wordt aangeroepen terwijl de muis beweegt om de positie van de voorbeeldindicator bij te werken.
| Parameter | Type | Beschrijving |
|---|---|---|
mousePos | Vector2 | Huidige schermcoördinaten van de muis |
cam | Camera | Camera |
Opmerkingen:
SetSnapPreviewEnabled(true)moet eerst worden aangeroepen.- Aanbevolen om continu in
Updateaan te roepen.
Voorbeeld:
void Update()
{
lccManager.UpdateSnapPreview(Input.mousePosition, Camera.main);
}
GetSnapPreviewState
// Retourwaarde: SnapPreviewState
public SnapPreviewState GetSnapPreviewState()
Haalt de huidige status van het snapvoorbeeld op, inclusief of er een snapdoel is, het doeltype, de schermpositie van het doel en de pixelafstand tot de muis. Zie SnapPreviewState.
Opmerkingen:
SetSnapPreviewEnabled(true)enUpdateSnapPreview()moeten eerst worden aangeroepen.- Retourneert
default(SnapPreviewState)wanneer er geen doel is. screenPosis in schermcoördinaten, niet in wereldcoördinaten; gebruikRaycastWithSnap()omHitResult.hitPosvoor wereldcoördinaten te verkrijgen.
Voorbeeld:
var state = lccManager.GetSnapPreviewState();
if (state.hasTarget)
{
// state.snapType: Corner / Edge
// state.screenPos: schermcoördinaten van het snapdoel
// state.distanceToMouse: pixelafstand
}
Raycasting- en botsingsquery's
Raycasting wordt gebruikt om punten op 3DGS-oppervlakken te selecteren en botsingsquery's worden gebruikt voor fysieke interactie tussen personages / objecten en de puntenwolk. Het hitresultaat wordt geretourneerd via HitResult.
Opmerking:
Het veld met de wereldcoördinaten van het trefpunt van
HitResultheethitPos(nietposition).
Raycast (schermcoördinaten)
// Retourwaarde: bool, true=geraakt
public bool Raycast(Vector3 mousePos, out HitResult _finalResult)
Zendt een straal uit vanuit schermcoördinaten om treffers op de puntenwolk te detecteren. De straal wordt gegenereerd met behulp van de hoofdcamera die door SetMainCamera() is ingesteld.
| Parameter | Type | Beschrijving |
|---|---|---|
mousePos | Vector3 | Schermcoördinaten |
_finalResult | out HitResult | Hitresultaat |
Opmerkingen:
SetMainCamera()moet eerst worden aangeroepen om de hoofdcamera in te stellen.- Retourneert het trefpunt dat zich het dichtst bij de camera bevindt.
- De precisie wordt beïnvloed door
SetRaycastDelta()en de maximale afstand wordt beheerd doorSetMaxRaycastDistance().
Voorbeeld:
if (lccManager.Raycast(Input.mousePosition, out HitResult hit))
{
Debug.Log(hit.hitPos);
}
Raycast (Ray)
// Retourwaarde: bool, true=geraakt
public bool Raycast(Ray _ray, out HitResult _finalResult)
Voert raycasting uit met een aangepaste Ray, doorloopt alle actieve Renderers en retourneert de dichtstbijzijnde treffer.
| Parameter | Type | Beschrijving |
|---|---|---|
_ray | Ray | Straal |
_finalResult | out HitResult | Hitresultaat |
Voorbeeld:
Ray ray = new Ray(origin, direction);
if (lccManager.Raycast(ray, out HitResult hit))
{
Debug.Log(hit.hitPos);
}
RaycastMesh (schermcoördinaten)
// Retourwaarde: bool, true=geraakt
public bool RaycastMesh(Vector3 mousePos, out HitResult _finalResult, float _distance = 70.0f)
Zendt een straal uit vanuit schermcoördinaten om treffers op de botsings-Mesh van de puntenwolk te detecteren. Maakt gebruik van Collider-gegevens voor detectie, wat sneller is dan Raycast() maar minder nauwkeurig.
| Parameter | Type | Beschrijving |
|---|---|---|
mousePos | Vector3 | Schermcoördinaten |
_finalResult | out HitResult | Hitresultaat |
_distance | float | Maximale detectieafstand, standaard 70.0 |
Opmerkingen:
- De gegevens moeten Collider-knooppunten bevatten en
Renderer.SetColliderEnable(true)moet eerst worden aangeroepen.
Voorbeeld:
if (lccManager.RaycastMesh(Input.mousePosition, out HitResult hit))
{
Debug.Log(hit.hitPos);
}
RaycastMesh (Ray + Bounds)
// Retourwaarde: bool, true=geraakt
public bool RaycastMesh(Ray ray, out HitResult result, out Bounds hitBounds, float maxDist = 70.0f)
Voert detectie van de botsings-Mesh uit met een aangepaste Ray en retourneert ook het begrenzingskader van het geraakte knooppunt.
| Parameter | Type | Beschrijving |
|---|---|---|
ray | Ray | Straal |
result | out HitResult | Hitresultaat |
hitBounds | out Bounds | Begrenzingskader van het geraakte knooppunt |
maxDist | float | Maximale detectieafstand, standaard 70.0 |
Opmerkingen:
- De gegevens moeten Collider-knooppunten bevatten.
Voorbeeld:
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (lccManager.RaycastMesh(ray, out HitResult hit, out Bounds bounds))
{
Debug.Log(bounds.center);
}
RaycastWithSnap
// Retourwaarde: bool, true=geraakt
public bool RaycastWithSnap(Vector2 screenPos, Camera cam, out HitResult result)
Raycasting met snapping. Voert eerst een normale raycast uit en zoekt vervolgens naar randen / hoeken nabij het trefpunt om naar te snappen.
| Parameter | Type | Beschrijving |
|---|---|---|
screenPos | Vector2 | Schermcoördinaten |
cam | Camera | Camera |
result | out HitResult | Hitresultaat (inclusief snap-info) |
Opmerkingen:
SetSnapEnabled(true)moet eerst worden aangeroepen.- Alleen pc-/Mac-platformen; niet beschikbaar op mobiel / VR.
- Snapprioriteit: Corner > Edge > None.
HitResult.snapTypeis het snap-type,HitResult.hitPosis de wereldcoördinaat na het snappen enHitResult.originalHitPosis het oorspronkelijke trefpunt vóór het snappen.
Voorbeeld:
if (lccManager.RaycastWithSnap(mousePos, cam, out HitResult hit))
{
// hit.snapType: Corner / Edge / None
// hit.hitPos: wereldcoördinaat na het snappen
// hit.originalHitPos: oorspronkelijk trefpunt vóór het snappen
}
SetRaycastDelta
public void SetRaycastDelta(float delta)
Stelt de precisieparameter van raycasting in. Een kleinere waarde betekent een hogere precisie maar een hoger prestatieverbruik.
| Parameter | Type | Beschrijving |
|---|---|---|
delta | float | Raycastingprecisie, bereik [0.1, 10.0], automatisch begrensd bij overschrijding |
Opmerkingen:
- Standaard
0.1. - Beïnvloedt de detectieprecisie van alle
Raycast()-methoden.
Voorbeeld:
lccManager.SetRaycastDelta(0.5f);
SetMaxRaycastDistance
public void SetMaxRaycastDistance(float _distance)
Stelt de maximale detectieafstand van de Raycast()-methoden in.
| Parameter | Type | Beschrijving |
|---|---|---|
_distance | float | Maximale raycastafstand, bereik [10, 10000], automatisch begrensd bij overschrijding |
Opmerkingen:
- Beïnvloedt de overbelastingen
Raycast(Vector3)/Raycast(Ray); heeft geen invloed opRaycastMesh()(dat een eigen afstandsparameter heeft).
Voorbeeld:
lccManager.SetMaxRaycastDistance(500f);
IntersectsSphere
// Retourwaarde: bool, true=snijdt
public bool IntersectsSphere(Sphere sphere)
// Retourwaarde: bool, true=snijdt
public bool IntersectsSphere(Sphere sphere, out Vector3 delta)
Detecteert of een bol de puntenwolkcollider snijdt. De tweede overbelasting retourneert bovendien de penetratievector, die kan worden gebruikt voor fysiek naar buiten duwen.
| Parameter | Type | Beschrijving |
|---|---|---|
sphere | Sphere | Bol |
delta | out Vector3 | Penetratievector (uitduwrichting en -afstand) |
Opmerkingen:
- De gegevens moeten Collider-knooppunten bevatten en
Renderer.SetColliderEnable(true)moet eerst worden aangeroepen. - Itereert over alle actieve Renderers.
Voorbeeld:
var sphere = new Sphere(transform.position, 0.5f);
if (lccManager.IntersectsSphere(sphere, out Vector3 delta))
{
transform.position += delta;
}
IntersectsCapsule
// Retourwaarde: bool, true=snijdt
public bool IntersectsCapsule(Capsule capsule)
// Retourwaarde: bool, true=snijdt
public bool IntersectsCapsule(Capsule capsule, out Vector3 delta)
Detecteert of een capsule de puntenwolkcollider snijdt, vaak gebruikt voor botsingsdetectie van de character controller. De tweede overbelasting retourneert de penetratievector.
| Parameter | Type | Beschrijving |
|---|---|---|
capsule | Capsule | Capsule |
delta | out Vector3 | Penetratievector |
Opmerkingen:
- De gegevens moeten Collider-knooppunten bevatten en
Renderer.SetColliderEnable(true)moet eerst worden aangeroepen.
Voorbeeld:
var capsule = new Capsule(footPos, headPos, 0.3f);
if (lccManager.IntersectsCapsule(capsule, out Vector3 delta))
{
characterController.Move(delta);
}
Visuele effecten
TriggerVFX
public void TriggerVFX(Vector3 vfxOriginW, int vfxid = 0)
Activeert een visueel effect op de opgegeven wereldcoördinaat, dat zich vanaf die coördinaat naar buiten verspreidt.
| Parameter | Type | Beschrijving |
|---|---|---|
vfxOriginW | Vector3 | Wereldcoördinaatoorsprong van het effect |
vfxid | int | Effect-ID, standaard 0 |
Opmerkingen:
- Moet worden aangeroepen nadat de LCC-scène klaar is met laden.
Voorbeeld:
lccManager.TriggerVFX(hitPoint, 0);
Instantiequery's
GetAllRenderers
// Retourwaarde: List<Renderer>, een kopie van alle geregistreerde Renderer-instanties
public List<Renderer> GetAllRenderers()
Haalt de lijst op van alle momenteel geregistreerde Renderer-instanties (retourneert een kopie).
Voorbeeld:
var renderers = lccManager.GetAllRenderers();
foreach (var r in renderers) { /* ... */ }