v0.6.0
0.6.0 (June 29, 2017)
Link traversal for navigating from page to page while staying in VR. Support
for VR controllers across the board with the addition of Daydream and GearVR
controller components as well as laser interactions. Large performance
improvements around .getAttribute
and .setAttribute
.
Major Changes
- Bumped three.js to r84. (#2456)
- Updated WebVR polyfill to 0.9.35. (#2700, #2818)
- Removed auto-enter-vr component previously for Carmel debugging. (#2784)
Deprecations
- Renamed
AFRAME.utils.coordinates.isCoordinates
toAFRAME.utils.coordinates.isCoordinate
. (af3f89) - Removed reset sensor keyboard shortcut due to being removed from WebVR API. (#2531)
Enhancements
- Added support for link traversal. (#1575)
- Added link component with default portal appearance. (#1575)
- Added link-controls component in the examples. (#1575)
- Daydream controller support with daydream-controls, 3DoF support to tracked-controls with head/arm model. (#2538)
- GearVR controller support with gearvr-controls. (#2545)
- laser-controls component for responsive controls across 6DoF and 3DoF. (#2678)
- Added support for cursor component to draw a visible ray or project a mesh onto the intersection point. (#2678)
- Added
origin
anddirection
properties to configure raycaster component. (#2678) - Shadow support via shadow component and light properties. (#2350)
- Implement
thumbstickmoved
andaxismoved
for oculus-touch-controls. (#2513) - Implement system
.update
handler. (#2548, #2613) - Added
controllerconnected
andcontrollerdisconnected
events. (#2505) - Handle
onvrdisplaypresentchange
events to enter and exit VR. (#2751) - Exposed
material.alphaTest
andmaterial.depthWrite
properties. (#2516) - Exposed glTF animations. (#2417)
- Implemented
Component.tock
handler called after scene render for future post-processing support. (#1564) - Added support for A-Frame being required in a Node environment. (#2476, #2477, #2484, #2492, #2498)
- Implemented
trackpadmoved
event for vive-controls component. (#2415) - Added
response-type
attribute to<a-asset-item>
to support array buffer responses. (#2442) - Automatically set glTF response types to array buffer. (63d2f8)
- Apply
camera.userHeight
to controller when no stage parameters (e.g., Daydream). (#2448) - Allow unsetting of mixin with
.setAttribute('mixin', '')
and.removeAttribute('mixin')
. (a173509) - Allow default lights to be disabled with
<a-scene light="defaultLightsEnabled: false">
. (#2376) - Added panner properties to sound component. (#2374)
- Added non-positional audio support to sound component. (#2490)
- Refactored and unit test tracked-controls component. (#2396)
- Added triangle geometry. (#2573)
- Cleaned up cursor component when removed. (#2391)
- Normalized default component values to proper types rather than strings. (#2411)
- Removed unnecessary touching of
THREE.Cache
for asset responses. (#2435) - Throw error for developer if HTML is opened with
file://
protocol. (#2540) - Set
System.el
to the scene element. (#2566) - Use
isControllerPresent
utility rather than checkingnavigator.getGamepads
in order to fake oculus-touch-controls for motion capture. (#2604) - Check WebVR API rather than using a dolly to check for positional tracking capabilities. (#2602)
- Made default cone geometry look like a cone. (#2506)
- Show error message when loading Inspector. (#2525)
- Added validation warnings for schema default values. (#2511)
- Removed timestamps from debug and console messages to reduce noise. (#2550)
- Use
getElementById
vs.querySelector
for asset property types to be more strict. (#2578) - Added developer warnings for primitive mapping names. (#2631)
- Anti-alias by default on 2D desktop. (#2455)
- Added support for iOS 10 HLS video streaming. (#2597)
Performance
- Skipped schema type checking when object is passed through
.setAttribute
more than once to consider it a validated object. (#2679) - Made
.getAttribute
not clone component data object. Now returns raw reference to component data (#2689) - Disposed of unused texture objects from memory when no longer used by material component. (#2686)
- Throttled emitting of
componentchanged
event on each update to every 200ms. We recommend polling if more critical updates are needed. (#2683) - Avoided
string.split()
in.setAttribute()
to reduce memory in array instantiations. (#2674) - Removed duplicate asset requests by passing down
<img>
from<a-assets>
and by usingcrossorigin
from the start. (#2544) - Changed selector property types to support
getElementById
. (#2820) - Reduced default
<a-cursor>
segments. (#2821)
Fixes
- Fixed hand-controls blend-character animations between hand poses. (#2568)
- Fixed infinite loop when component
.init
handler calls.setAttribute
on itself. (#2454) - Fixed unreliable
requestAnimationFrame
timestamps by usingTHREE.Clock
in the render loop. (#2471) - Fixed error when entity detached while trying to load and then trying to initialize. (#2521)
- Fixed updating of
material.side
component. (#2528) - Fixed components sharing default array reference. (#2615)
- Fixed non-recursive raycasters. (#2331)
- Fixed various issues with sound component. (#2490)
- Fixed
AFRAME.utils.device.checkHeadsetConnected
to checkVRDisplay.isConnected
(for Windows Mixed Reality Headsets). (#2427) - Fixed video materials not respecting autoplay and controls attributes, set
playsinline
. (#2610) - Fixed cursor component
mouseup
event not being emitted if entity no longer intersecting. (#2678) - Fixed resetting material texture to null. (#2388)
- Fixed sound not playing when changing sound source. (#2457)
- Fixed
AFRAME.utils.deepEqual
recursion when comparing object with itself. (#2406) - Fixed
AFRAME.utils.deepEqual
when comparing non-Object objects like HTML elements (#2502) - Fixed loading of glTF files that did not include a default scene. (#2462)
- Fixed camera height when re-entering VR. (#2394)
- Fixed CSS cursor stuck to grabbing in Firefox. (#2684)
- Fixed tablets not being considered mobile devices in
AFRAME.utils.isMobile
. (#2309) - Fixed
AFRAME.utils.coordinates.isCoordinate
with scientific notation. (#2475) - Fixed pool component initializing twice. (#2407)
- Fixed error when injecting Inspector. (#2380)
- Fixed plane geometry segments. (#2499)
- Fixed grab CSS being applied when look-controls disabled. (#2642)
- Fixed look-controls enabling and disabling. (#2467)
- Fixed light targets. (#2715)
- Fixed
setAttribute
wiping out DOM-defined data on init. (#2727) - Fixed primitives mapping to non-default components. (#2767)
- Fixed vive-controls component button colors. (#2772)
- Fixed error if removing component before initialized. (#2713)
- Fixed booleans when updating component. (#2796)
- Fixed cursor component not waiting for canvas to load. (#2813)
- Fixed text component not updating text while font is loading. (#2814)
- Fixed WebVR polyfill being applied and user height not applied to GearVR browsers. (#2819)
- Fixed single-property mixins not working with primitives. (#2810)