Przewodnik efektu ładowania
LCC Unity SDK obsługuje efekty ładowania. Efekt ładowania rozprzestrzenia się na zewnątrz o 720 stopni z określonego punktu, symulując proces pojawiania się z niczego. Poniżej opisano kompletne kroki implementacji efektu ładowania.
Krok 1: Utwórz scenę i GameObjects
Utwórz zupełnie nową scenę w Unity. Unity domyślnie tworzy Kamerę główną i Światło kierunkowe.
Skonfiguruj Kamerę główną
Wybierz Kamerę główną w oknie Hierarchia i ustaw jej właściwości w oknie Inspektor, jak pokazano poniżej.

Ustaw właściwości Kamery głównej
Utwórz LCCManager
Kliknij prawym przyciskiem myszy pusty obszar w oknie Hierarchia, wybierz Utwórz pusty z menu podręcznego, aby utworzyć pusty GameObject, nazwij go LCCManager, znormalizuj jego Transform i dodaj do niego skrypt LCCManager przez Dodaj komponent.

Utwórz GameObject LCCManager i dodaj skrypt LCCManager
Utwórz LCCRenderer
Kliknij prawym przyciskiem myszy pusty obszar w oknie Hierarchia, wybierz Utwórz pusty, aby utworzyć pusty GameObject, nazwij go LCCRenderer i ustaw jego Transform na Rotation.x = -90 i Scale.x = -1.

Utwórz LCCRenderer i ustaw jego Transform (Rotation.x = -90, Scale.x = -1)
Uwaga:
Ustawienia Transform GameObject LCCRenderer (Rotation.x = -90, Scale.x = -1) wyrównują go z układem współrzędnych danych LCC. Szczegóły wyrównania układu współrzędnych znajdziesz w sekcji „Układ współrzędnych danych LCC" w Wprowadzenie do Unity SDK.
Krok 2: Napisz skrypt, aby wywołać efekt
Utwórz nowy skrypt C# o nazwie VFX.cs z następującym kodem:
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("Uruchomiono, ładowanie danych...");
m_renderer = m_manager.GetRender(this.transform);
m_renderer.Load(m_FilePath, onProgress, onComplete);
}
private void onProgress(float _progress)
{
Debug.Log($"Postęp ładowania: {_progress:P1}");
}
private void onComplete()
{
Debug.Log("Ładowanie zakończone, włączanie VFX ...");
Vector3 pos = Camera.main.transform.position + Camera.main.transform.forward * 2.0f;
m_manager.TriggerVFX(pos);
}
}
Uwaga:
Efekt musi być wywołany po zakończeniu ładowania sceny LCC, więc
TriggerVFX()jest wywoływane w wywołaniu zwrotnymonComplete. W tym przykładzie po zakończeniu ładowania danych efekt jest wywoływany 2 metry przed kamerą renderującą.
Krok 3: Dołącz skrypt i ustaw ścieżkę danych
- Dołącz skrypt
VFX.csdo GameObject LCCManager w oknie Hierarchia. - W oknie Inspektor przeciągnij GameObject LCCManager na właściwość Manager skryptu.
- Wpisz ścieżkę pliku LCC we właściwości File Path skryptu.

Dołącz skrypt VFX i ustaw właściwości Manager oraz File Path
Krok 4: Uruchom
Kliknij przycisk Odtwórz w oknie Gra, aby zobaczyć efekt ładowania w czasie rzeczywistym w scenie. Efekt rozprzestrzenia się na zewnątrz o 720 stopni z punktu wyzwalania.

Efekt ładowania w czasie rzeczywistym w scenie po uruchomieniu
Kluczowe kroki
Kluczowe kroki ładowania efektu w scenie 3DGS:
- Upewnij się, że GameObjects LCCManager i LCCRenderer zostały utworzone w scenie z prawidłowym Transform.
- Upewnij się, że efekt jest wywoływany w kodzie po zakończeniu ładowania sceny LCC (czyli w wywołaniu zwrotnym
onComplete). - Współrzędna świata przekazana do
TriggerVFX()określa początek rozprzestrzeniania efektu.
API powiązane z efektem
LCC Unity SDK udostępnia API wywoływania efektu przez LCCManager. Musi być wywoływane po zakończeniu ładowania sceny LCC (czyli w wywołaniu zwrotnym onComplete).
TriggerVFX
// Wartość zwracana: void
public void TriggerVFX(Vector3 vfxOriginW, int vfxid = 0)
Wywołuje efekt w określonej współrzędnej świata, a efekt rozprzestrzenia się na zewnątrz o 720 stopni z tego punktu współrzędnych.
| Parametr | Typ | Opis |
|---|---|---|
vfxOriginW | Vector3 | Współrzędna świata będąca początkiem efektu |
vfxid | int | ID efektu, opcjonalne, domyślnie 0 |
Przykład użycia:
Vector3 pos = Camera.main.transform.position + Camera.main.transform.forward * 2.0f;
m_manager.TriggerVFX(pos);
Uwagi:
- Musi być wywoływane po zakończeniu ładowania sceny LCC.
vfxOriginWto współrzędna świata punktu początkowego efektu.- Po wywołaniu słowo kluczowe shadera jest przełączane na
_VFXMIX.