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 mieszanego renderowania wielu scen

Mieszane renderowanie wielu scen oznacza tworzenie wielu scen LCC jednocześnie i mieszanie ich renderowania w czasie rzeczywistym, aby osiągnąć poprawne okluzje i mieszanie. Aby niezależnie sterować każdą sceną LCC biorącą udział w renderowaniu, musisz utworzyć wiele Rendererów i dołączyć każdy Renderer do niezależnego GameObject, tak aby Transform każdej sceny LCC można było sterować niezależnie.

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.

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 LCCRenderer01

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

Utwórz LCCRenderer01 i ustaw jego Transform

Utwórz LCCRenderer01 i ustaw jego Transform (Rotation.x = -90, Scale.x = -1)

Utwórz LCCRenderer02

W ten sam sposób utwórz kolejny pusty GameObject, nazwij go LCCRenderer02 i również ustaw jego Transform na Rotation.x = -90 i Scale.x = -1.

Utwórz LCCRenderer02 i ustaw jego Transform

Utwórz LCCRenderer02 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 renderowania wielu scen

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

using LCCCore;
using UnityEngine;

public class MultiRenderer : MonoBehaviour
{
    public LCCManager m_manager;
    public string m_FilePath01;
    public Transform m_transform01;

    public string m_FilePath02;
    public Transform m_transform02;

    private LCCCore.Renderer m_renderer01;
    private LCCCore.Renderer m_renderer02;

    private int m_currentFileIndex = 0;

    void Start()
    {
        m_manager.SetPlatformType(PlatformType.PC);
        // Przełącz w tryb MultiRender, aby umożliwić jednoczesną aktywność i mieszanie wielu Rendererów
        m_manager.SwitchRenderPass(ActiveRenderMode.MultiRender);

        Debug.Log("Uruchomiono ");
        m_renderer01 = m_manager.GetRender(m_transform01);
        m_renderer02 = m_manager.GetRender(m_transform02);
        m_currentFileIndex = 0;
        m_renderer01.Load(m_FilePath01, onProgress, onComplete);
        m_currentFileIndex = 1;
        m_renderer02.Load(m_FilePath02, onProgress, onComplete);
    }

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

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

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

  1. Dołącz skrypt MultiRenderer.cs do GameObject LCCManager w oknie Hierarchia.
  2. W oknie Inspektor przypisz odniesienia i ścieżki zgodnie z tabelą poniżej:
Właściwość skryptuPrzypisanie
ManagerPrzeciągnij GameObject LCCManager na tę właściwość
Transform01Przeciągnij GameObject LCCRenderer01 na tę właściwość
Transform02Przeciągnij GameObject LCCRenderer02 na tę właściwość
File Path01Ścieżka pierwszego źródła danych LCC
File Path02Ścieżka drugiego źródła danych LCC
Skonfiguruj odniesienia i ścieżki danych skryptu MultiRenderer w Inspektorze

Skonfiguruj odniesienia i ścieżki danych skryptu MultiRenderer w Inspektorze

Krok 4: Uruchom

Kliknij przycisk Odtwórz w oknie Gra, a zobaczysz dwie sceny LCC renderowane i mieszane jednocześnie. Zmień wartości Transform GameObject LCCRenderer01 lub LCCRenderer02, a każda renderowana scena zaktualizuje się w czasie rzeczywistym.

Dwie sceny LCC renderowane i mieszane jednocześnie po uruchomieniu

Dwie sceny LCC renderowane i mieszane jednocześnie po uruchomieniu

Kluczowe punkty

Istnieją dwa kluczowe punkty tworzenia mieszanego renderowania wielu scen LCC:

  1. Przełącz w tryb MultiRender: użyj m_manager.SwitchRenderPass(ActiveRenderMode.MultiRender);, aby umożliwić mieszanie wielu scen LCC. Domyślny jest tryb SingleRender, który nie pozwala na mieszanie wielu scen LCC.
  2. Dołącz każdy Renderer do niezależnego GameObject: użyj GetRender(Transform), aby powiązać każdy Renderer z niezależnym GameObject, tak aby Transform każdej sceny LCC można było sterować niezależnie.