Skip to main content
XR/3D Scenes with MPEG-I Scene Description

MPEG-I Scene Description Test Asset Creation

This page has two halves. The first, List of available assets, points you to ready-made test assets you can download and play directly. The second, Generation of MPEG-I SD compliant glTF2.0 assets, explains how to author your own assets in Blender using the exporter add-on.

Content repositories

5G-MAG is hosting a repository with test assets implementing some of the core extensions defined in MPEG-I Scene Description (ISO/IEC 23090-14): rt-xr-content.

Note the assets produced by the MPEG-I SD group are typically available for download at the ISO/IEC 23090-14 standards page. Khronos hosts sample glTF2.0 assets on GitHub: glTF-Sample-Assets.

Blender add-on to generate MPEG-I SD compliant glTF2.0 assets

The Reference Tools also provides a Blender add-on to support MPEG_* glTF extensions and export glTF files.

The repository is available here: rt-xr-blender-exporter A tutorial is available here: Blender glTF Exporter and Unity Player

List of available assets

These ready-made assets in the rt-xr-content repository exercise the core MPEG glTF extensions, so you can download and play them without authoring anything yourself.

MPEG_anchor (test content)

The MPEG_anchor glTF extension enables anchoring nodes and scenes to features (Trackable) tracked by the XR device.

 Trackable typeTest content
TRACKABLE_VIEWERanchoring/anchorTest_viewer_n.gltf
TRACKABLE_FLOORawards/scene_floor_anchoring.gltf
TRACKABLE_PLANEawards/scene_plane_anchoring.gltf
TRACKABLE_CONTROLLERanchoring/anchorTest_ctrl_n.gltf
TRACKABLE_MARKER_2Danchoring/anchorTest_m2D_n.gltf
TRACKABLE_MARKER_3Danchoring/anchorTest_m3D_n.gltf
TRACKABLE_MARKER_GEOanchoring/anchorTest_geoSpatial_n_cs.gltf
TRACKABLE_APPLICATIONanchoring/anchorTest_app_n.gltf

MPEG_scene_interactivity and MPEG_node_interactivity

Behaviors in a 3D scene can be defined through the MPEG_scene_interactivity and MPEG_node_interactivity glTF extensions. An interactivity behavior combines one or more triggers that condition the execution of one or more actions.

Trigger typeTest content
TRIGGER_COLLISIONgravity/gravity.gltf
TRIGGER_PROXIMITYgravity/gravity.gltf, geometry/UseCase_03-variant1-geometry.gltf
TRIGGER_USER_INPUTgravity/gravity.gltf, geometry/UseCase_03-variant3-geometry.gltf
TRIGGER_VISIBILITYgeometry/UseCase_03-variant3-geometry.gltf
Action typeTest content
ACTION_ACTIVATEgravity/gravity.gltf
ACTION_TRANSFORMgravity/gravity.gltf
ACTION_BLOCKgravity/gravity.gltf
ACTION_ANIMATIONgeometry/UseCase_03-variant1-geometry.gltf
ACTION_SET_MATERIALgravity/gravity.gltf
ACTION_MANIPULATE
ACTION_MEDIA🚧 not yet supported in the Unity player (issues/19); test asset: geometry/UseCase_02-variant3-geometry.gltf
ACTION_HAPTIC
ACTION_SET_AVATAR

MPEG_media, MPEG_accessor_timed, MPEG_buffer_circular

Support for media sources (eg. mp4, dash, rtp, ...) exposing media buffers to the presentation engine through the MPEG_media, MPEG_accessor_timed, MPEG_buffer_circular glTF extensions.

Sample scene with media pipelines

MPEG_texture_video (test content)

Supports video textures buffers through the MPEG_texture_video glTF video extension. Video decoding is implemented by media pipelines.

Sample scene with video texture

MPEG_audio_spatial (test content)

Supports audio sources positioned in 3D through the MPEG_audio_spatial. For each audio source the extension specifies attenuation parameters controlling the audio source loudness as a function of the viewer's distance.

Sample scene with spatial audio source

Generation of MPEG-I SD compliant glTF2.0 assets

This half explains how to author your own MPEG-I Scene Description assets in Blender using the exporter add-on. The extension definitions are the same as in the list above; the steps below focus on how to configure each extension in Blender.

MPEG_anchor (Blender configuration)

Configure anchoring of a node

Blender XR Anchoring panel in object properties, with an anchor type selected
  1. select the node to be anchored
  2. locate the XR Anchoring panel in object properties, select an anchor type and configure the anchor

The following anchor types can be configured in the exporter:

  • TRACKABLE_FLOOR
  • TRACKABLE_VIEWER
  • TRACKABLE_CONTROLLER
  • TRACKABLE_PLANE
  • TRACKABLE_MARKER_2D
  • TRACKABLE_MARKER_GEO
  • TRACKABLE_APPLICATION
warning

This authoring list omits TRACKABLE_MARKER_3D, which does appear in the player feature tables. It is not clear whether this is intentional (not yet supported by the exporter) or an omission. Confirm with the maintainers before relying on it.

Creating a 2D marker node

Blender XR Anchoring panel used to create a 2D marker node from an image

Figure: creating a 2D marker node from an image in the XR Anchoring panel.

  1. locate the XR Anchoring panel (press N while the UI is focused on the 3D view)
  2. select an image and hit 'create marker node', the marker 2D node is added to the scene and can now be used to configure an anchor

MPEG_texture_video (Blender configuration)

To add a video and export it as MPEG_texture_video, first make sure that the blender's scene output format matches the framerate of the videos used as texture.

  1. Create or select a material
  2. Select the shader slot which will be using the video, and make it an 'Image texture'
  3. Open or Select the video to use

All Image textures with a movie source are exported as MPEG_texture_video extensions:

Blender material shader slot set to an Image texture with a movie source

Figure: a Blender image texture with a movie source, exported as an MPEG_texture_video extension.

MPEG_audio_spatial (Blender configuration)

Audio sources

To add an audio source to the scene:

  1. Add a Speaker node to the scene: 3D Viewport > Add > Speaker
  2. Add a file source to the speaker's Sound. The file is assumed to contain a single channel of audio (MONO).
  3. Configure speaker's Distance parameters:
    • Max Distance
    • Attenuation (roll-off factor)
    • Distance Reference All other parameters are ignored.

The audio attenuation model is configured as a scene property in Blender.

Blender Speaker node with a mono sound file and distance parameters configured

Figure: configuring a Speaker node as a spatial audio source in Blender.

Blender scene audio properties showing the attenuation model setting

Figure: the audio attenuation model set as a scene property in Blender.

Next steps