Release 1.2.0
Unser bisher stärkstes Release bringt erste Post-Processing-Funktionen wie Bloom und Tonemapping, HDR-Umgebungsunterstützung, Verbesserungen für bildbasierte Beleuchtung, Animationsmischung, Morph-Targets und eine auf JavaScript/Typescript basierende Editor-API, um eigene Tools zu erstellen.
Verbesserte Tests
Wir haben ein Test-Framework erstellt, das die Render-Ergebnisse eines Projekts vergleichen kann, um automatisch unsere Beispiele zu testen.
Wir haben dieses Framework als Open Source veröffentlicht, um es Dir zu ermöglichen, Deine eigenen Projekte zu testen.
Unsichtbare Änderungen
Dieses Release ist voller unsichtbarer Vorarbeiten, um sicherzustellen, dass die Architektur der Engine und des Editors mit zukünftigen Funktionen skalierbar ist:
- Wir haben das interne Datenmodell für den Editor refaktoriert, um es wartbarer, schneller und fehlerärmer zu machen.
- Das Animationssystem verwendet nun Animationsgrafen. Auch wenn sie Dir noch nicht zugänglich sind, ermöglichen sie bereits neue Funktionen wie die Animationsmischung.
- Mehrere Szenen werden nun zur Laufzeit verarbeitet. Dies ist bereits beim Anhängen und Laden von Szenen über JavaScript nützlich, wird jedoch bald die effiziente Verwaltung von Ressourcen über mehrere Szenen und Ressourcenpakete hinweg aus dem Editor ermöglichen.
- Das Serialisierungsformat für benutzerdefinierte Komponenten wurde geändert, um zukünftig viele weitere Eigenschaftstypen zu unterstützen.
Changelog
Editor
- “Animation tools” Ansicht hinzugefügt, um Ereignisspuren zu Animationen hinzuzufügen
- JavaScript/Typescript basierte Editor Plugin API hinzugefügt, um eigene Ansichten und Werkzeuge zu erstellen
- Unterstützung für 1D- und 2D-Mischung zur Animationskomponente hinzugefügt
- Benutzeroberfläche neugestaltet, viele UX-Probleme behoben und den Fensterraum effektiver genutzt
Alt:


