Have any questions?
+44 1234 567 890
Nachfolgend werden die Anforderungen für die möglichen Varianten genauer erläutert.
Variante 1
Dateiformat
DAE
Materialien
PBR*
Diese werden über den Apto-MaterialEditor erstellt. Parameter und Texturen aus der jeweiligen 3D-Anwendung können übertragen werden.
Skalierbarkeit
Das 3D-Modell muss anhand von vordefinierten Parametern (z.B. Länge, Breite, Höhe) über Formeln skalierbar sein.
Beispiel
Koffergriff => Formeln zur Positionsbestimmung bei veränderten Maßen werden benötigt (x = länge/2; y= breite +10; z = höhe/3).
Formeln für folgende Eigenschaften können im Apto hinterlegt werden: Position (x,y,z); Skalierung (x,y,z); Rotation(x,y,z); Sichtbarkeit(an/aus) und Material (bei bestimmter Konfiguration erhält ein bestimmtes Objekt das gewünschte Material).
Zudem kann im Apto jedes bereitgestellte Objekt während der Laufzeit geklont werden. Hat der Koffer ab einer bestimmten Länge beispielsweise mehr als einen Griff, so muss dieser Extragriff nicht im Basismodell vorliegen und wird zur Laufzeit vom Originalgriff geklont.
Zu beachten ist, dass sämtliche vom Apto manipulierten Eigenschaften entweder ein Objekt oder eine ganze Gruppe zum Ziel haben können. Wird die Sichtbarkeit oder das Material einer Gruppe bearbeitet, so wird diese Eigenschaft automatisch auf alle Elemente (Meshes) dieser Gruppe angewandt. Werden Position, Skalierung oder Rotation einer Gruppe verändert, so ändert dies nur die jeweilige Gruppeneigenschaft. Bei einzelnen Objekten geschieht dies explizit nur für das Objekt/Mesh.
Zusätzlich gilt: Positions-/Skalierungs-Formeln müssen sich immer auf absolute Werte beziehen. Die Anwendung dieser Formeln erfolgt rekursiv unter Berücksichtigung der hierarchisch darüber liegenden Elemente.
Beispiel
Gruppe Griff hat folgende Position (10 20 5).
Hat eine Schraube der Gruppe „Griff“ nun die Position (5 -10 10), so hat diese Schraube eine absolute Position von (15 10 15).
Die benötigten Formeln sind IMMER für die absolute Position im Raum. Bei der Anwendung werden automatisch die korrekten relativen Werte berechnet. Dies ermöglicht einfachere und besser lesbare Formeln.
*Es werden alle gängigen Mapping-Typen unterstützt (Normal, Roughness, Metallness, …) und können parametergesteuert „getiled/gewrapped“ werden. Ausnahme bilden Displacement-Maps, für diese werden explizite UVW-Mapping-Koordinaten benötigt. Ein „tilen/wrappen“ ist hier nicht möglich. Die möglichen Einstellungen sind im Bild unter Variante 2 zu finden.
Variante 2
Dateiformat
DAE
Materialien
PBR
Als JSON + Texturen (JPG/PNG). Alternativ klassische „PHONG“-Materials direkt in der DAE. (PBR wird bessere Ergebnisse liefern)
Texture-Mapping/-Wrapping
- Unterstützte Texture-Mapping-Typen sind im Bild unter dieser Variante zu sehen.
- Texture-Wrapping bzw. Tiling ist möglich (Ausnahme: Displacement-Maps)
Limitierungen der Echtzeitdarstellung
- kein Global Illumination
- keine echten Reflektionen. Screenspace Reflections sind möglich, aber stellen hohe Anforderungen an die Client-Hardware => besser Environment-Maps für Reflektionen in Fenstern nutzen (Dateigröße beachten)
- Displacement-Maps nur für nicht skalierbare Meshes => UVW-Mapping muss hier statisch vorliegen
- Dateigrößen im Auge behalten! Besonders DAE-Modelle und Normal-Maps können sehr schnell sehr groß werden. => ggf. Polycount reduzieren und Bildkompression erhöhen oder auf klassische Bump-Maps anstatt Normal-Maps ausweichen
- Post-Processing stellt hohe Hardwareanforderungen und sollte bei komplexen Modellen gemieden werden (Ambient Occlusion, TAA, MSAA, …)
Konfigurierbarkeit
Um den Aufwand der Pflege zur Konfigurierbarkeit gering zu halten, ist es nötig einzelne Meshes sinnvoll zu gruppieren. Der Apto.ONE kann Materialien und weitere Parameter (Positionen, Skalierung, Rotation, Sichtbarkeit, …) für einzelne Meshes oder auch für Gruppen anhand der Kundenkonfiguration manipulieren. Gruppen zu adressieren senkt den Pflegeaufwand erheblich.
Beispiel
Eine Tür besteht aus mehreren Meshes (Rahmen, verschiedene Plattenelemente, Griff, etc.).
Existieren alle Tür-Meshes in der Gruppe „Tür“, wird der Apto entweder die komplette Tür inkl. Griff einfärben oder es müssen alle zu färbenden Meshes einzeln adressiert werden (hoher Aufwand!). Besser => Es befinden sich in der Gruppe „Tür“ mehrere Sub-Gruppen (z.B. Rahmen, Fläche, Griff etc.). So kann z.B. eine Tür unabhängig vom Griff eingefärbt werden, ohne für jedes Mesh individuelle Regeln zu erstellen.
Weitere Funktionen des Apto.ONE
- Gruppen, Meshes oder ganze Objekte können zur Laufzeit geklont werden. Dies kann genutzt werden, um die Dateigröße zu minimieren
- diverse Lichttypen (siehe ThreeJS-Doku)
- Shadowmapping: Schattenwurf kann individuell für jedes Mesh und pro Lichtquelle aktiviert oder deaktiviert werden
- automatische Kamerafahrten und Multicam-Option