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

LCC Unity SDK obsługuje renderowanie scen w Edytorze, co oznacza, że model LCC może być przesuwany, obracany i skalowany w trybie edycji jak każdy inny GameObject w Unity. Możesz przeglądać i dostosowywać scenę 3DGS w oknie Scena w czasie rzeczywistym bez klikania przycisku Odtwórz, aby wejść w tryb odtwarzania.

Przy użyciu sceny Samples możesz ukończyć renderowanie sceny przez operacje bezkodowe; przy użyciu własnych skryptów możesz osiągnąć ten sam efekt przez operacje kodowe.

Uwaga:

LCC Unity SDK obsługuje zarówno pełny, jak i fragmentowy tryb renderowania. W trybie pełnego renderowania widok Scena może całkowicie wyrenderować cały model; w trybie renderowania fragmentami, ponieważ pozycje i orientacje Kamery Sceny i Kamery Gry nie są spójne, model może nie być w pełni wyświetlony w oknie Scena. W takim przypadku musisz zsynchronizować Kamerę Sceny i Kamerę Gry.

Operacje bezkodowe

Przy użyciu sceny Samples SDK, jeśli ścieżka pliku danych (File Path) jest poprawnie wypełniona, Unity automatycznie wyrenderuje scenę w Edytorze po uruchomieniu, jak pokazano poniżej.

Automatycznie renderuj scenę w Edytorze

Po poprawnym wypełnieniu File Path Unity renderuje scenę automatycznie w Edytorze przy uruchomieniu

Przełącz scenę

Gdy musisz zmodyfikować renderowaną scenę, wykonaj następujące kroki:

  1. Wybierz GameObject LCCRenderer w oknie Hierarchia.
  2. Poprawnie wypełnij ścieżkę danych nowej sceny w File Path w oknie Inspektor.
  3. Kliknij trzy kropki (⋮) po prawej stronie komponentu LCCRenderer (Script) i wybierz Render z menu podręcznego, jak pokazano poniżej.
Kliknij Render w menu komponentu LCCRenderer, aby wyrenderować nową scenę

Kliknij Render w menu trzech kropek po prawej stronie komponentu LCCRenderer (Script)

Uwaga:

Ponieważ zwolnienie danych oryginalnej sceny i załadowanie danych nowej sceny zajmuje trochę czasu, odczekaj chwilę po kliknięciu Render; nowa scena zakończy ładowanie.

Zatrzymaj renderowanie sceny

Gdy nie potrzebujesz już renderować sceny w Edytorze, wykonaj następujące kroki, aby zatrzymać renderowanie:

  1. Wybierz GameObject LCCRenderer w oknie Hierarchia.
  2. Poprawnie wypełnij ścieżkę danych w File Path w oknie Inspektor.
  3. Kliknij trzy kropki (⋮) po prawej stronie komponentu LCCRenderer (Script) i wybierz unRender z menu podręcznego, jak pokazano poniżej. To zatrzymuje bieżące renderowanie sceny.
Kliknij unRender w menu komponentu LCCRenderer, aby zatrzymać renderowanie

Kliknij unRender w menu trzech kropek po prawej stronie komponentu LCCRenderer (Script)

Wejdź w tryb odtwarzania

Gdy klikniesz przycisk Odtwórz w Unity, aby wejść w normalny tryb odtwarzania, scena zostanie ponownie wyrenderowana w stanie środowiska uruchomieniowego. Ponieważ SDK wewnętrznie używa mechanizmu wielowątkowości, wejście w tryb odtwarzania wymusza wyjście z wątku renderowania w trybie edycji, co objawia się komunikatem błędu w Konsoli.

Możesz całkowicie zignorować ten błąd; nie ma on niekorzystnego wpływu i nie wpływa na późniejsze normalne działanie.

Jeśli naprawdę nie chcesz widzieć tego błędu, możesz wykonać powyższy krok Zatrzymaj renderowanie sceny (unRender) przed kliknięciem przycisku Odtwórz, a następnie kliknąć przycisk Odtwórz, aby wejść w stan środowiska uruchomieniowego.

Operacje kodowe

Jeśli używasz własnego skryptu do renderowania sceny, po prostu dodaj atrybut [ExecuteInEditMode] przed swoją własną klasą renderującą, aby skrypt działał w Edytorze, renderując w ten sposób scenę w trybie edycji. W pozostałej logice operacji zapoznaj się ze skryptem LCCRenderer.cs w Samples.

using LCCCore;
using UnityEngine;

[ExecuteInEditMode]
public class MyLCCRenderer : 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);
        // Włącz tryb edytora
        m_manager.SetEditorMode(true);

        m_renderer = m_manager.GetRender(this.transform);
        m_renderer.Load(m_FilePath, onProgress, onComplete);
    }

    private void onProgress(float _progress)
    {
        Debug.Log($"[MyLCCRenderer] postęp ładowania pliku: {_progress:P1}");
    }

    private void onComplete()
    {
        Debug.Log($"[MyLCCRenderer] plik załadowany");
    }
}

Uwaga:

  • Atrybut [ExecuteInEditMode] powoduje, że metody cyklu życia, takie jak Start i Update, są wywoływane w Edytorze nawet poza trybem odtwarzania; to klucz do renderowania w trybie edytora.
  • Tryb edytora jest obsługiwany tylko na platformach PC/Mac.
  • Kompletny przepływ renderowania (konfiguracja platformy, tryb renderowania, ładowanie danych) znajdziesz w skrypcie LCCRenderer.cs w Samples.

Synchronizuj kamery między oknem Scena i Gra

Samples dostarczane przez SDK zawierają skrypt SceneGameCameraSync, który synchronizuje operacje kamery okna Scena z oknem Gra, pozwalając operować widokiem w Edytorze przy jednoczesnym podglądzie obrazu środowiska uruchomieniowego. Kroki użycia:

  1. Dołącz skrypt SceneGameCameraSync z Samples do GameObject kamery (Camera) w scenie.
  2. Wyłącz skrypt operacji kamery (domyślnie CameraOperate).
  3. Kliknij przycisk Odtwórz, aby wejść w tryb odtwarzania.

W tym momencie operowanie kamerą w oknie Scena odpowiednio zsynchronizuje kamerę w oknie Gra.

Dołącz skrypt SceneGameCameraSync do obiektu kamery

Dołącz skrypt SceneGameCameraSync do obiektu kamery i wyłącz skrypt CameraOperate

Uwaga:

Synchronizacja kamery obsługuje tylko synchronizację kamery z okna Scena do okna Gra; nie obsługuje synchronizacji operacji kamery z okna Gra do okna Scena.