Augmented Reality

3D model through Augmented Reality

The Augmented Reality (AR) feature allows for the overlay of a digital object into a real-world environment.

The augmented reality module works by transmitting a compatible 3D model to the mobile browser.

The operating systems iOS and Android require specific implementations, which are described below.

Summay

iPhone (iOs)

This module uses Apple’s ARKit for iOS and 3D models in the USDZ format.

SVX Update

Requirements :

Add the AR model to the SVX

Get the SVX of the scene from the interface or from the API.

Edit the derivative section to add a new element with the following information:

The result should be close to this:

{"SVX...": {"SVX..."},

    "derivatives":[
       {
           "existing derivatives":"...",
        },

       {"usage":"iOSApp3D",
        "quality":"AR",
       "assets":[
           {"uri":"${FILENAME}.usdz",
           "type":"Model",
           "Type":"model/vnd.usdz+zip"}
           ]
        }

    ],
"SVX...": {"SVX..."},
}

Loading the SVX

Replace the existing SVX using the API.

curl -L -XPUT  -u "${USERNAME}:${PASSWORD}"  -H "Content-Type: application/json" --data-binary @scene.svx.json https://${HOSTNAME}/scenes/${NAME}/scene.svx.json

Generate the USDZ

Using Blender, export in USD* and save the scene under the name ${FILENAME}.usdz

Quality recommendations :

Using a Mac, use Reality Converter to export a 3D fil into a usdz file.

Import the USDZ

Import the model with the API.

curl -L -XPUT -u "${USERNAME}:${PASSWORD}" --data-binary @${FILENAME}.usdz https://${HOSTNAME}/scenes/${NAME}/${FILENAME}.usdz

The scene will now offer an AR option for iOS devices with access to ARKit.

AR option enabled on mobile

Smartphone (Android)

This module uses Android features and 3D models in the glTF format (.GLB).

SVX Update

Requirements :

Add the AR model to the SVX

Get the SVX of the scene from the interface or from the API.

Edit the derivative section to add a new element with the following information:

The result should be close to this:

{"SVX...": {"SVX..."},

    "derivatives":[
       {
           "existing derivatives":"...",
        },

       {"usage":"App3D",
        "quality":"AR",
       "assets":[
           {"uri":"${FILENAME}.glb",
           "type":"Model",
           "Type":"model/vnd.glb+zip"}
           ]
        }

    ],
"SVX...": {"SVX..."},
}

It is also possible to drag and drop a .GLB model into an existing eCorpus scene and select the “AR” derivative.

This operation will add a derivative in the SVX in this form:

{"SVX...": {"SVX..."},

    "derivatives":[
       {
           "existing derivatives":"...",
        },

       {"usage":"Web3D",
        "quality":"AR",
       "assets":[
           {"uri":"${FILENAME}.glb",
           "type":"Model",
           "Type":"model/vnd.glb+zip"}
           ]
        }

    ],
"SVX...": {"SVX..."},
}

Loading of the SVX

Replace the existing SVX using the API.

curl -L -XPUT  -u "${USERNAME}:${PASSWORD}"  -H "Content-Type: application/json" --data-binary @scene.svx.json https://${HOSTNAME}/scenes/${NAME}/scene.svx.json

Generate the GLB

Using Blender, export in glTF and save the scene under the name ${FILENAME}.glb

Quality recommendation :

Import the GLB

Import the GLB using the API.

curl -L -XPUT -u "${USERNAME}:${PASSWORD}" --data-binary @${FILENAME}.usdz https://${HOSTNAME}/scenes/${NAME}/${FILENAME}.usdz

The scene will now offer an AR option for Android mobiles with a compatible browser.

AR option enabled on mobile