XR Unity Player v1.0.0 features
-
Adds support for augmented reality scenes using the
MPEG_anchor
glTF extensions which enables anchoring nodes and scenes to real world features. Anchored nodes are composited with the runtime device’s camera stream. The implementation currently targets Mobile XR scenarios on Android devices such as smartphones, leveraging Google’s ARCore API. -
Adds a basic player configuration file to list multiple glTF documents, and a simple menu to load/unload and switch between scenes.
Anchoring
Supports augmented reality scenes using the MPEG_anchor
glTF extensions which enables anchoring nodes and scenes to Trackable real world features.
The implementation targets Android devices, anchored nodes are composited with the runtime device’s camera stream.
Trackable type | Status | Test content |
---|---|---|
TRACKABLE_VIEWER | ☑ | anchoring/anchorTest_viewer_n.gltf |
TRACKABLE_FLOOR | ☑ | awards/scene_floor_anchoring.gltf |
TRACKABLE_PLANE | ☑ | awards/scene_plane_anchoring.gltf |
TRACKABLE_CONTROLLER | ☐ | anchoring/anchorTest_ctrl_n.gltf |
TRACKABLE_MARKER_2D | ☑ | anchoring/anchorTest_m2D_n.gltf |
TRACKABLE_MARKER_3D | ☐ | anchoring/anchorTest_m3D_n.gltf |
TRACKABLE_MARKER_GEO | ☑ | anchoring/anchorTest_geoSpatial_n_cs.gltf |
TRACKABLE_APPLICATION | ☑ | anchoring/anchorTest_app_n.gltf |
Interactivity
Supports specifying interactive behaviors to gltf documents through the MPEG_scene_interactivity
and MPEG_node_interactivity
extensions.
An interactivity behavior combines one or more triggers that condition the execution one or more actions.
The table below provide an overview of the supported triggers and actions:
Trigger type | Status | Test content |
---|---|---|
TRIGGER_COLLISION | ☑ | gravity/gravity.gltf |
TRIGGER_PROXIMITY | ☑ | gravity/gravity.gltf, geometry/UseCase_03-variant1-geometry.gltf |
TRIGGER_USER_INPUT | ☑ | gravity/gravity.gltf, geometry/UseCase_03-variant3-geometry.gltf |
TRIGGER_VISIBILITY | ☑ | geometry/UseCase_03-variant3-geometry.gltf |
Action type | Status | Test content |
---|---|---|
ACTION_ACTIVATE | ☑ | gravity/gravity.gltf |
ACTION_TRANSFORM | ☑ | gravity/gravity.gltf |
ACTION_BLOCK | ☑ | gravity/gravity.gltf |
ACTION_ANIMATION | ☑ | geometry/UseCase_03-variant1-geometry.gltf |
ACTION_SET_MATERIAL | ☑ | gravity/gravity.gltf |
ACTION_MANIPULATE | ☑ | |
ACTION_MEDIA | ☐ | geometry/UseCase_02-variant3-geometry.gltf |
ACTION_HAPTIC | ☐ | |
ACTION_SET_AVATAR | ☐ |
Media pipelines
Android support is planned in #54.
Support for media sources (eg. mp4, dash, rtp, …) exposing media buffers to the presentation engine through the MPEG_media
, MPEG_accessor_timer
, MPEG_buffer_circular
glTF extensions.
Media buffers expose decoded data not limited to video texture or audio sources.
Sample scene with media pipelines
Video texture
Android support is planned in #54.
Supports video textures buffers through the MPEG_texture_video
glTF video extension is supported on Windows as of v0.9.0
, Android support is planned for v1.1.0
.
Sample scene with video texture
Spatial audio
Android support is planned in #54.
Supports audio sources positionned in 3D through the MPEG_audio_spatial
glTF extension is supported on Windows as of v0.9.0
, Android support is planned for v1.1.0
.
For each audio source the extension specifies attenuation parameters controling the audio source loudness as a function of the viewer’s distance.
Sample scene with spatial audio source
Overview of the MPEG extensions to glTF format implemented in v1.0.0
Note that “Unity player” refers to the compiled application, while “Unity editor” refers to the development environment which also allows running the app without actually compiling it for the target platform.
glTF extension | Unity player | Unity editor |
---|---|---|
Android | ||
MPEG_media | ☐ | ☑ |
MPEG_buffer_circular | ☐ | ☑ |
MPEG_accessor_timed | ☐ | ☑ |
MPEG_audio_spatial | ☐ | ☑ |
MPEG_texture_video | ☐ | ☑ |
MPEG_scene_interactivity | ☑ | ☑ |
MPEG_node_interactivity | ☑ | ☑ |
MPEG_node_interactivity.type | ☑ | ☑ |
MPEG_anchor | ☑ | ☐ |
MPEG_sampler_YCbCr | ☐ | ☐ |
MPEG_primitive_V3C | ☐ | ☐ |
MPEG_node_avatar | ☐ | ☐ |
MPEG_lights_texture_based | ☐ | ☐ |
MPEG_light_punctual | ☐ | ☐ |
MPEG_haptic | ☐ | ☐ |
MPEG_mesh_linking | ☐ | ☐ |
MPEG_scene_dynamic | ☐ | ☐ |
MPEG_viewport_recommended | ☐ | ☐ |
MPEG_animation_timing | ☐ | ☐ |