Jak utworzyć dane 3D dla klar.land

·

·

Poniżej wyjaśniamy, jakie opcje są obecnie dostępne na klar.land do wyświetlania danych 3D i jak dane powinny być odpowiednio przetwarzane, aby osiągnąć zadowalające wyniki.

Programm

Do generowania danych 3D zalecamy program Blender.

Z blendera eksportowany jest plik glb, który musi zawierać wypalone tekstury oraz wszystkie animacje i materiały skompresowane w najlepszy możliwy sposób.

Najlepszą wydajność wyświetlania 3D w przeglądarce internetowej uzyskuje się poprzez jak największą kompresję i redukcję komponentów/wyrazów. Ostatecznie służy to pozytywnemu doświadczeniu użytkownika.

Format danych

klar.land przetwarza dane w formacie glb/gltf z wyszczególnionymi nazwami obiektów, które służą jako podstawa do interakcji. Oznaczenie jest wymienione w dalszej części niniejszej instrukcji.

Prześlij dane

Za pośrednictwem menu administratora osoby z odpowiednimi prawami dostępu mogą utworzyć nowy tak zwany „etap” w celu przesłania danych 3D.

W tym celu możesz załadować plik glb w odpowiednie pole, po prostu przeciągając go i upuszczając. Pasek ładowania pokazuje postęp przesyłania. Dopóki jest to w toku, a przesyłanie nie zostało jeszcze zakończone, okno przeglądarki nie może zostać zamknięte.

W polu tekstowym „JSON” definiowane są poszczególne polecenia interakcji dla pliku glb/gltf i środowiska 3D. Różne możliwości ustawienia i dostrojenia „Stage” można znaleźć w instrukcjach JSON.

Materiał

1. w przypadku zmiennych materiałów należy utworzyć obiekt o nazwie „MaterialHolder”, który zawiera wszystkie materiały, między którymi można dokonywać zmian.

Kamera

Początkowa kamera (widok, który widzisz podczas ładowania sceny) musi mieć nazwę Defaultcam.

2. wszystkie inne nazwy kamer muszą kończyć się na cam.

Oświetlenie

1. nazwy świateł obszarowych muszą zaczynać się od Arealight i

2. światła punktowe ze światłem punktowym.

Przedmioty

Nazwy obiektów muszą być również przypisane do odpowiednich siatek.

Jeśli kilka obiektów ma taką samą nazwę, np. w przypadku kilku jajek, nazwy powinny brzmieć „Egg_1, Egg_2, Egg_3” itd.

3. obiekty powinny otrzymać skalę 1 przed eksportem.

W przypadku obiektów z teksturami wideo zaleca się tworzenie prostych płaszczyzn (prostokątów) ze standardowym mapowaniem UV. Muszą one mieć różne materiały, jeśli różne obiekty mają być wyświetlane z różnymi filmami. Obiekty z tymi samymi materiałami również otrzymują to samo wideo.

Materiały/mieszaniny

1. w przypadku materiałów szklanych nazwa musi zaczynać się od Glass.

2. wypiekane mapy okluzji otoczenia byłyby ważne dla wydajności, ponieważ dynamiczne obliczanie cieni jest intensywne obliczeniowo.

3. specjalny, niestandardowy węzeł w Blenderze jest używany do wypiekanych map okluzji otoczenia. Najlepiej jest wyodrębnić go z istniejącego pliku blend. Jeśli nie posiadasz odpowiedniego pliku blend, skontaktuj się z nami.

Nawigacja na scenie

Jeśli pożądana jest nawigacja po podłodze (tj. kliknięcie w dowolnym miejscu na podłodze), obiekt podłogi powinien mieć nazwę „_floor”, a oś obrotu obiektu powinna być wyśrodkowana. Uwaga: w hierarchii Blendera tylko obiekt siatki musi mieć nazwę „_floor”.

Jako alternatywę dla obiektu _floor, możesz również nazwać obiekt jako „_navMesh”. Jest on automatycznie niewidoczny, a za pomocą parametru „userScale” w kodzie Json możesz określić żądaną wysokość w metrach nad _navMesh. W ten sposób, w porównaniu do obiektu _floor, masz więcej możliwości adaptacji.

W przypadku mieszkań/pokoi itp. zaleca się stosowanie punktów naziemnych. Uniemożliwiają one między innymi nawigację po ścianach. Aby to zrobić, po prostu utwórz kilka płaszczyzn (=prostokątów) bez materiału tuż nad obiektem podłogi o nazwie „_floor”, które zawierają ciąg „groundspot” w swoich nazwach. Ponadto kod Json musi zawierać następujące elementy:

{
  "Stage3dData": [
    {
	  "navigationmode":2,
	  .....
    }
  ]
}
Nawigacja za pomocą punktów naziemnych

Animacje

Nazwy animacji muszą zaczynać się od odpowiedniej nazwy obiektu.

Na przykład

Egg_1 leci na stół w jadalni

Egg_2 w garnku

WAŻNE: Zadbaj o spójność nazewnictwa animacji i obiektów! Zarówno podczas tworzenia, jak i podczas post-processingu/zmian!

Nie powielaj animacji!

Informacje na osobnej liście dla animacji:

1. nazwa animacji (dowolna nazwa animacji)

2. grupa animacji (jeśli kilka obiektów staje się klikalnych po kliknięciu jednego obiektu, wszystkie muszą mieć tę samą nazwę grupy).

3. warstwa animacji (przycisk jest klikany i kamera leci do miejsca kamery => warstwa 0, obiekt jest klikany i odtwarzana jest animacja => warstwa 1, podobiekt jest klikany i odtwarzana jest animacja)

4. stan animacji (jeśli po ponownym kliknięciu obiektu ma zostać odtworzona inna animacja niż po pierwszym kliknięciu, pierwszej animacji należy przypisać stan 0, a drugiej stan 1 (np. pierwsze kliknięcie => drzwi otwierają się, drugie kliknięcie => drzwi zamykają się)).

5. obiekt wyzwalający animację (obiekt, który powinien wyzwalać animację po kliknięciu)

6. kamera animacji (kamera, na którą ma zostać przełączony obiekt wyzwalany po kliknięciu).

7. animacje z kodem czasowym (dokładne nazwy animacji podane w programie 3D, w tym kody czasowe, kiedy mają być odtwarzane).

(aby uzyskać więcej informacji na temat animacji i ich nazewnictwa, zapoznaj się z instrukcjami JSON).