Ontwikkelgids voor laadeffecten
De LCC Unity SDK ondersteunt laadeffecten. Een laadeffect verspreidt zich 720 graden vanuit een opgegeven punt en simuleert een proces van uit het niets verschijnen. Hieronder worden de volledige stappen beschreven voor het implementeren van het laadeffect.
Stap 1: De scène en GameObjects aanmaken
Maak een gloednieuwe scène aan in Unity. Unity maakt standaard Main Camera en Directional Light aan.
Main Camera instellen
Selecteer Main Camera in het Hiërarchie-venster en stel de eigenschappen in het Inspector-venster in zoals hieronder wordt weergegeven.

Stel de eigenschappen van Main Camera in
LCCManager aanmaken
Klik met de rechtermuisknop op een leeg gebied in het Hiërarchie-venster, selecteer Create Empty in het pop-upmenu om een leeg GameObject aan te maken, geef het de naam LCCManager, normaliseer de Transform en voeg het LCCManager-script eraan toe via Component toevoegen.

Maak het LCCManager-GameObject aan en voeg het LCCManager-script toe
LCCRenderer aanmaken
Klik met de rechtermuisknop op een leeg gebied in het Hiërarchie-venster, selecteer Create Empty om een leeg GameObject aan te maken, geef het de naam LCCRenderer en stel de Transform in op Rotation.x = -90 en Scale.x = -1.

Maak LCCRenderer aan en stel de Transform in (Rotation.x = -90, Scale.x = -1)
Opmerking:
De Transform-instellingen van het LCCRenderer-GameObject (Rotation.x = -90, Scale.x = -1) lijnen het uit met het coördinatensysteem van de LCC-gegevens. Zie "Coördinatensysteem van LCC-gegevens" in LCC Unity SDK Introductie voor meer informatie over de uitlijning van het coördinatensysteem.
Stap 2: Een script schrijven om het effect te activeren
Maak een nieuw C#-script aan met de naam VFX.cs met de volgende code:
using LCCCore;
using UnityEngine;
public class VFX : 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("Gestart, gegevens worden geladen...");
m_renderer = m_manager.GetRender(this.transform);
m_renderer.Load(m_FilePath, onProgress, onComplete);
}
private void onProgress(float _progress)
{
Debug.Log($"Laadvoortgang: {_progress:P1}");
}
private void onComplete()
{
Debug.Log("Laden voltooid, VFX wordt ingeschakeld ...");
Vector3 pos = Camera.main.transform.position + Camera.main.transform.forward * 2.0f;
m_manager.TriggerVFX(pos);
}
}
Opmerking:
Het effect moet worden geactiveerd nadat de LCC-scène is geladen, dus
TriggerVFX()wordt aangeroepen in deonComplete-callback. In dit voorbeeld wordt het effect nadat de gegevens zijn geladen, 2 meter vóór de rendercamera geactiveerd.
Stap 3: Het script toevoegen en het gegevenspad instellen
- Voeg het
VFX.cs-script toe aan het LCCManager-GameObject in het Hiërarchie-venster. - Sleep in het Inspector-venster het LCCManager-GameObject naar de eigenschap Manager van het script.
- Vul het LCC-bestandspad in bij de eigenschap File Path van het script.

Voeg het VFX-script toe en stel de eigenschappen Manager en File Path in
Stap 4: Uitvoeren
Klik op de knop Play in het Game-venster om het realtime laadeffect in de scène te zien. Het effect verspreidt zich 720 graden vanuit het triggerpunt.

Het realtime laadeffect in de scène na het uitvoeren
Belangrijkste stappen
De belangrijkste stappen voor het laden van een effect in een 3DGS-scène:
- Zorg ervoor dat de LCCManager- en LCCRenderer-GameObjects in de scène zijn aangemaakt met de juiste Transform.
- Zorg ervoor dat het effect in code wordt geactiveerd nadat de LCC-scène is geladen (dat wil zeggen in de
onComplete-callback). - Het wereldcoördinaat dat aan
TriggerVFX()wordt doorgegeven, bepaalt de oorsprong van de verspreiding van het effect.
Effectgerelateerde API
De LCC Unity SDK biedt via LCCManager de API voor het activeren van effecten. Deze moet worden aangeroepen nadat de LCC-scène is geladen (dat wil zeggen in de onComplete-callback).
TriggerVFX
// Retourwaarde: void
public void TriggerVFX(Vector3 vfxOriginW, int vfxid = 0)
Activeert het effect op het opgegeven wereldcoördinaat en het effect verspreidt zich 720 graden vanuit dat coördinaatpunt.
| Parameter | Type | Beschrijving |
|---|---|---|
vfxOriginW | Vector3 | Wereldcoördinaatoorsprong van het effect |
vfxid | int | Effect-ID, optioneel, standaard 0 |
Gebruiksvoorbeeld:
Vector3 pos = Camera.main.transform.position + Camera.main.transform.forward * 2.0f;
m_manager.TriggerVFX(pos);
Opmerkingen:
- Moet worden aangeroepen nadat de LCC-scène is geladen.
vfxOriginWis het wereldcoördinaat van het startpunt van het effect.- Na het aanroepen wordt het shader-keyword gewijzigd naar
_VFXMIX.