Wie die meisten Webseiten nutzen wir Cookies. Nähere Informationen dazu, wie wir mit diesen Cookies umgehen, können Sie in unseren Datenschutzbestimmungen lesen.   Einverstanden
 
 

3D Forum > 3D Car configurator - UE4 oder HTML5

3D Car configurator - UE4 oder HTML5

30.06.2020 17:55
 
Gigantus3DDi. 30 Jun. 2020, 17:55 Uhr
Hallo liebe Leute,

ich möchte mal euch etwas Fragen.
Wie kann man solche einen 3D Car configurator erstellen bzw. programmieren.

Es gibt einige Webseiten die das anbieten aber ich möchte das selber machen.

Ist es besser mit UE4 wegen der Grafik besser oder geht es auch mir HTML5 und Plattform unabhängig?

Wenn Ihr mir vielleicht einpaar Tips geben könntet, vielleicht kennt Ihr jemanden der soetwas schon mal gemacht hat.

Vielen Dank im voraus.

LG

gigantus
 
TilesDi. 30 Jun. 2020, 18:57 Uhr
Hi Gigantus,

Das geht sicher auch mit WebGL. Schneller dürfte es aber mit Unity oder Unreal gehen. Und du kannst zur Not dann auch einfach eine Windows Exe exportieren, oder auch eine App. Die exportieren Plattformunabhängig.

LG Tiles
 
Gigantus3DDi. 30 Jun. 2020, 20:03 Uhr
Hallo Tiles,

danke für die schnelle Antwort. Wie sieht es den mit der qualität der Grafik bei WebGL aus im Vergleich zu UE4? Unity bin nich so der Fan wegen der Grafik.

Da gibt es so einpaar Car Konfiguratoren ich weiss nicht ob ich hier den link Teilen darf, damit ich die Qualität haben muss wollte ich es dir zeigen,

KEnnst du dich gut damit aus ?

Wie sieht es mit pixel streaming in UE4 aus, würde das damit auch gehen ?

LG

Gigantus
 
TilesDi. 30 Jun. 2020, 21:04 Uhr
Ich bin da keine grosse Hilfe mehr, sorry. Ich bin schon zu lang raus aus der Materie. Ich weiss nur dass es in Unity um einiges einfacher ist als mit WebGL das Rad noch mal neu zu erfinden smile
 
GuyGoodDi. 30 Jun. 2020, 22:52 Uhr
Hey Gigantus. Ich schreib dir morgen nochmal im Detail. Kenne mich da sehr gut aus und habe da schon diverse Projekte dieser Art vollendet. Meine Frage aber erstmal an dich: Was genau hast du denn vor? Also nur mal für dich etwas bauen mit ein paar deiner eigenen Modelle? Oder soll das ein kommerzieller Prototyp sein, den du aus eigener Leistung erstellen willst?

Hast du denn schon Erfahrung in UE4 oder Unity?
 
Gigantus3DMi. 01 Jul. 2020, 10:51 Uhr
Hey Gigantus. Ich schreib dir morgen nochmal im Detail. Kenne mich da sehr gut aus und habe da schon diverse Projekte dieser Art vollendet. Meine Frage aber erstmal an dich: Was genau hast du denn vor? Also nur mal für dich etwas bauen mit ein paar deiner eigenen Modelle? Oder soll das ein kommerzieller Prototyp sein, den du aus eigener Leistung erstellen willst?

Hast du denn schon Erfahrung in UE4 oder Unity?


Hallo GuyGood,

danke im voraus das du mir helfen möchtest.

Es soll schon etwas professionelles werden, ich möchte auch etwas wie ein car tuning app oder halt browser bassierendes machen. Es muss aber so ziemlich fotorealistisch wirken, ich hatte mal von UE4 so ein interactves Mclaren Model mal gesehen gehabt, ich muss halt die möglichkeiten haben alle Bauteile also sprich Felgen, Motorhaube, Scheiben, Flügel etc. austauschen zu können und jederzeit auch neue Beuteile zusätzlich zu integrieren.

