Changelog
All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[1.0.0-preview.22] - 2018-12-13
- Fix package dependency
[1.0.0-preview.21] - 2018-12-13
New
- Added Face Tracking support:
ARFaceManager
,ARFace
,ARFaceMeshVisualizer
and related scripts. See documentation for usage.
Improvements
- Plane detection modes: Add ability to selectively enable detection for horizontal, vertical, or both types of planes. The
ARPlaneManager
includes a new setting, which defaults to both. - Add support for setting the camera focus mode. Added a new component,
ARCameraOptions
, which lets you set the focus mode.
Changes
- The light estimation option, which was previously on the
ARSession
component, has been moved to the newARCameraOptions
component.
[1.0.0-preview.20] - 2018-11-06
Improvements
- Support reference points reported without a corresponding
TryAddReferencePoint
call. This handles reference points that are added by some other means, e.g., loaded from a serialized session.
[1.0.0-preview.19] - 2018-10-10
- Added support for
XRCameraExtensions
API to get the raw camera image data on the CPU. See the manual documentation for more information.
[1.0.0-preview.18] - 2018-09-13
Fixes
- The
ARPlaneMeshVisualizer
did not disable its visible components (MeshRenderer
andLineRenderer
) when disabled. This has been fixed.
Changes
- The
ARPlaneManager
,ARPointCloudManager
, andARReferencePointManager
all instantiate either prefabs that you specify orGameObject
s with at least anARPlane
,ARPointCloud
, orARReferencePoint
, respectively, on them. The instantiatedGameObject
's layer was set to match theARSessionOrigin
, overwriting the layer specified in the prefab. This has been changed so that if a prefab is specified, no changes to the layer are made. If no prefab is specified, then a newGameObject
is created, and its layer will match that of theARSessionOrigin
'sGameObject
.
New
- Added
ARPlane.normal
to get theARPlane
's normal in world space.
LWRP support
Added LWRP support by allowing ARCameraBackground
to use a background renderer that overrides the default functionality. This works in conjunction with some LWRPSupport files (see arfoundation-samples) that will live in your LWRP project.
[1.0.0-preview.17] - 2018-08-02
Fixes
- Add
FormerlySerializedAs
attribute to serialized field changes toARCameraBackground
.
[1.0.0-preview.16] - 2018-07-26
Change
- Removed static constructor from
ARSubsystemManager
. This allows access to the manager without forcing the creation of the subsystems, making the initialization more flexible.
[1.0.0-preview.15] - 2018-07-26
Fixes
ARPlane.vertexChangedThreshold
is no longer allowed to be negative.- The
ARCameraBackground
component did not reset the projection matrix on disable, leading to stretching or other distortion. This has been fixed. - The
ARCameraBackground
component did not properly handle an overriden material. This has been fixed (see API Changes below). - The
ARPlaneMeshGenerators
was meant to generate a triangle fan about the center of the plane. However, indices were instead generated as a fan about one of the bounary points. The visual result is similar, but can lead to long thin triangles. This has been fixed to use the plane's center point as intended. - Update for compatibility with 2018.3
- If the
ARPlaneMeshVisualizer
has aLineRenderer
on it, then it will be scaled to match theARPlane
's scale, making the visual width invariant under differingARSessionOrigin
scales. - When the
ARPointCloudManager
instantiated a point cloud prefab, it did not change its transform. If it was not identity, then feature points would appear in unexpected places. It now instantiates the point cloud prefab with identity transform. - The menu item "GameObject > XR > AR Default Point Cloud" created a
GameObject
which used a particle system whose "Scaling Mode" was set to "Local". If used as theARPointCloudManager
's point cloud prefab, this would produce odd results when theARSessionOrigin
was scaled. The correct setting is "Hierarchy", and the utility now creates a particle system with the correct setting.
API Changes
ARCameraBackground
The API for overriding the material has been refactored. Previously, a custom material could be set with the ARCameraBackground.material
setter, but this might be overwritten later if the option to override was disabled.
- Rename:
overrideMaterial
is nowuseCustomMaterial
- New member:
customMaterial
- The following properties are now private:
material
setter (getter is still public)backgroundRenderer
Use the ARCameraBackground.material
getter to get the currently active material.
[1.0.0-preview.14] - 2018-07-17
Fixes
- Fixed a bug in the
ARCameraBackground
which would not render the camera texture properly if theARSession
had been destroyed and then recreated or if theARCameraBackground
had been disabled and then re-enabled. ARSubsystemManager.systemState
's setter was not private, allowing user code to change the system state. The setter is now private.ARPlane.trackingState
returned a cached value, which was incorrect if theARSession
was no longer active.
Improvements
- Added
ARSession.Reset()
to destroy the current AR Session and establish a new one. This destroys all trackables, such as planes. - Added an
ARSubsystemManager.sessionDestroyed
event. TheARPlaneManager
,ARPointCloudManager
, andARReferencePointManager
subscribe to this event, and they remove their trackables when theARSession
is destroyed.
[1.0.0-preview.13] - 2018-07-03
- Fixed a bug where point clouds did not stop rendering when disabled.
- Added a getter on the
ARPointCloudManager
for the instantiatedARPointCloud
. - Added UVs to the
Mesh
generated by theARPlaneMeshVisualizer
. - Refactored out plane mesh generation functionality into a new static class
ARPlaneMeshGenerators
. - Added a
meshUpdated
event to theARPlaneMeshVisualizer
, which lets you customize the generatedMesh
. - Added AR Icons.
[1.0.0-preview.12] - 2018-06-14
- Add color correction value to
LightEstimationData
.
[1.0.0-preview.11] - 2018-06-08
- Improve lifecycle reporting: remove public members
ARSubsystemManager.availability
andARSubsystemManager.trackingState
. Combine withARSubsystemManager.systemState
and the public eventARSubsystemManager.systemStateChanged
. - Docs improvements
- Move
ParticleSystem
to the top of theARDebugPointCloudVisualizer
[1.0.0-preview.10] - 2018-06-06
- Update documentation: ARSession image and written description.
[1.0.0-preview.9] - 2018-06-06
- Rename
ARBackgroundRenderer
toARCameraBackground
- Unify
ARSessionState
&ARSystemState
enums
[1.0.0-preview.8] - 2018-05-23
- Change dependency to
ARExtension
1.0.0-preview.2
[1.0.0-preview.7] - 2018-05-23
- Remove "timeout" from AR Session
- Add availability and AR install support
- Significant rework to startup lifecycle & asynchronous availability check
[1.0.0-preview.6] - 2018-04-25
Rename ARUtilities to ARFoundation
- This package is now called
ARFoundation
. - Removed
ARPlaceOnPlane
,ARMakeAppearOnPlane
,ARPlaneMeshVisualizer
, andARPointCloudParticleVisualizer
as these were deemed sample content. - Removed setup wizard.
- Renamed
ARRig
toARSessionOrigin
. ARSessionOrigin
no longer requires itsCamera
to be a child of itself.