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 przełączania trybu renderowania Mip

Mip i Non-Mip to dwie ścieżki techniczne rekonstrukcji i renderowania 3DGS. Efekt renderowania jest najlepszy, gdy rekonstrukcja i renderowanie używają tej samej ścieżki technicznej. LCC Unity SDK obsługuje dynamiczne przełączanie trybu renderowania w czasie działania; kompletne kroki opisano poniżej.

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.

Utwórz przycisk przełączania

Kliknij prawym przyciskiem myszy pusty obszar w oknie Hierarchia, wybierz UI → Przycisk z menu podręcznego, aby utworzyć przycisk o nazwie BtnMipSwitch.

Krok 2: Napisz skrypt, aby przełączyć tryb renderowania

Utwórz nowy skrypt C# o nazwie MipSwitch.cs z następującym kodem:

using LCCCore;
using UnityEngine;
using UnityEngine.UI;

public class MipSwitch : MonoBehaviour
{
    public LCCManager m_manager;
    public string m_FilePath;
    public Button m_BtnMipSwitch;
    private LCCCore.Renderer m_renderer;
    private MipMode m_mipMode;

    void Start()
    {
        m_manager.SetPlatformType(PlatformType.PC);
        Debug.Log("Uruchomiono ");
        // Trzeba wejść w tryb Edycji
        m_manager.SetEditorMode(true);
        m_mipMode = MipMode.Mip;
        m_BtnMipSwitch.onClick.AddListener(onMipSwitch);
        m_renderer = m_manager.GetRender(this.transform);
        m_renderer.Load(m_FilePath, onProgress, onComplete);
    }

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

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

    private void onMipSwitch()
    {
        if (m_mipMode == MipMode.Mip)
        {
            m_mipMode = MipMode.Non_Mip;
        }
        else
        {
            m_mipMode = MipMode.Mip;
        }
        m_manager.SetMipMode(m_mipMode);
    }
}

Uwaga:

Ten przykład inicjalizuje MipMode.Mip w Start i wiąże zdarzenie kliknięcia dla BtnMipSwitch; każde kliknięcie przełącza między Mip a Non_Mip i działa natychmiast przez SetMipMode().

Krok 3: Dołącz skrypt i ustaw właściwości

  1. Dołącz skrypt MipSwitch.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.
  4. Przeciągnij przycisk BtnMipSwitch na właściwość Btn Mip Switch skryptu.
Dołącz skrypt MipSwitch i ustaw Manager, File Path oraz BtnMipSwitch

Dołącz skrypt MipSwitch i ustaw właściwości Manager, File Path oraz BtnMipSwitch

Krok 4: Uruchom

Kliknij przycisk Odtwórz w oknie Gra, a następnie kliknij przycisk BtnMipSwitch, aby zobaczyć, jak renderowanie sceny przełącza się między trybami Mip i Non-Mip w czasie rzeczywistym.

Kliknięcie przycisku przełącza tryb renderowania Mip / Non-Mip w czasie rzeczywistym po uruchomieniu

Kliknięcie przycisku przełącza tryb renderowania Mip / Non-Mip w czasie rzeczywistym po uruchomieniu

Zalecenia wyboru

  • Efekt renderowania jest najlepszy tylko wtedy, gdy rekonstrukcja 3DGS i renderowanie 3DGS używają tej samej ścieżki technicznej.
  • Po przełączeniu w tryb Non-Mip szczegółowość renderowania jest zwykle lepsza, ale wydajność renderowania jest w pewnym stopniu obniżona.

API powiązane z Mip

LCC Unity SDK udostępnia poniższe API powiązane z przełączaniem trybu renderowania Mip przez LCCManager.

SetMipMode

// Wartość zwracana: void
public void SetMipMode(MipMode _mipMode)

Przełącza tryb renderowania Mip. Tryb Mip używa próbkowania mipmap (domyślnie), a tryb Non_Mip wyłącza mipmapę.

ParametrTypOpis
_mipModeMipModeTryb docelowy, Mip lub Non_Mip

Przykład użycia:

m_manager.SetMipMode(MipMode.Non_Mip); // wyłącz mipmapę
m_manager.SetMipMode(MipMode.Mip);     // przywróć mipmapę

Uwagi:

  • Jeśli bieżący tryb jest taki sam jak przekazany, funkcja zwraca bezpośrednio bez powtarzalnego narzutu.

Typ wyliczeniowy MipMode jest zdefiniowany następująco:

public enum MipMode { Mip, Non_Mip }

SetEditorMode

// Wartość zwracana: void
public void SetEditorMode(bool _isEditor)

Przełącza tryb edytora. Ten przykład wywołuje SetEditorMode(true) przed załadowaniem danych.

ParametrTypOpis
_isEditorboolCzy włączyć tryb edytora

Przykład użycia:

m_manager.SetEditorMode(true);

Uwagi:

  • Obsługiwane tylko na platformach PC / Mac.