Last updated
Last updated
Wir glauben, dass die Nutzung von 3D im Web in den nächsten Jahren erheblich zunehmen wird. Während heute native Apps die Norm sind, werden immer mehr Inhalte als Web-App oder verfügbar gemacht. Neue VR- und AR-Geräte werden sich und ein interessantes Problem schaffen: Responsive bedeutet plötzlich nicht mehr nur "kleiner Bildschirm" oder "großer Bildschirm", sondern man hat es auch mit Räumen, 3D, räumlicher Platzierung und potenziell Brillen und Controllern zu tun!
Hinzu kommt ein Drang zu mehr Interaktivität und Kollaboration, und schon hat man eine interessante Mischung von Herausforderungen.
Bei Needle glauben wir, dass das Ideieren und Erstellen in diesem Bereich einfach sein sollte. Wir haben uns zum Ziel gesetzt, die Dinge zu beschleunigen – indem wir unsere eigene Runtime entwickeln, um diese Ziele zu erreichen. Deshalb integrieren wir die Möglichkeit zur Bereitstellung auf AR und VR direkt in unsere Kernkomponenten und testen kontinuierlich, ob neue Ideen plattformübergreifend funktionieren.
Es gibt zahlreiche Optionen, das stimmt! Wir haben festgestellt, dass aktuelle Systeme1 grob in zwei Kategorien eingeordnet werden können: einige haben großartige Asset-Behandlung, Tools und künstlerfreundliche Workflows, geben aber eine Art binären Blob aus, und andere sind stärker codebasiert, entwicklerfreundlich und ermöglichen eine hervorragende Integration in moderne Web-Workflows2.
Wir wollen diese Welten verbinden und das Beste aus beiden Welten kombinieren: künstlerfreundliche Workflows und moderne Web-Technologien. In Kombination mit modernen Formaten und einem zügigen Workflow glauben wir, dass dies viel mehr Kreativen ermöglichen wird, ihre Inhalte ins Web zu bringen. Wir sahen auch eine Gelegenheit, AR, VR und Kollaboration von Anfang an richtig zu gestalten.
1: Beispiele sind Unity, PlayCanvas, three.js, react-three-fiber, Babylon, A-Frame, Godot und viele mehr.2: Es gibt mehr Nuancen dazu, als in einen Einleitungsparagraphen passen! Alle Engines und Frameworks haben ihre Stärken und Schwächen und entwickeln sich ständig weiter.
Wir glauben, dass die nächste Welle von 3D-Apps im Web mit besseren Workflows kommen wird: Jeder sollte in der Lage sein, eine 3D-Szene, eine Kunstgalerie, ein Produkt oder einen 3D-Scan im Web zusammenzustellen oder einfache Spiele zu erstellen. Das Erreichen dieses Ziels erfordert mehr als nur die Unterstützung eines bestimmten Systems und den Export ins Web von dort aus.
Unser Ziel ist es, Menschen zu ermöglichen, Daten aus ihren kreativen Tools ins Web zu bringen: sei es Unity, Blender, Photoshop oder etwas anderes. Wir sind uns bewusst, dass dies ein großes Ziel ist – aber anstatt alles auf einmal zu tun, wollen wir iterieren und uns gemeinsam Schritt für Schritt nähern.
Im Kern von Needle Engine stehen das -Format und seine Fähigkeit, mit benutzerdefinierten Extensions erweitert zu werden. Das Ziel ist: Eine einzelne .glb
-Datei kann die Daten Ihrer gesamten Anwendung enthalten.
Es ist wichtig zu beachten, dass es kein Ziel ist, eigentlichen Code innerhalb von glTF zu versenden; das Versenden und Ausführen von Code ist die Aufgabe moderner Web-Runtimes und Bundling. Wir können uns durchaus vorstellen, dass abstrakte Repräsentationen von Logik (z. B. Graphen, State Machines usw.) bis zu einem gewissen Grad standardisiert werden können und interoperable Welten ermöglichen, aber wir sind noch nicht so weit.
Iteration sollte schnell und die Bereitstellung sollte zügig sein.
Die Arbeit an 3D-Webprojekten sollte so einfach sein wie die Arbeit an 2D-Webprojekten.
Entwickler und Künstler sollten direkt zusammenarbeiten können.
Responsive Web geht über Bildschirme hinaus – AR und VR sollten eingebaut sein, keine nachträglichen Gedanken.
Wir wollen zu Open-Source-Projekten beitragen.
Offene Diskussion über 3D- und Web-Standards.
Möglichkeit, Ihre Daten in offenen Formaten mitzubringen und mitzunehmen.
Möglichkeit, das von Ihnen verwendete Web-Framework zu wählen, keine Bindung an bestimmte Frameworks und Anbieter.
Gängige Anwendungsfälle funktionieren ohne oder mit begrenzter Programmiererfahrung.
Es ist kein Ziel, eine 100%ige Abdeckung aller Kombinationen von Editor-Versionen, Feature Sets, Render Pipelines zu haben.
Es ist kein Ziel, eine vollständige No-Code-Umgebung bereitzustellen.
Es ist kein Ziel, den Feature Set, die Fähigkeiten oder die Runtime Performance anderer Engines zu erreichen.
Aus langjähriger Arbeit mit Unity haben wir festgestellt, dass die WebGL-Ausgabe etwas hinterherhinkt, obwohl die Engine und der Editor in großem Tempo Fortschritte machen. Die Integration von Unity-Playern in webbasierte Systeme ist eher schwierig, das "Sprechen" mit der umgebenden Website erfordert eine Reihe von Workarounds, und vor allem sind die Iterationszeiten sehr langsam, da Unity den gesamten Code über IL2CPP in WebAssembly packt. Diese Technologien sind fantastisch und führen zu großartiger Runtime Performance und viel Flexibilität. Aber sie sind so viel langsamer und abgeschotteter im Vergleich zu modernen Web-Entwicklungs-Workflows, dass wir uns entschieden haben, die Dinge selbst in die Hand zu nehmen.
Needle Engine baut auf three.js auf. Das gesamte Rendering läuft darüber, glTF-Dateien werden über die Erweiterungsschnittstellen von three geladen, und unser Component System dreht sich um three's Object3D und Scene Graph. Wir sind bestrebt, einige unserer Änderungen und Verbesserungen upstream einzubringen, Pull Requests zu erstellen und Probleme auf dem Weg zu melden.
Seite automatisch mit KI übersetzt