v1.9.0
Features
🆕 glTF variants now supported by the scene-graph material API. #2700, #2764, #2816
🆕 Added materialFromPoint and getMaterialByName methods. #2839
🆕 Support for EXT_meshopt_compression. Thanks @donmccurdy! #2706
🆕 Added generate-schema attribute. #2853
🆕 Added seamless-poster attribute for transparent posters with shadows. #2865
Bug fixes
- Fixed several mouse/touch UX quirks. Thanks @lucadalli! #2691, #2722, #2724, #2728, #2730
- Fixed shadow clipping when switching models during
auto-rotate. #2765 - Fixed material API for skinned meshes. #2799, #2801
- Workaround for flaky black renders on Safari (WebGL corruption). #2832
xr-environmentwas being used always in WebXR mode instead of opt-in as intended. #2847- Improved loading performance by generating the environment in parallel with the model fetch. #2870
- Fixed USDZ auto-generation for models with differently sized normal and roughness maps. #2878
Examples
✨ Updated custom controls examples for improved UX. Thanks @lucadalli! #2760
✨ Added material picking example. #2839, #2855
✨ Updated Performance examples for the seamless-poster attribute and webP posters. #2865
Other notable changes
- Updated to Three.js r133, which pulled several fixes including rendering transparent materials properly without a skybox.
- Updated DRACO decoder version. #2705
- Updated Fidelity Results page. #2677, #2685, #2741, #2749, #2752, #2757, #2829, #2851
- Updated Fidelity path tracer. Thanks @bsdorra! #2806, #2820, #2854
- Removed the old interactive example, redirecting to the Editor instead. #2782
- Use Trusted Types for better static analysis of security. #2875
Editor
- Automatic WebP poster generation. #2711
- Added an animation scrubber. #2723
- Tweaked the camera UI and fixed several bugs. #2701, #2712, #2789
- Fixed file-open on mobile. #2770
- Added joint count to validator output. #2779
- Support glTF loading, including folders and zip archives. #2781
- Default lighting switched to "neutral". #2805, #2819
- Select material by clicking the model. #2879