XGRIDSDocs
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • Seria Lixel PortalCam

    • PortalCam P1

      • Przegląd produktu
      • Podstawowa obsługa
      • Korzystanie z aplikacji LCC Scan
      • Konserwacja i pielęgnacja
      • FAQ
  • Seria Lixel K

    • Lixel K1

      • Przegląd produktu
      • Podstawowa obsługa
      • Aktywacja i połączenie urządzenia
      • Przebieg skanowania
      • Pozyskiwanie danych chmury punktów ze współrzędnymi bezwzględnymi
      • Fuzja map
      • Zalecenia dotyczące planowania trasy dla typowych scen
      • Środki ostrożności
      • FAQ
    • Lixel K2

      • Przegląd produktu
      • Podstawowa obsługa
      • Aktywacja i połączenie urządzenia
      • Przebieg skanowania
      • Pozyskiwanie danych chmury punktów ze współrzędnymi bezwzględnymi
      • Fuzja map
      • Zalecenia dotyczące planowania trasy dla typowych scen
      • Środki ostrożności
      • FAQ
  • Seria Lixel L

    • Lixel L2 Pro

      • Przegląd produktu
      • Podstawowa obsługa
      • Aktywacja i połączenie urządzenia
      • Proces skanowania
      • Pozyskiwanie danych chmury punktów ze współrzędnymi bezwzględnymi
      • Punkt pomiarowy
      • Dodatek
      • FAQ
    • Lixel L3

      • Przegląd produktu
      • Podstawowe funkcje urządzenia
      • Aktywacja i połączenie urządzenia
      • Przechwytywanie danych
      • Przechwytywanie współrzędnych bezwzględnych
      • Dodatek
  • Akcesoria

    • Stick Light

      • Przewodnik instalacji
      • Podstawowa obsługa
      • Często zadawane pytania
  • Lixel Studio

    • Wersja i prawa autorskie
    • Instalacja i aktywacja
    • Interfejs oprogramowania
    • Operacje na plikach
    • Przetwarzanie projektu
    • Narzędzia
    • Rysowanie 2D
    • Zastosowania
    • Ustawienia
    • Połączenie z urządzeniem
  • 07-plugin-sdk

    • Unity

      • Wprowadzenie do Unity SDK
      • Funkcje techniczne
      • Wymagania środowiska deweloperskiego
      • Przewodnik szybkiego startu dla PC
      • Przewodnik optymalizacji ustawień projektu
      • Przewodnik deweloperski dla Pico 4 Ultra
      • Przewodnik strumieniowania PC dla Pico 4 Ultra
      • Przewodnik deweloperski dla Quest 3
      • Przewodnik strumieniowania PC dla Quest 3
      • Przewodnik deweloperski dla OpenXR
      • Przewodnik Business Streaming dla Pico 4 Ultra
      • Słownik
      • Często zadawane pytania (FAQ)
      • Skontaktuj się z nami
      • Przewodnik programowania funkcji

        • Przewodnik mieszanego renderowania wielu scen
        • Przewodnik odbierania cieni
        • Przewodnik oświetlenia w czasie rzeczywistym
        • Przewodnik renderowania wielokamerowego
        • Przewodnik renderowania obrazów wysokiej rozdzielczości
        • Przewodnik zgodności formatów danych LCC i LCC2
        • Przewodnik efektu ładowania
        • Przewodnik przełączania trybu renderowania Mip
        • Przewodnik przyciągania do krawędzi i narożników
        • Przewodnik dekala projekcyjnego
        • Przewodnik wideo dekala projekcyjnego
        • Przewodnik podświetlania
        • Przewodnik przycinania w czasie rzeczywistym
        • Przewodnik korekcji kolorów
        • Przewodnik pobierania danych siatki sceny
        • Przewodnik trybu edytora
        • Przewodnik konfiguracji parametrów wydajności renderowania
        • Przewodnik współpakowania aplikacji i danych
        • Przewodnik systemu kolizji
        • Przewodnik problemów z uprawnieniami w deweloperstwie na macOS
        • Przewodnik kompilacji i pakowania na urządzenia iOS
      • Dokumentacja API

        • LCCManager
        • Renderer
        • Typy danych
      • Dziennik zmian

        • v2.3.0
        • v2.2.10
        • v2.2.0
        • v2.1.19
        • v2.0.14

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

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 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

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 zwrotnym onComplete. 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

  1. Dołącz skrypt VFX.cs do GameObject LCCManager w oknie Hierarchia.
  2. W oknie Inspektor przeciągnij GameObject LCCManager na właściwość Manager skryptu.
  3. Wpisz ścieżkę pliku LCC we właściwości File Path skryptu.
Dołącz skrypt VFX i ustaw Manager oraz File Path

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

Efekt ładowania w czasie rzeczywistym w scenie po uruchomieniu

Kluczowe kroki

Kluczowe kroki ładowania efektu w scenie 3DGS:

  1. Upewnij się, że GameObjects LCCManager i LCCRenderer zostały utworzone w scenie z prawidłowym Transform.
  2. Upewnij się, że efekt jest wywoływany w kodzie po zakończeniu ładowania sceny LCC (czyli w wywołaniu zwrotnym onComplete).
  3. 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.

ParametrTypOpis
vfxOriginWVector3Współrzędna świata będąca początkiem efektu
vfxidintID 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.
  • vfxOriginW to współrzędna świata punktu początkowego efektu.
  • Po wywołaniu słowo kluczowe shadera jest przełączane na _VFXMIX.