Easily display interactive 3D models on the web and in AR!
π Added localization API for a11y for WCAG compliance, thanks @cybmiper! #4715 π Added Khronos PBR Neutral tone mapping standard ("neutral") - "commerce" is now an alias for this. #4716, #4760
β¨ Added example of a11y localization, thanks @cybmiper! #4715
π Added UltraHDR lighting support for 10x-30x smaller environments! #4578
π Added skybox-height
option to project an outdoor skybox onto the ground plane. #4604
π Added AgX tone mapping and Commerce tone mapping is improved and no longer experimental! #4615
π Added a reason property to the progress event, thanks @alexdaube! #4647
CreateVideoTexture()
respect with-credentials
, thanks @navidadelpour! #4635β¨ Added example of toggling visibility of mesh variants. #4528 β¨ Updated lighting examples for UltraHDR example. #4578 β¨ Added Grounded Skybox example. #4604 β¨ Added a tone mapping comparison example. #4615 β¨ Small fixes for examples. #4514, #4627 β¨ Added an FAQ on color accuracy, including links to longer write-ups on tone mapping and model validation. #4637
π Added an experimental tone-mapping
attribute to allow switching from our default, aces
, to a new commerce
function designed specifically for color accuracy in 3D commerce. #4495
π Added zoom-sensitivity
and pan-sensitivity
attributes, thanks @nicolas-daures! #4412
π Added optional post-processing API with a variety of rendering effects, thanks @Beilinson! #3948 π Added an unbundled build, model-viewer-module.min.js, for use with post-processing or any others who need to de-duplicate three.js using import maps, thanks @Beilinson! #3948 π Added anisotropy support. #4314, https://github.com/mrdoob/three.js/pull/25580 π Added PBR Next material extensions API, including anisotropy, clearcoat, ior, iridescence, sheen, specular, etc. #4319, #4330, #4348 π Added texture transform API to Sampler: setRotation, setScale, and setOffset. #4209
β¨ Added many post-processing examples, thanks @Beilinson! #3948 β¨ Added transform textures example. #4209
jasmine
for mocha
in the space-opera
tests. #4268currentTime
when animation has not been played. #4231Most of the updates this time were pulled from upstream in Three.js rather than directly in our code base. The big one is that our last major glTF compliance issue is now fixed: multiple UV channel and texture transform support! This means it's now possible to author GLBs with tiled textures, e.g. for fabric, and still have a non-tiled AO map. This can make for significantly higher-quality models with smaller file size.
β¨ Fixed a bug in the annotations example, thanks @y-71! #4151
This does not change our bundled build, so most users will see no change compared to v3.0.1. This changes how our dependencies are represented in npm, which is important for developers that are incorporating <model-viewer>
into a larger TS/JS project. Specifically:
animation
object of a LottieTexture
is now marked any
, so please cast it with image.animation as import('lottie-web').AnimationItem;
if you want type info. #4132three
is installed and the build should continue to work. #4135with-credentials
, thanks @robertsLando! #4098data-surface
attribute. #4099β¨ Fixed animated hotspots example for iOS. #4107 β¨ Fixed video textures example for Firefox. #4104 β¨ Fixed Lottie textures example for Safari by demonstrating proper use of ES-module-shims. #4113 β¨ Updated recommended CDN from unpkg to ajax. #4121
π Added dynamic hotspots, which follow a point on the model's surface while it animates. These can be generated by the surfaceFromPoint method, which the editor now employs. #3981 π Added animated texture support, for video, canvas2D, and Lottie animations, which can be loaded and applied to any texture slot using our materials API. #3886
with-credentials
toggle to all loaders. #4085camera-change
event at most once per animation frame. #4027β¨ Added animated hotspots example, which also demonstrates animated SVG pointers. #3981 β¨ Added animated textures example. #3886 β¨ Updated dimensions example to be more performant. #4027