Rilascia 1.2.0
Il nostro rilascio più potente di sempre introduce i primi post-processing come Bloom e Tonemapping, supporto HDR per ambienti, miglioramenti all’illuminazione basata sulle immagini, blending delle animazioni, obiettivi di morph, e un’API dell’editor basata su JavaScript/TypeScript per scrivere strumenti personalizzati.
Test migliorati
Abbiamo creato un framework di test che può confrontare i risultati del rendering di un progetto per testare automaticamente i nostri esempi.
Abbiamo reso open-source questo framework per permetterti di testare i tuoi progetti.
Cambiamenti invisibili
Questo rilascio è pieno di modifiche strutturali invisibili per garantire che l’architettura del motore e dell’editor si sviluppi con le funzionalità future:
- Abbiamo rifattorizzato il modello di dati interno per l’editor affinché sia più gestibile, veloce e riduca gli errori.
- Il sistema di animazione ora utilizza grafici di animazione. Sebbene non siano ancora visibili, abilitano già nuove funzionalità come il blending delle animazioni.
- Ora vengono gestite più scene a runtime. Questo è già utile quando vengono aggiunte e caricate scene da JavaScript, ma presto consentirà di gestire efficientemente le risorse attraverso più scene e pacchetti di risorse dall’editor.
- Il formato di serializzazione per componenti personalizzati è stato modificato per supportare molti più tipi di proprietà in futuro.
Changelog
Editor
- Aggiunta la vista “Strumenti di Animazione” per aggiungere tracce di eventi alle animazioni
- Aggiunta l’API Plugin dell’Editor basata su JavaScript/TypeScript per costruire viste e strumenti personalizzati
- Aggiunto supporto al blending a 1D e 2D per il componente di animazione
- Ristilizzazione dell’interfaccia, risolvendo molti problemi di UX e sfruttando meglio lo spazio delle finestre
Old:


- Risoluzione del loop infinito di packaging quando un oggetto con componente fisico statico è selezionato
- Aggiunta una barra di ricerca per cercare i progetti recenti nel wizard dei progetti
- Aggiunti errori di parsing JSON quando il file del progetto o altri file JSON non possono essere caricati
- Consentito la lettura di file JSON con virgole finali per una più facile risoluzione dei conflitti di merge
- Riconoscimento delle estensioni
.tsxe.jsxcome script - Aggiunto supporto per caricare immagini HDR
- Visualizzazione della scena: ora puoi usare Shift con Num7, Num1 e Num3 per visualizzare da direzioni allineate all’asse opposte
- Visualizzazione della scena: Risolto l’asse del Gizmo non cliccabile se perpendicolare alla visualizzazione
- Visualizzazione della scena: emulazione del pulsante centrale del mouse con Alt + pulsante sinistro del mouse
- Visualizzazione della scena: risoluzione del rendering della modalità di visualizzazione della mesh
- Visualizzazione della scena: Aggiunto interruttore per la visualizzazione della luce
- Impostazioni del progetto: Mostra anche le coordinate della texture secondaria nelle impostazioni di rendering
- Aggiunto avviso su iOS Safari per l’impostazione massima non compressa degli atlas
- Migliorate significativamente le prestazioni complessive dell’editor
- Visualizzazione delle risorse: Aggiunto copia e incolla per le risorse dei materiali
- Aggiunta opzione per disabilitare l’importazione di materiali PBR come Phong
- Aggiunto checkbox per lanciare il progetto con HTTPS, se SSL è configurato
- Evitare il packaging di mesh non referenziate per impostazione predefinita
- Aggiunto supporto per file di scena con attributi separati di Tangente e Bitangente
- Risolta la conditione di gara tra
npm installe l’aggiornamento del pacchetto API richiesto - Silenziati errori degli atlas di texture durante la compressione delle immagini
- Risolti i miniatura dei materiali non renderizzati al caricamento iniziale del progetto
- Aggiunti Alt+G, Alt+R e Alt+S per resettare posizione, rotazione e scala degli oggetti selezionati
- Spostato il collegamento “Simula Fisica” a Alt+Shift+S
- Passaggio a WEBP per immagini non compresse
- Aggiunta l’impostazione del progetto
importPhysicalAsPhongper consentire di disabilitarlo - Risolto il parametro
--importche non compila correttamente la scena importata - Aggiunto supporto per importare file EXR
Engine
Aggiunto supporto per il blending di animazioni 1D e 2D
Aggiunto supporto per le tracce degli eventi di animazione
Aggiunto supporto per ambienti HDR

Aggiunta cottura delle sonde GI speculari e diffuse dal cielo e ambiente HDR
Aggiunto supporto per le sonde GI diffuse armoniche sferiche
Aggiunto supporto per parametri di float a 16-bit (“half float”) nei materiali personalizzati, dichiarati con
mediumpAggiunto supporto per obiettivi di morph (chiamati anche shape blending)
- Aggiunto supporto per tone mapping usando ACES, ACES approssimato, metodo Reinhard o esponenziale
- Reimplementato il bloom usando un algoritmo ad alta efficienza per GPU mobile
- Risolto l’errore di compilazione dello shader con SHADOW_NORMAL_OFFSET_SLOPE_SCALE disabilitato
- shader: Risolti avvisi di indicizzazione dinamica
- Cambiato il formato di serializzazione interno per i parametri dei componenti personalizzati per supportare più tipi in futuro
- Implementate ulteriori ottimizzazioni del fetch dei vertici GPU e del sovradisegno per il renderer multi-draw
- windows: risolti problemi con i progetti su diverse volumi di archiviazione
Runtime
- Aggiunto supporto per caricare e cambiare più scene tramite handle e cambiando la scena attiva
- Risolto un crash durante l’aggiornamento dei dati di una mesh tramite l’API JavaScript
- Risolto il problema della trasformazione obsoleta sulla radice degli oggetti clonati
API JavaScript/TypeScript
- Chiariti e migliorati i documenti
- Aggiunto
AnimationComponent.setParameterFloate.getParameterFloatper controllare i parametri di blending - Aggiunto
MeshManager.create()eTextureManager.create(), deprezzandonew Mesh()enew Texture() - Aggiunto
AnimationComponent.onEventper reagire agli eventi dalle tracce degli eventi di animazione - Aggiunto
PhysXComponent.sleepOnActivate - Aggiunto
TextComponent.getBoundingBoxper recuperare il riquadro di delimitazione del testo renderizzato - Aggiunto
SceneePrefab: parti delle scene che possono essere attivate e istanziate - Aggiunti
Property.vector2,Property.vector3eProperty.vector4 - Aggiunto
TextComponent.getBoundingBoxeTextComponent.getBoundingBoxForText - Risolto
Object3D.clone()a volte clonando un componente due volte invece che quello corretto - Risolti
Object3DeComponentnon segnati come distrutti quando distrutti dal motore - Deprezzato
.equals()su classi di risorse. Ora puoi usare===o== - Deprezzato
TextComponent.justificatione rinominato inTextComponent.verticalAlignment
Componenti
- Aggiunto il componente ‘orbital-camera’
- Aggiunto il componente ‘input-profile’ per l’integrazione con webxr-input-profiles
- trail: Gestisce correttamente la disattivazione
Contributori Open Source
Un ringraziamento speciale alla comunità per i contributi open source, in particolare a:
