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 współpakowania aplikacji i danych

LCC Unity SDK obsługuje oddzielenie aplikacji od danych. Jednak w rzeczywistym tworzeniu aplikacji czasami musisz spakować i opublikować aplikację razem z danymi sceny 3DGS. Ten dokument przedstawia podejścia współpakowania dla PC i Androida.

Dynamiczne ładowanie danych w czasie działania na PC

SDK ładuje dane w czasie działania przez metodę Load(); określona ścieżka musi być ścieżką bezwzględną, na przykład G:\Data\xxx.lcc2.

Aby dystrybuować aplikację i dane razem, możesz połączyć ścieżkę wykonywania aplikacji ze względną ścieżką danych sceny LCC w ścieżkę bezwzględną, w następujący sposób:

  1. Pobierz ścieżkę wykonywania aplikacji przez Application.dataPath Unity.
  2. Połącz względną ścieżkę danych ze ścieżką wykonywania w ścieżkę bezwzględną danych sceny 3DGS.

Przykład kodu jest następujący:

using UnityEngine;
using LCCCore;
using XGrids.LCC;

public class LCCRenderer : MonoBehaviour
{
    public LCCManager m_manager;
    public string m_FilePath;
    private LCCCore.Renderer m_renderer;

    void Start()
    {
        m_renderer = m_manager.GetRender(this.transform);

#if !UNITY_EDITOR
        string _dataPath = Application.dataPath;
        string _dataPath2 = _dataPath + "/data/meta.lcc2";   // Połącz względną ścieżkę pliku LCC
        m_FilePath = _dataPath2.Replace('/', '\\');
#endif

        m_renderer.Load(m_FilePath, onLoadProgress, onLoadCallback);
    }
}

Uwaga:

  • Powyższe łączenie ścieżki jest opakowane w #if !UNITY_EDITOR: w stanie Edytora Unity używany jest bezpośrednio m_FilePath określony w Inspektorze (lokalne dane deweloperskie); dopiero w opublikowanym środowisku uruchomieniowym łączona jest względna ścieżka pod katalogiem wykonywania aplikacji.
  • W kompilacji PC Application.dataPath wskazuje folder <AppName>_Data pod katalogiem aplikacji, więc względna ścieżka danych musi odpowiadać lokalizacji, do której dane zostaną później skopiowane.
  • Ścieżki Windows używają ukośników wstecznych \; przykład używa Replace('/', '\\'), aby je przekonwertować.

Skopiuj dane sceny LCC do określonego katalogu

Po normalnym zbudowaniu projektu Unity i skompilowaniu/opublikowaniu aplikacji wygenerowana struktura katalogu aplikacji jest pokazana poniżej.

Struktura katalogu aplikacji wygenerowana po zbudowaniu i opublikowaniu w Unity

Struktura katalogu aplikacji wygenerowana po zbudowaniu i opublikowaniu w Unity

Zgodnie ze względną ścieżką LCC data/meta.lcc2 w kodzie musisz skopiować dane sceny LCC do odpowiedniej lokalizacji pod wygenerowanym katalogiem aplikacji, jak pokazano poniżej.

Skopiuj dane sceny LCC do katalogu aplikacji zgodnie ze względną ścieżką

Skopiuj dane sceny LCC do katalogu aplikacji zgodnie ze względną ścieżką

Spakuj cały katalog

Spakuj cały katalog aplikacji (kompresja Zip) i rozprowadź go wśród użytkowników, którzy go potrzebują. Po rozpakowaniu przez użytkownika i uruchomieniu Viewera dane sceny w określonym katalogu mogą zostać załadowane.

Przepływ pakowania dla Androida

Android używa tego samego podejścia co PC, ale ścieżka danych wymaga drobnej modyfikacji: użyj Application.persistentDataPath jako katalogu głównego danych.

Zmodyfikuj skrypt renderowania, aby połączyć ścieżkę danych z persistentDataPath. Zauważ, że typ platformy jest ustawiany osobno przez SetPlatformType() (przed GetRender()), a Load() otrzymuje tylko ścieżkę i wywołania zwrotne:

void Start()
{
    // Typ platformy musi być ustawiony przed GetRender()
    m_manager.SetPlatformType(PlatformType.Pico);

    m_renderer = m_manager.GetRender(this.transform);
    m_renderer.Load(
        $"{Application.persistentDataPath}/LccData/meta.lcc2",
        onLoadProgress,
        onLoadCallback);
}

Kroki pakowania i wdrażania:

  1. Zapisz kod i połącz urządzenie mobilne z komputerem, na którym znajduje się projekt Unity, za pomocą kabla USB 3.0.
  2. Na pasku menu Unity wybierz Plik → Ustawienia kompilacji → Kompiluj, aby uzyskać APK.
  3. Skopiuj APK na urządzenie mobilne i zainstaluj go.
  4. Po instalacji najpierw otwórz aplikację raz, aby system utworzył katalog dla odpowiedniej nazwy pakietu, a następnie zamknij aplikację.
  5. Utwórz folder LccData pod katalogiem dla odpowiedniej nazwy pakietu i skopiuj dane LCC do tego folderu (ścieżka to zwykle Pamięć urządzenia Android → Android → data → BundleID aplikacji → Files; konkretny katalog znajdziesz w ścieżce instalacji aplikacji Android).
  6. Otwórz aplikację ponownie, a zawartość LCC zostanie zaprezentowana na telefonie lub urządzeniu VR.
Utwórz folder LccData pod katalogiem nazwy pakietu aplikacji Android i skopiuj do niego dane

Utwórz folder LccData pod katalogiem nazwy pakietu aplikacji Android i skopiuj dane LCC

Uwagi

  • iOS nie obsługuje powyższego podejścia dynamicznego ładowania z katalogu lokalnego. iOS nie pozwala aplikacji odczytywać wszystkich plików w określonym folderze; może odczytywać tylko pojedynczy określony plik.
  • Na urządzeniach mobilnych i VR zaleca się umieszczenie danych na serwerze i pobieranie danych z serwera w czasie działania, zamiast bezpośredniego pakowania danych do pakietu aplikacji APK — to drugie sprawia, że pakiet aplikacji jest bardzo duży i rozdęty.