- Endlosschleife beim Packen behoben, wenn ein Objekt mit statischer physx-Komponente ausgewählt ist
- Suchleiste hinzugefügt, um kürzlich verwendete Projekte im Projektassistenten zu suchen
- JSON-Parser-Fehler hinzugefügt, wenn Projektdatei oder andere JSON-Dateien nicht geladen werden können
- Lesen von JSON-Dateien mit nachgestellten Kommas erlaubt, um die Lösung von Zusammenführungskonflikten zu erleichtern
.tsx
und.jsx
als Skripterweiterungen erkannt- Unterstützung für das Laden von HDR-Bildern hinzugefügt
- Szenenansicht: Shift kann nun mit Num7, Num1 und Num3 verwendet werden, um aus gegenüberliegenden achsenparallelen Richtungen zu sehen
- Szenenansicht: Fix für nicht anklickbare Gizmo-Achse, wenn Achse senkrecht zur Ansicht steht
- Szenenansicht: Mittlere Maustaste mit Alt + linker Maustaste emulieren
- Szenenansicht: Fix für Darstellung des Netzvisualisierungsmodus
- Szenenansicht: Umschalter für Lichtvisualisierung hinzugefügt
- Projekteinstellungen: Sekundäre Texturkoordinaten auch in den Rendereinstellungen anzeigen
- Warnung über iOS Safari bei unkomprimierter Atlas-Max-Einstellung hinzugefügt
- Leistungsverbesserung des gesamten Editors erheblich verbessert
- Ressourcenansicht: Kopieren & Einfügen von Materialressourcen hinzugefügt
- Option hinzugefügt, um das Importieren von PBR-Materialien als Phong zu deaktivieren
- Checkbox hinzugefügt, um das Projekt mit HTTPS zu starten, wenn SSL eingerichtet ist
- Standardmäßig Vermeidung von Verpacken nicht referenzierter Meshes
- Unterstützung für Szenendateien mit separaten Tangenten- und Bitangenten-Attributen hinzugefügt
- Race Condition zwischen
npm install
und Upgrade des erforderlichen API-Pakets behoben - Texturatlas-Fehler während der Bildkomprimierung unterdrückt
- Fix für Material-Thumbnails, die nicht bei erstem Projektladen gerendert werden
- Alt+G, Alt+R und Alt+S hinzugefügt, um Position, Rotation und Skalierung von ausgewählten Objekten zurückzusetzen
- “Physik simulieren” Tastenkombination zu Alt+Shift+S verschoben
- Umstellung auf WEBP für unkomprimierte Bilder
importPhysicalAsPhong
Projekteinstellung hinzugefügt, um es zu deaktivieren- Fix für
--import
Parameter, der die importierte Szene nicht richtig kompiliert - Unterstützung für das Importieren von EXR-Dateien hinzugefügt
Engine
Unterstützung für 1D- und 2D-Animationsmischung hinzugefügt
Unterstützung für Animation-Ereignisspuren hinzugefügt
Unterstützung für HDR-Umgebungen hinzugefügt
Backen von spekulativen und diffusen GI-Sonden aus Himmel und HDR-Umgebung hinzugefügt
Unterstützung für sphärische Harmoniken von diffusen GI-Sonden hinzugefügt
Unterstützung für 16-Bit-Float-Parameter (“half float”) in benutzerdefinierten Materialien, erklärt mit
mediump
Unterstützung für Morph-Targets (auch Blendshapes genannt) hinzugefügt
- Unterstützung für Tonemapping mit ACES, angenähertem ACES, Reinhard oder exponentieller Methode hinzugefügt
- Bloom mit äußerst effizientem, mobil-GPU-freundlichem Algorithmus neu implementiert
- Fix für Shaderkompilierungsfehler bei deaktiviertem SHADOW_NORMAL_OFFSET_SLOPE_SCALE
- Shader: Fix für Warnungen bei dynamischem Indexing
- Internes Serialisierungsformat für benutzerdefinierte Komponentenparameter umgestellt, um in Zukunft mehr Typen zu unterstützen
- Weitere GPU-Vertex-Fetch- und Überzeichnungsoptimierungen für Multi-Draw-Renderer implementiert
- Windows: Probleme mit Projekten auf verschiedenen Speichervolumina behoben
Laufzeit
- Unterstützung für das Laden und Ändern mehrerer Szenen über Szenen-Handles und das Umschalten der aktiven Szene hinzugefügt
- Fix für Absturz beim Aktualisieren von Mesh-Daten über JavaScript-API
- Fix für veraltete Transformation auf Wurzel von geklonten Objekten
JavaScript/TypeScript API
- Dokumentation klären und verbessern
AnimationComponent.setParameterFloat
und.getParameterFloat
hinzugefügt, um Mischparameter zu steuernMeshManager.create()
undTextureManager.create()
hinzugefügt,new Mesh()
undnew Texture()
veraltet erklärtAnimationComponent.onEvent
hinzugefügt, um auf Ereignisse von Animationsereignisspuren zu reagierenPhysXComponent.sleepOnActivate
hinzugefügtTextComponent.getBoundingBox
hinzugefügt, um den Begrenzungsrahmen des gerenderten Textes abzurufenScene
undPrefab
hinzugefügt: Teile von Szenen, die aktiviert und instanziiert werden könnenProperty.vector2
,Property.vector3
undProperty.vector4
hinzugefügtTextComponent.getBoundingBox
undTextComponent.getBoundingBoxForText
hinzugefügt- Fix für
Object3D.clone()
, das manchmal eine Komponente zweimal anstatt die richtige Komponente klont - Fix für
Object3D
undComponent
, die nicht als zerstört markiert werden, wenn sie von der Engine zerstört werden .equals()
auf Ressourcenklassen veraltet. Du kannst jetzt===
oder==
verwendenTextComponent.justification
veraltet und inTextComponent.verticalAlignment
umbenannt
Komponenten
orbital-camera
Komponente hinzugefügtinput-profile
Komponente für die Integration mit webxr-input-profiles hinzugefügt- Spur: Deaktivierung ordnungsgemäß behandelt
Open Source Mitwirkende
Ein besonderer Dank geht an die Community für die Open Source-Beiträge, insbesondere an: