Release 0.8.5

Release 0.8.5

Moderne JavaScript-Unterstützung, Pipelines mit verbesserter Laubdarstellung, Projektvorlagen und viele, viele Bugfixes und Leistungsoptimierungen, die die Stabilität erheblich verbessern.

> Vollständiger Changelog

Deep-Dive 

Dieses Release bringt ein paar sehr leistungsstarke neue Features, die einen genaueren Blick wert sind:

Moderne JavaScript-Unterstützung 

Während dies Dir ermöglicht, Deine benutzerdefinierten Komponenten in ES6+ zu erstellen, mithilfe von const, => und class, ist dieses Feature noch so viel mehr.

Damit kommt die Möglichkeit, das gesamte NPM-Ökosystem zu nutzen, JavaScript-Code selbst zu bundlen oder sogar andere Sprachen wie TypeScript zu verwenden!

Da wir möchten, dass die Wonderland Engine sich gut in Deinen Bundling-Prozess integriert, haben wir zwei Pakete veröffentlicht: @wonderlandengine/api und @wonderlandengine/components.

Pipelines 

Feinere Kontrolle über GPU-Pipeline-Funktionen wie Blending befähigt Dich, eine Vielzahl von Effekten zu erstellen. Pipelines ermöglichen es auch, Teile von Shadern zu deaktivieren, um die Leistung zu optimieren, indem nur genau das verwendet wird, was Du tatsächlich brauchst.

Mit ihnen kommt eine leistungsstarke neue “Foliage”-Pipeline, die eine höhere Qualität für Pflanzenmodelle mit Alpha-Masking bietet.

Projektvorlagen 

Die Wonderland Engine macht Dich bereits super produktiv mit ihrem schnellen Entwicklungsworkflow. Doch etwas erst gar nicht tun zu müssen, kann noch schneller sein. Um die Menge an Boilerplate-Arbeit zu reduzieren, stellen wir jetzt Vorlagen zur Verfügung, um Dein Projekt zu starten.

Und wenn Du mehr brauchst, kannst Du Deine eigenen erstellen und mit der Community teilen.

Changelog 

Editor

  • Unterstützung für JavaScript ES2018 durch V8
  • Der Editor parst nun das resultierende Bundle anstatt der Quell-JS-Dateien
  • Hinzugefügte Option, JavaScript-Bundle über npm Script zu erstellen
  • Die eingebauten Editor-Komponenten wurden Open-Source
  • Editor-Komponenten als npm Paket veröffentlicht
  • Hinzugefügte Projektvorlagen zum Erstellen von Projekten
  • Unterstützung für benutzerdefinierte Projektvorlagen hinzugefügt
  • Unterstützung für Pipelines hinzugefügt
    • Unterstützung für Alpha zu Coverage (“Alpha-Masking mit MSAA”) hinzugefügt
    • Unterstützung für beliebige Blending-Konfigurationen hinzugefügt
    • Option hinzugefügt, um Tiefentest und Tiefenschreibmasken zu deaktivieren
    • Unterstützung für doppelseitige Materialien hinzugefügt
    • “Foliage”-Pipeline für doppelseitige Materialien mit Alpha zu Coverage hinzugefügt
  • Generierung von Sourcemaps für JavaScript-Bundles hinzugefügt
  • Experimentelle Unterstützung für Mip-Mapping auf komprimiertem Texturatlas hinzugefügt
  • Hinzugefügt: Strg + Drag’n’Drop von der Eigenschaftsansicht zur Szenenübersicht, um Komponenten auf andere Objekte zu kopieren
  • Hinzugefügte framebufferScalingFactor-Einstellung in den Projekteinstellungen
  • MSAA in der Szenenansicht aktiviert, um das Laufzeitaussehen zu entsprechen
  • Szenenladezeiten verbessert
  • Ordner im Dateibereich des Asset-Browsers hinzugefügt
  • Einige seltene Abstürze behoben, die beim Packen von Änderungen auftreten
  • Absturz behoben, wenn nichts in den Asset-Browser gezogen wurde
  • Rückgabewerte bei Fehlschlägen mit --windowless-Flag korrigiert
  • Zeilenhervorhebungen in der Ressourcenansicht behoben
  • Einige Ressourcen, die in der Ressourcenansicht nicht umbenannt werden konnten, behoben
  • Einige Ressourcen, die in Eigenschafts-Dropdowns nicht ausgewählt werden konnten, behoben
  • Skalierungsgizmo in der Szenenansicht für Objekte mit Elternteil behoben
  • UI-Stil und Layout verbessert
  • Flüssigkeit des Transformationsgizmos für Szenen mit vielen Objekten verbessert
  • Unterstützung für OBJ-Dateiimport verbessert
  • Überflüssige Protokollausgabe entfernt, um Unordnung zu reduzieren