Ich denke mal es ist nicht zu schwer aber halt aufwendig.

LG
Gigantus
 
GuyGoodMi. 01 Jul. 2020, 12:02 Uhr
Ok, also:

1) WebGL

Also du hättest natürlich die Option eine reine WebGL-Anwendung zu erstellen. Die Vorteile sind entsprechend, dass jeder das gut erreichen kann und auf quasi jedem Endgerät laufen sollte. WebGL hat aber eine Menge Probleme:

  • WebGL ist ja quasi outdated und WebGPU ist im Prinzip WebGL 3.0
  • WebGL 2.0 wird nicht von Safari auf irgendeiner Apple-Plattform unterstützt. D.h. du brauchst den FallBack auf WebGL 1.0. Welcome 2011 graphics quality.
  • WebGL 1.0 kann natürlich auch hübsch sein, aber es wird a) niemals an aktuelle Grafikqualität heranreichen und b) musst du dafür auch extrem viel Aufwand betreiben. Alle Texturen vorbacken, Speichergröße optimieren etc.
  • Bei WebGL landen in irgendeiner Form deine Daten immer beim Enduser. D.h. wenn sich jemand Mühe gibt, dann kann er deine 3D-Modelle und Texturen extrahieren. Gegenmaßnahmen sind aufwendig und trotzdem im Endeffekt immer knackbar
  • Problem ist auch bei einem Car Configurator, je nach Speichergröße der WebGL-App, muss der User das alles herunterladen. Wenn dann jemand 10 Minuten warten muss, bis er alles heruntergeladen hat, das kann es ja dann auch nicht sein und führt einfach nur zu schlechter user experience. Und am Ende crasht dann der Browser
  • WebGL ist ja, wie jede WebTechnik, immer einem heterogenen Gerätefeld ausgeliefert. D.h. auch wenn der Browser das unterstützt, kann es nat. gut sein, dass es auf x-y Android-Geräten auch nicht funktioniert.

Was die Entwicklung von WebGL-Anwendungen angeht: In UE4 wurde die Plattform deprecated und es gibt jetzt ein GitHub-Depot mit der HTML5-Platform for UE4, die du dann erst in die Engine integrieren musst etc.
Unity ist da wesentlich einfacher, um generell erstmal eine Anwendung herauszuhauen. Unsere letzten Erfahrungen, besonders mit Apple Geräten, ist aber: Es ist trotzdem schwierig und erfordert viel Fachwissen, um eine saubere WebGL-Anwendung zu erstellen. Ich würde dir raten einfach mal PlayCanvas anzuschauen, wenn du diese Weg gehen willst. Damit habe ich keine Erfahrung, aber man liest zumindest viel positives.Ansonsten wirst du einen steinigen Weg vor dir haben mit UE oder Unity, sobald du wirklich Mac,PC und Android bedienen möchtest. Besonders Mac mit WebGL 1.0.


2) UE4 + Executable + ggf. Pixelstreaming

