Erstellung statischer 3D-Modelle (v6 DE)
3D-MODELLE IMPLEMENTIEREN
Diese Dokumentation wird sich auf die Implementierung von 3D-Modellen in printQ konzentrieren. Die angegebenen Beispiele stammen aus 3ds Max, gelten aber für alle 3D-Software.
(Optional) aus Esko / Collada importieren
Wenn Sie Modelle von Esko verwenden möchten, müssen Sie diese als Collada (.dae) exportieren. Dieses Dateiformat kann in Blender und 3ds Max importiert und damit bearbeitet werden.
Kamera
Für alle Modelle sollte eine Zielkamera hinzugefügt werden. Babylon nimmt dann diese Kamera und konvertiert sie in einen eigenen Typ von Zielkamera (genannt ArcRotateCamera). Die Startposition und der Abstand zum Objekt spiegeln die Werte aus 3ds Max wider.
Skalierung
Die oben erwähnte Kamera hat eine Einstellung für den maximalen und minimalen Radius. Dadurch kann der Benutzer nur so weit hinein- und herauszoomen, bis diese Grenze erreicht ist. Wenn wir wollen, dass alle Modelle konsistent sind, dann müssen wir die Modelle in der 3D-Software skalieren.
Materialien
Dies ist ein wichtiger Schritt. Materialien sind das, was uns hilft, das PDF mit dem 3D-Modell zu verbinden. Was wir wollen, ist ein Material für jede PDF-Seite zu haben. Sie können auch zwei Materialien auf demselben Mesh verwenden (Multi Mat). Babylon erkennt dies und wandelt es korrekt um.
Die meisten Materialeigenschaften (wie z. B. die Spiegelungen) werden nach Babylon exportiert. So können Sie frei mit ihnen spielen, wenn Sie für einen anderen Eindruck möchten.
Beachten Sie, dass ich die Namen der Materialien geändert habe. Am Ende dieses Dokuments werden wir darüber sprechen, wie wir die Textur für die Personalisierungsvorlage finden können.
Nur Standard-Materialien werden funktionieren, also keine Renderman, Vray, Mental Ray, etc.
UV Mapping
Alle Materialien, die an das PDF angehängt werden, müssen ihre UVs gemappt haben. Die Art des Mappens ist, dass jeder Abschnitt, der gemappt werden muss, in den Abschnitt der jeweiligen Seite passen sollte. Wichtig: Sie sollten immer die endgültige PDF verwenden, die in der Personalisierungsvorlage verwendet wird. Wenn das PDF in der Zukunft geändert werden muss, muss auch das Modell mit einer UV-Map aktualisiert werden.
Animationen
Babylon kann keine Animationen rückwärts laufen lassen, also müssen sie, wenn gewünscht, extra hinzugefügt werden. Außerdem sind Pausen zwischen den Schritten (30 Frames, in denen nichts passiert) nicht notwendig, es sei denn, sie sind Teil eines Schrittes. Wenn unsere Animation z. B. 3 Schritte mit jeweils 30 Frames hat, können wir so animieren:
Schritt 1, frames 0-30 – start
Schritt 2, frames 30-60
Schritt 3, frames 60-90 – ende
Schritt 4, frames 90-120
Schritt 5, frames 120-150
Schritt 6, frames 150-180 – start
Schritt 1 = Schritt 6, 2 = 5, 3 = 4. Das Gleiche, aber umgekehrt. Ich hoffe, ich habe das richtig erklärt.
Ich empfehle, mit 30 fps zu animieren, da dies die Geschwindigkeit ist, mit der Babylon läuft.
Z-clipping
Das passiert, wenn sich zwei Meshes überlappen und dann um den gleichen Platz “kämpfen”. Das passiert ziemlich oft und es gibt keine automatische Lösung. Selbst wenn es in 3ds Max gut aussieht (gerendert oder nicht), erzeugt Babylon eine eigene Szene mit ganz anderen Elementen, ähnlich dem, was wir aus 3ds Max exportieren. Wenn Sie auf dieses Problem stoßen, finde ich es am besten, die Meshes einfach weiter auseinander zu schieben.
Lichter
Wir fügen diese durch Code hinzu, um die gleichen Beleuchtungsbedingungen zu erhalten. Wir können dies jedoch deaktivieren und Ihnen die Kontrolle über die Lichter überlassen. Es funktionieren nur Standard-Lichter, also keine Renderman, Vray, Mental Ray, etc.
Modell exportieren
Sie sollten die Babylon-Erweiterung für die 3D-Anwendung Ihrer Wahl von hier aus installieren:
Dadurch können Sie eine .babylon-Datei exportieren, die auf der Website geladen wird.
Dateistruktur und -konfiguration
Im Anhang finden Sie eine Standard-Dateistruktur, die für alle Modelle verwendet wird. Diese enthält die HTML- und Javascript-Dateien, die das Modell mit dem System verbinden. Dies sind die Schritte, die befolgt werden müssen:
benennen Sie die html und js (javascript) wie das Modell
html und js nach /media/personalization/3d_models hochladen
.bablyon (Modell) und alle Texturen nach /media/personalization/3d_models/assets hochladen
Öffnen Sie die HTML-Datei und ersetzen Sie
modelName
in<script src="modelName .js"></script>
mit demmodel name
JS-Datei öffnen und
modelName
inBABYLON.SceneLoader.Load("assets/", "modelName.babylon", this.engine, function(scene) {
mitmodel name
ersetzenSie können das Modell unter dem folgenden Link systemUrl/media/personalization/3d_models/modelName.html anzeigen
Dateien:
Texturen finden
Wir haben eine Funktionalität, die die Textur für jede PDF-Seite findet. Wie bereits erwähnt, müssen wir ein Material für jede PDF-Seite haben. Wenn wir unsere Materialnamen kennen, können wir diesen Befehl in den Entwicklertools unseres Browsers ausführen (in Chrome: Rechtsklick auf das Modell > Inspektion > Konsole):
getTexture ("textureName")
wobei textureName
durch den in der 3D-Software angegebenen Materialnamen ersetzt werden sollte.