Templates

  • Hinzugefügtes “Mobile AR”-Template mit Hit-Test
  • Hinzugefügtes “VR”-Template mit Handtracking, Controllern, Teleport-Bewegung und Cursor-Interaktion

Runtime

  • JavaScript-API modularisiert
  • Die API wurde Open-Source (https://github.com/WonderlandEngine/api)
  • API als npm Paket veröffentlicht (https://www.npmjs.com/package/@wonderlandengine/api)
  • Alle WebXR-Referenzräume angefordert und der fortschrittlichste standardmäßig ausgewählt
  • Fix: WasmMemory nicht auf Oculus Quest während der Entwicklung größerer Projekte zuweisbar
  • Fix: Absturz beim Deaktivieren eines skinned Mesh
  • Verbesserung der Knöpfe zum Betreten von VR/AR
  • Hintergrundverlauf hinzugefügt, um das Aussehen bis zur ersten Laufzeitausgabe zu verbessern
  • Warnungen als Fehler im Browserkonsolen-Protokoll behoben
  • start() wird jetzt nicht auf JavaScript-Komponenten aufgerufen, die im Editor deaktiviert sind

Engine

  • Anti-Aliasing mit aktiviertem Bloom behoben
  • Leistung der Ray-Casts gegen Box und AxisAlignedBox verbessert
  • Leistung der Textaktualisierung verbessert
  • Szenengraph-Leistung für Szenen mit vielen dynamischen Objektbäumen (skinned Meshes) erheblich verbessert

JS API

  • Ausnahmen bei WL.Material.*-Parameterzugriff behoben
  • Setter für WL.PhysXComponent.shape, extents und verschiedene andere Eigenschaften hinzugefügt, um PhysX-Rigid-Bodies zu modifizieren
  • WebXR.refSpace hinzugefügt, um den Referenzraum auszuwählen
  • Fix: WL.Object.getComponents() gibt manchmal falsche Komponententypen zurück
  • WL.Object.active hinzugefügt, um alle Komponenten auf einem Objekt zu (de-)aktivieren
  • set WL.Object.transformWorld und set WL.Object.transformLocal hinzugefügt
  • Fix: active-Status wird ungültig, wenn er während onActivate() geändert wird
  • Speicherschwankungen im Heap und Garbage Collection-Verhalten erheblich verbessert

JavaScript-Komponenten

  • cursor: cursorRayScalingAxis hinzugefügt, um Strahlobjekt auf einer bestimmten Achse zu skalieren
  • cursor: onHover() jetzt mit Hover-Objektparameter behoben
  • teleport: Überarbeitet, um Thumbstick- und Orientierungseingaben in VR-Sitzungen zu unterstützen
  • teleport: Fehler behoben, bei dem der Mittelpunkt des Raumes teleportiert wurde anstatt des Spielers
  • vr-mode-active-switch: Verhalten beim Deaktivieren behoben und vermeidet nun, sich selbst zu deaktivieren
  • hand-tracking: Optionen hinzugefügt, um Anzeigemesh und Controller-Objekte (de-)zuaktivieren, abhängig davon, ob eine Pose verfügbar ist
  • finger-cursor-Komponente hinzugefügt, um mit cursor-target durch Kollisionsüberlappung zu interagieren (z. B. mit Handtracking an der Spitze des Zeigefingers)

Docker Image

  • Basis-Image auf ubuntu:20.04 umgestellt
  • edge-Tag für Release-Kandidaten-Tester hinzugefügt
Last Update: June 18, 2021

Bleiben Sie auf dem Laufenden.