|
|
# 4.2 3D Viewer
|
|
|
*Autor: Isaak Lenth*
|
|
|
|
|
|
Der 3D Viewer ist einer der Hauptbestandteile und Neuerungen der Web Map Anwendung. Innerhalb dieses Viewers soll der Nutzer die Handstücke und Bohrkerne untersuchen und anschauen können. Auf Anmerkungen/Hinweise mit verknüpften Kameraeinstellungen sind denkbar, welche der Nutzer wählen und sich anschauen kann. Dies alles soll mithilfe JavaScript Bibliotheken umgesetzt werden.
|
|
|
|
|
|
Grundsätzlich zu beachten gilt es, das es verschiedene Bibliotheken zur Umsetzung eines solchen 3D Viewers gibt. Diese unterscheiden sich in Funktionsumfang, unterstützte Formate und Komplexität. Im Rahmen dieses Projektes haben wir uns 2 Bibliotheken angeschaut und auf Eignung geprüft. Außerdem wurde ein Test Prototyp erstellt, welcher im Dateibereich als Quellcode zu finden ist. Im Rahmen des Projektes wurden sich die Bibliotheken Three.js und der Modelviewer angeschaut.
|
|
|
|
|
|
# Three.js
|
|
|
Bei Three.js handelt es sich um eine umfangreiche Bibliothek in JavaScript zur Darstellung und Animierung von 3D Objekten. Dabei ist die Bibliothek so groß das die Möglichkeiten fast unbegrenzt sind. Die Bibliothek selbst ist in einzelne Module unterteilt, welche je nach Nutzung hinzugeladen werden können. Dabei handelt es sich um diverse Dateiformate welche zusätzlich unterstützt werden können, also auch die Möglichkeiten die Physik von Objekten zu simulieren und die Objekte möglichst detailgetreu darzustellen. Auch Shader oder Lichtumgebungen können eingefügt und genutzt werden, um den Nutzer ein deutlich besseres Nutzererlebnis zu bieten. Three.js gibt dem Darsteller die volle Kontrolle um eine 3D Scene darzustellen. Dabei ist allerdings auch zu erwähnen das Three.js out of the Box nicht so schnell funktioniert. Um die Scene wie gewünscht darzustellen, ist deutlich mehr Vorarbeit von Nöten. Da die Bibliothek in viele Module unterteilt ist, ist sehr viel Variabilität vorhanden, allerdings erhöht dies auch die Komplexität und die Programmierung der Szenen. Mit etwas Einarbeitung und Hingabe lassen sich aber mit dieser Bibliothek die Szenen mit hoher Präzision und vielen Möglichkeiten darstellen. Auch das nahezu alle gängigen Dateiformate von der Bibliothek unterstützt werden, ist ein großer Pluspunkt welcher nicht zu vernachlässigen ist.
|
|
|
|
|
|
# Der Modelviewer
|
|
|
Der Modelviewer ist eine vergleichsweise kleine Bibliothek. Allerdings bietet auch sie viele Möglichkeiten zur Darstellung der Szenen. Die Gängigen Möglichkeiten wie Anmerkungen, Kamerafahrten, POV Positionen usw. können auch mithilfe dieser Bibliothek dargestellt werden. Hinzu kommt das die Entwicklung mit der Bibliothek deutlich einsteigerfreundlicher ist. Die Bibliothek kommt out of the Box mit einer vernünftigen Kameraführung und es sind nur wenige Handgriffe notwendig bis zur Darstellung einer ersten 3D Szene. Sie ist in vielerlei Hinsicht intuitiver und erleichtert vieles beim erstellen der Szenen. Allerdings sind dadurch die Möglichkeiten auch nicht so vielfältig wie bei Three.js. Einen deutlichen Nachteil hat die Bibliothek außerdem, da diese nur das Dateiformat GLTF unterstützt. Somit müssen die Modelle immer entweder in GLTF exportiert werden, oder falls dies nicht möglich ist, in GLTF umgewandelt werden. Dies ist natürlich mit zusätzlichem Aufwand verbunden und sollte berücksichtigt werden.
|
|
|
|
|
|
Insgesamt sind beide vorgestellten 3D Viewer sehr gute Bibliotheken. Während die eine recht Komplex, die Möglichkeiten dafür aber so gut wie Unbegrenzt sind, ist die andere vielleicht etwas leichter, hat allerdings dafür Limitierungen. Dies sollte bei er Wahl des 3D Viewers berücksichtigt werden. Allerdings können beide Viewer uneingeschränkt zur Darstellung der Bohrkerne und Handstücke empfohlen werden.
|
|
|
|
|
|
[(Zurück zum Inhalt des Endberichts)](https://gitlab.fbg-hsbo.de/web3dscans/web3dscans1/wikis/Endbericht) |
|
|
\ No newline at end of file |