Also generell ist das für HighQuality Fahrzeugkonfiguratoren eine gute Wahl. Mit Datasmith hast du ein Plugin an der Hand, was dir da vieles auch schon abnimmt. Stichwort VariantManager, der in Datasmith enthalten ist. Damit könntest du deine Konfigurationen einfach schalten via Blueprints-Coding. Und im Launcher gibt es eine Pixelstreaming-Demo zum Herunterladen. Diese kannst du als Grundlage nehmen und mit Hilfe der Dokumentation und dem Plugin selbst deine benutzerdefinierte HTML einbinden. Man muss aber dazu sagen: Trivial ist das ja trotzdem alles nicht und folgende Dinge musst du bedenken:

  • Du brauchst für PixelStreaming nicht nur UE-Erfahrung, sondern auch html und Server/IT Erfahrung. Du musst ja z.B. eine AWS Instanz konfigurieren. Die Ports freischalten in den Security Groups etc. Außerdem Web Development + NodeJS- Konfigurations-Erfahrung
  • Die einfache PixelStreaming-Demo, da gibt es ja keine Rollen/Rechteverteilung. D.h. jeder kann einfach die Kontrolle übernehmen und in deiner Unreal-Anwendung müsstest du so etwas noch implementieren. Z.B. eine Passwort-Abfrage implementieren und an die UE-App weiterleiten, damit man einen Nutzer z.B. die Steuerungs-Hoheit übergibt - im einfachsten Fall
  • Der Server, z.B. die AWS EC2 Instanz kostet schon auch Geld, da du ja auch eine Instanz mit GPU-support brauchst. Z.B. der g4dn.xlarge -Instantyp kostet 50 Cent pro Stunde. Wenn du das Ding einfach 1 Jahr lang laufen lässt...12 Euro am Tag. 4400 pro Jahr.
  • Je nachdem, wie du es umsetzen möchtest, brauchst du nat. eine Menge Instanzen. Quasi für jeden Nutzer, der eigenständig ein Auto konfigurieren soll eine laufende Instanz der Anwendung, da sonst andere Nutzer nur zuschauen könnten und das gleiche Bild sehen. Je nach Server-Typ bei AWS und Auslastung der Anwendung könntest du 2-8 Anwendungen je Server-Instanz laufen lassen. Aber selbst das würde bedeuten, dass du eine Menge Instanzen bräuchtest, je nach User-Zahl. Außerdem: Entsprechend viel Aufwand für die Konfiguration der Ports, Anwendungen, WebServer etc.
  • Je nachdem wo sich der User befindet und wo sich das Rechenzentrum befindet, wirst du auch eine entsprechende Latenz haben, abhängig von der Distanz und der Anbindung des Users ans Internet. Das kann vereinzelt auch zu schlechter UX führen.
  • Bei größerer User-Zahl ist es auch einfach nicht mehr praktikabel die Server-Instanzen, z.B. bei AWS EC2, über das Amazon-Portal zu verwalten. D.h. man bräuchte dann auch custom tools, um die Instanzen zu verwalten.



Worauf ich hinaus möchte: PixelStreaming ist halt auch nicht die eierlegende Wollmilchsau und je nach Größe des Projekts und Anzahl der Konfigurationen etc + Anzahl der User, die du bedienen willst, kann das noch einen langen Rattenschwanz nach sich ziehen. Mit dem UE4 Variant Manager aber einen Exe-Prototypen zu erzeugen, geht aber generell doch relativ einfach. Der Teufel liegt aber immer im Detail.

3) Unity

Na ja, die Grafik kann schon ebenbürtig zu UE4 sein, aber es gibt da jetzt out-of-the-box kein Plugin, was so spezifisch für das Schalten von Konfiguratoren gebaut ist, wie in UE4. Aber im Store könnte es schon entsprechende Skripte etc. geben. Mit der Umsetzung in Unity kenne ich mich aber nicht so aus. Ich denke aber auch da wird viel Fachwissen nötig sein. Ich hatte letztens was zum Thema Azure Remote Rendering gelesen. Das wäre dann eine Art PixelStreaming, aber dafür wirst du dann auch in der Microsoft Azure-Cloud Kosten verursachen und die gleichen Nachteile haben wie beim UE4 Pixelstreaming.

Fazit

Ich kann dir auf jeden Fall sagen: Wenn du nicht schon viel Erfahrung in UE4 oder WebGL Developement hast und generell einen Programmier - oder IT Hintergrund, dann wird das auch ein größeres Projekt. Je nach Budget könntest du auch überlegen eine Firma zu beauftragen. Aber was die Cloud-Lösungen anbelangt, wirst du immer laufende Kosten haben. und Verwaltungsaufwand. Bei WebGL liegt mehr Verantwortung auf User-Basis und die Grafik wird auch nicht an aktuelle Games bspw. heranreichen. Die eierlegende Wollmilchsau gibt es nicht. Ich kenne jetzt deine Situation nicht, bin aber auf Details gespannt. Ich hoffe ich habe dich
jetzt auch nicht zu sehr entmutigt. Aber ich spreche aus Erfahrung.
 
