Easily display interactive 3D models on the web and in AR!
scale
/orientation
attributes being ignored on load. #2904positionAndNormalFromPoint
and materialFromPoint
methods, as these now take absolute coordinates like clientX
rather than relative coordinates like offsetX
. Sorry for not quite following semver here, but these methods are only used by a small fraction of our users, the required change is very small, and this was the only way to fix this bug. #2905π 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
auto-rotate
. #2765xr-environment
was being used always in WebXR mode instead of opt-in as intended. #2847β¨ 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
π You can now select your power preference for dual GPU machines (default is "high-performance"; choose "low-power" to avoid a slight UX hitch on tab switch if your element is small enough to not heavily tax the GPU): #2656
π WebXR UX: now in AR the model can be interacted with before it is placed on the floor/wall: #2606
π Added doubleSided
, alphaMode
, and alphaCutoff
to the scene-graph API: #2616
π Added createTexture()
and setTexture()
to the scene-graph API: #2505
π Added createThumbnail(width, height)
method to extract the contents of textures: #2566
π We now properly export the glTF variants extension. Thanks @takahirox! #2544
π You can now opt-in to use AR lighting estimation in WebXR mode. Thanks @takahirox! #2471
src
: #2639<model-viewer>
's scene-graph API. As a part of this many bugs were fixed and several UX changes were made, notably you can now load glTF in addition to GLB and KTX2 textures don't throw an error. Also, thanks to auto-generation you can see your glTF in AR on iOS without uploading a separate USDZ. #2469π ios-src
is now optional for AR Quick Look on iOS! If you only include quick-look
in ar-modes
, <model-viewer>
will now generate a USDZ on the fly when the user clicks the Enter AR button, and it will include any modifications done through our scene-graph API, like choosing a variant. ios-src
will still take precendence if you need to provide a better model than our auto-generation (for instance we don't yet support animation). Thanks @kolodi! https://github.com/google/model-viewer/pull/2374
π Updated the WebXR UX based on user feedback. Now the object is immediately placed, world-locked based on the last camera position from 3D mode, then when the floor is found, it is moved up or down to land on it: https://github.com/google/model-viewer/pull/2279
π Added two-finger rotation to the WebXR UX, allowing large models to be rotated when you cannot touch outside their bounding box: https://github.com/google/model-viewer/pull/2355
π Added an ar-tracking
read-only attribute to indicate the state of ARCore world tracking in order to surface error messages: https://github.com/google/model-viewer/pull/2363
π Added an interpolation-decay
attribute to control the speed of camera and target interpolation, see the modified example. Thanks @timmmeh! https://github.com/google/model-viewer/pull/2286
π Added CSS part
to our default UI elements to allow them to be easily styled. This takes the place of most of our CSS custom properties, which have now been deprecated and will be removed when v2.0 comes. Thanks @mrdoob! https://github.com/google/model-viewer/pull/2370
π Added support for external renderers. This is an early-phase feature and the idea is to make it possible to control a cloud-based or non-glTF renderer with <model-viewer>
's camera and annotation APIs: https://github.com/google/model-viewer/pull/2328
touch-action:none
if you want all scroll events swallowed, even for fullscreen elements: https://github.com/google/model-viewer/pull/2058
ModelCacheSize
works as intended. Thanks @mqg734! https://github.com/google/model-viewer/pull/2092
π Added support for the KHR_texture_basisu extension of glTF, for reduced GPU memory footprint; see the example, https://github.com/google/model-viewer/pull/1989