:a: Web framework for building virtual reality experiences.
WebXR final spec support!
Subscribe to the newsletter to continue to support A-Frame!
WebXR
spec support (@klausw, @Artyom17, @dmarcos)WebXR gamepads
module (#4322) (@dmarcos, @arpu)
WebXR AR
mode (#4281) (@klausw)Quest
controller support (#4073) (@DigiTec, @dmarcos)72Hz mode
by default on Oculus Browser for Quest (#4232) (@dmarcos)DeviceOrientation
events due to iOS 13 new policy (#4303) (@KevinEverywhere, @dmarcos)vrdisplaypresentchange
event unless there's native WebVR implementation (#4301) (@dmarcos)xrSession
to undefined after exiting VR mode (#4321) (@klausw, @dmarcos)mouseup
if mousedown
if it's only originated on scene (#4249) (@edsilv, @dmarcos)IE 11
fullscreen mode (#4243) (@AlexandraWins)animejs
fork to fix flattenArray (#4158) (@ngokevin)JavaScriptCore
(#4318) (@nuel, @dmarcos)embedded mode
on loading screen (#4245) (@dmarcos)three-bmfont-text
to THREE r111 API changes (#4331) (@dmarcos)DracoLoader
Path set for THREE v108 (#4272) (@arpu)setTimeout
call in tick if not raycaster.showLine (#4192) (@ngokevin)checkHasPositionalTracking
(#4255) (@dirkk0)Multiview extension, Spatial computing UIs, Mixed Reality features, Quest 3 support and much more!
Check out the new examples: Anchors, World Meshing and Hand Grab Controls
If you find A-Frame valuable consider sponsoring on github. A-Frame is 100% maintained by volunteers and any help is super appreciated.
hand-controls
animations (#5300)hand-tracking-grab-controls
component to make any entity manipulable with hands (@dmarcos)obb-collider
implementing oriented bounding box colliders (@dmarcos)anisotropy
option to material and renderer (#5309) (@mrxz)loopStart
and loopEnd
properties to sound component to play loops (#5364) (@JonathannJacobs)getJointPose
with fillPoses
and fillJointRadii
in hand-tracking-controls to avoid memory allocations (#5298) (@mrs)applyColorCorrection
(#5210) (@mrxz, @vincentfretin)a-assets
(#5335) (@mrxz)vr-mode-ui
component renamed to xr-mode-ui
(@dmarcos)A-Frame moved to custom elements V1, Oculus Quest Pro support, and tons of fixes and improvements in both A-Frame core and inspector 👏
28 A-Framers contributed to this one! You're awesome 🙇
Sponsor A-Frame to help us move the 3D Web forward.
You can also buy a cool t-shirt 👕
targetRaySpace
with `gripSpace to position WebXR tracked controllers (#88e8db12) (@felixtrz @dmarcos)xrselect
option to rayOrigin property in cursor component so it can be used in a WebXR AR context (#5065) (@AdaRoseCannon)tracked-controls-webxr
reference space is now configurable (#5040) (@msub2)light
component property to enable directional lights to track objects and update shadows automatically (#5025) (@AdaRoseCannon)toneMapped
property on renderer system. Flat materials can now opt out of tone mapping to look like light emitting surfaces. (#5029) (@AdaRoseCannon)throttleLeadingAndTrailing
(#5151) (@diarmidmackenzie)triggerchanged
event not firing with Oculus Quest 2 controllers (#5149) (@msub2)a-scene
is removed from the DOM (#5112) (@vincentfretin)granted
events if DeviceOrientationEvent
permission is not granted (#5079) (@diarmidmackenzie)component-name__sufix
. Used on multiple instances of a single component (fix #5080) (#5081) (@diarmidmackenzie)a-mixins
when camera system tries to retrieve camera entities (fix #5023) (@mattrossman)wasd-controls
velocity when axis properties change (#5050) (@vulture-boy)WebXR immersive session and hand tracking fixes!
Sponsor A-Frame to help us move the 3D Web forward.
You can also buy a cool t-shirt 👕
offset
and repeat
properties set via setAttribute
(#4985) (@diarmidmackenzie @arturitu)componentchanged
event. We were skipping the last component state transition event during a component change burst if last modification happens within throttle interval. (fix #4972) (@diarmidmackenzie @dmarcos)mouseenter
, mouseleave
, click
cursor events component when order of intersected entities changes (fix #4978) (@diarmidmackenzie @dmarcos)WebXR immersive session and hand tracking fixes!
Sponsor A-Frame to help us move the 3D Web forward.
You can also buy a cool t-shirt 👕
THREE.Geometry
5 years of A-Frame! 🥳
40 amazing A-Framers participated in this release. Thank you 👏
AR, hand tracking, compositor layers, immersive navigation (Quest only), Quest 2 support and much more.
Buy a t-shirt 👕 and support A-Frame developmet
axismove
event on Oculus Quest (#4472) @Sujoy-Ghoshnpm run dist
command when running in zsh @benallfreeTHREE: getWorld*
methods that don't know work in immersive mode (#4521) @NNskelly @dmarcosselectstart
/ selectend
never detected by the cursor component @vincentfretinsessiongranted
event only if WebXR is available @dmarcoswebvr-polyfill
to fix magic window mode in iOS 13 (#4554) @jwjordan @dax72 @NomisGnos @dmarcossessiongranted
event was not captured @dmarcosraycaster
collision detection from tick
to tock
to prevent bogus collisions on first frame @dmarcosvr-mode
state to <a-scene>
when entering immersive mode with WebXR @dmarcosTHREE.WebGLRenderer
outputEncoding @arpuhmdEnable
property name to magicWindowTrackingEnabled
@dmarcosmouseEnabled
property to enable / disable mouse input @dmarcosBug fixes
Subscribe to the newsletter to continue to support A-Frame!
referenceSpace
and controllers list when entering / exiting VR (#4406) @AG-LucidWeb @Artyom17 @dmarcosselectstart
/ selectend
event listeners when XR session ends @DougReederarmModel
default to false (#4405) @dmarcosmatrixAutoupdate
to false
on camera in WebXR case (#4383) @liewol @dmarcosmousedown
events (#4380) @AG-LucidWeb @dmarcoshand-controls
@arturituselectstart
/ selectstart
and reemits as mousedown / mouseup. Simple screen input for AR experiences (fix #4407) @dmarcoshand-controls
@arturituBug fixes
Subscribe to the newsletter to continue to support A-Frame!