Gigantus3DMi. 01 Jul. 2020, 13:33 Uhr
Ok, also:

1) WebGL

Also du hättest natürlich die Option eine reine WebGL-Anwendung zu erstellen. Die Vorteile sind entsprechend, dass jeder das gut erreichen kann und auf quasi jedem Endgerät laufen sollte. WebGL hat aber eine Menge Probleme:


WebGL ist ja quasi outdated und WebGPU ist im Prinzip WebGL 3.0
WebGL 2.0 wird nicht von Safari auf irgendeiner Apple-Plattform unterstützt. D.h. du brauchst den FallBack auf WebGL 1.0. Welcome 2011 graphics quality.
WebGL 1.0 kann natürlich auch hübsch sein, aber es wird a) niemals an aktuelle Grafikqualität heranreichen und b) musst du dafür auch extrem viel Aufwand betreiben. Alle Texturen vorbacken, Speichergröße optimieren etc.
Bei WebGL landen in irgendeiner Form deine Daten immer beim Enduser. D.h. wenn sich jemand Mühe gibt, dann kann er deine 3D-Modelle und Texturen extrahieren. Gegenmaßnahmen sind aufwendig und trotzdem im Endeffekt immer knackbar
Problem ist auch bei einem Car Configurator, je nach Speichergröße der WebGL-App, muss der User das alles herunterladen. Wenn dann jemand 10 Minuten warten muss, bis er alles heruntergeladen hat, das kann es ja dann auch nicht sein und führt einfach nur zu schlechter user experience. Und am Ende crasht dann der Browser
WebGL ist ja, wie jede WebTechnik, immer einem heterogenen Gerätefeld ausgeliefert. D.h. auch wenn der Browser das unterstützt, kann es nat. gut sein, dass es auf x-y Android-Geräten auch nicht funktioniert.


Was die Entwicklung von WebGL-Anwendungen angeht: In UE4 wurde die Plattform deprecated und es gibt jetzt ein GitHub-Depot mit der HTML5-Platform for UE4, die du dann erst in die Engine integrieren musst etc.
Unity ist da wesentlich einfacher, um generell erstmal eine Anwendung herauszuhauen. Unsere letzten Erfahrungen, besonders mit Apple Geräten, ist aber: Es ist trotzdem schwierig und erfordert viel Fachwissen, um eine saubere WebGL-Anwendung zu erstellen. Ich würde dir raten einfach mal PlayCanvas anzuschauen, wenn du diese Weg gehen willst. Damit habe ich keine Erfahrung, aber man liest zumindest viel positives.Ansonsten wirst du einen steinigen Weg vor dir haben mit UE oder Unity, sobald du wirklich Mac,PC und Android bedienen möchtest. Besonders Mac mit WebGL 1.0.


2) UE4 + Executable + ggf. Pixelstreaming

Also generell ist das für HighQuality Fahrzeugkonfiguratoren eine gute Wahl. Mit Datasmith hast du ein Plugin an der Hand, was dir da vieles auch schon abnimmt. Stichwort VariantManager, der in Datasmith enthalten ist. Damit könntest du deine Konfigurationen einfach schalten via Blueprints-Coding. Und im Launcher gibt es eine Pixelstreaming-Demo zum Herunterladen. Diese kannst du als Grundlage nehmen und mit Hilfe der Dokumentation und dem Plugin selbst deine benutzerdefinierte HTML einbinden. Man muss aber dazu sagen: Trivial ist das ja trotzdem alles nicht und folgende Dinge musst du bedenken:


Du brauchst für PixelStreaming nicht nur UE-Erfahrung, sondern auch html und Server/IT Erfahrung. Du musst ja z.B. eine AWS Instanz konfigurieren. Die Ports freischalten in den Security Groups etc. Außerdem Web Development + NodeJS- Konfigurations-Erfahrung
Die einfache PixelStreaming-Demo, da gibt es ja keine Rollen/Rechteverteilung. D.h. jeder kann einfach die Kontrolle übernehmen und in deiner Unreal-Anwendung müsstest du so etwas noch implementieren. Z.B. eine Passwort-Abfrage implementieren und an die UE-App weiterleiten, damit man einen Nutzer z.B. die Steuerungs-Hoheit übergibt - im einfachsten Fall
Der Server, z.B. die AWS EC2 Instanz kostet schon auch Geld, da du ja auch eine Instanz mit GPU-support brauchst. Z.B. der g4dn.xlarge -Instantyp kostet 50 Cent pro Stunde. Wenn du das Ding einfach 1 Jahr lang laufen lässt...12 Euro am Tag. 4400 pro Jahr.
Je nachdem, wie du es umsetzen möchtest, brauchst du nat. eine Menge Instanzen. Quasi für jeden Nutzer, der eigenständig ein Auto konfigurieren soll eine laufende Instanz der Anwendung, da sonst andere Nutzer nur zuschauen könnten und das gleiche Bild sehen. Je nach Server-Typ bei AWS und Auslastung der Anwendung könntest du 2-8 Anwendungen je Server-Instanz laufen lassen. Aber selbst das würde bedeuten, dass du eine Menge Instanzen bräuchtest, je nach User-Zahl. Außerdem: Entsprechend viel Aufwand für die Konfiguration der Ports, Anwendungen, WebServer etc.
Je nachdem wo sich der User befindet und wo sich das Rechenzentrum befindet, wirst du auch eine entsprechende Latenz haben, abhängig von der Distanz und der Anbindung des Users ans Internet. Das kann vereinzelt auch zu schlechter UX führen.
Bei größerer User-Zahl ist es auch einfach nicht mehr praktikabel die Server-Instanzen, z.B. bei AWS EC2, über das Amazon-Portal zu verwalten. D.h. man bräuchte dann auch custom tools, um die Instanzen zu verwalten.



Worauf ich hinaus möchte: PixelStreaming ist halt auch nicht die eierlegende Wollmilchsau und je nach Größe des Projekts und Anzahl der Konfigurationen etc + Anzahl der User, die du bedienen willst, kann das noch einen langen Rattenschwanz nach sich ziehen. Mit dem UE4 Variant Manager aber einen Exe-Prototypen zu erzeugen, geht aber generell doch relativ einfach. Der Teufel liegt aber immer im Detail.

3) Unity

Na ja, die Grafik kann schon ebenbürtig zu UE4 sein, aber es gibt da jetzt out-of-the-box kein Plugin, was so spezifisch für das Schalten von Konfiguratoren gebaut ist, wie in UE4. Aber im Store könnte es schon entsprechende Skripte etc. geben. Mit der Umsetzung in Unity kenne ich mich aber nicht so aus. Ich denke aber auch da wird viel Fachwissen nötig sein. Ich hatte letztens was zum Thema Azure Remote Rendering gelesen. Das wäre dann eine Art PixelStreaming, aber dafür wirst du dann auch in der Microsoft Azure-Cloud Kosten verursachen und die gleichen Nachteile haben wie beim UE4 Pixelstreaming.

Fazit

Ich kann dir auf jeden Fall sagen: Wenn du nicht schon viel Erfahrung in UE4 oder WebGL Developement hast und generell einen Programmier - oder IT Hintergrund, dann wird das auch ein größeres Projekt. Je nach Budget könntest du auch überlegen eine Firma zu beauftragen. Aber was die Cloud-Lösungen anbelangt, wirst du immer laufende Kosten haben. und Verwaltungsaufwand. Bei WebGL liegt mehr Verantwortung auf User-Basis und die Grafik wird auch nicht an aktuelle Games bspw. heranreichen. Die eierlegende Wollmilchsau gibt es nicht. Ich kenne jetzt deine Situation nicht, bin aber auf Details gespannt. Ich hoffe ich habe dich
jetzt auch nicht zu sehr entmutigt. Aber ich spreche aus Erfahrung.



Ich habe dir mal eine Nachricht gesendet. Danke
 
 

 


 
 
© 3D-Ring - deutsche 3D Software Community, Archiv 2001 - 2006