Jump to: navigation, search

Difference between revisions of "HowTo:Configure Dynamic AR Content"


(Setup)
Line 5: Line 5:
  
 
== Setup ==
 
== Setup ==
In order for one to be able to use the feature properly a setup folder is required and can be found at the following link [http://wiki.augmensys.com/images/6/66/Dynamic_AR_Content_Folder_Structure.rar Folder Structure]. The setup folder contains:
+
In order to be able to use the feature properly, a setup folder is required and can be found at the following link [http://wiki.augmensys.com/images/6/66/Dynamic_AR_Content_Folder_Structure.rar Folder Structure]. The setup folder contains:
# A root folder, named ''UBIK''.
+
# A root folder, named ''UBIK''
# The ''UBIK'' root folder contains a child folder, named ''ARConfig''.
+
# The ''UBIK'' root folder contains a child folder, named ''ARConfig''
# The ''ARConfig'' contains two child folders named ''IDMarker'' and ''Markerless''. <br>
+
# The ''ARConfig'' contains two child folders named ''IDMarker'' and ''Markerless''
## ''IDMarker'' folder contains the resources and configuration files needed for scanning an id marker. <br>
+
## ''IDMarker'' folder contains the resources and configuration files needed for scanning an id marker
## ''Markerless'' folder contains the resources and configuration files needed for scanning a picture.
+
## ''Markerless'' folder contains the resources and configuration files needed for scanning a picture
# ''IDMarker'' and ''Markerless'' folder contain a ''res'' and a ''conf'' folder. In the ''res'' folder all the resources needed for metaio and ubik <br>
+
# ''IDMarker'' and ''Markerless'' folder contain a ''res'' and a ''conf'' folder
to show 3d objects, video and ubik objects are located. In the ''conf'' folder all the configuration files are stored.
+
## The ''res'' folder contains all the resources to be shown, like 3D objects, videos and links to {{UBIK}} objects  
* ''Example''. In the following picture one can see a sketch of the folder structure.<br>
+
## The ''conf'' folder contains all the configuration files
:[[File:folder_structure.png]] <br>
+
{{Attention|If a texture is used for a geometry, in order for it to be displayed properly, the 3d object, the material (*.mtl file) and the texture (picture) must all exist in the same place. Only the geometry itself has to be specified as a resource in the Action Mapping though.}}
+
  
== Action Mapping XML Setup ==
+
The following picture shows an exemplary sketch of the folder structure:
 +
:[[File:folder_structure.png]]
  
After the folder is configured and understood the next step is validate the schema against an online validator. A solution can be found at <br>
 
[http://www.utilities-online.info/xsdvalidation/ Online XML Schema Validator]. The schema used to validate against can be found inside the UBIK Folder and it is named ''xsd_schema_validation''.
 
  
 +
== Action Mapping XML Setup ==
 +
 +
After the folder is configured, the next step is to validate the schema against an online validator. A solution can be found at [http://www.utilities-online.info/xsdvalidation/ Online XML Schema Validator]. The schema used to validate against can be found inside the ''UBIK'' Folder and is named ''xsd_schema_validation''.
  
to actually configure the action mapping xml and the tracking data xml. <br>
 
 
The action mapping xml contains different actions such as GeometryAction, MovieAction and UBIKObjectAction.
 
The action mapping xml contains different actions such as GeometryAction, MovieAction and UBIKObjectAction.
* In the xml below an example can be seen.<br>
+
 
 +
* The following xml shows an example configuration:
 
<source lang="xml">
 
<source lang="xml">
 
<TrackingActionMapping>
 
<TrackingActionMapping>
Line 52: Line 52:
 
</TrackingActionMapping>
 
</TrackingActionMapping>
 
</source>
 
</source>
<br>
 
  
All the actions tags must have as an attribute a tracking id. The Tracking id must exist <br>
+
All Action tags must specify a Tracking id, as an attribute. The Tracking id must exist in the tracking xml.
in the tracking xml, the one that metaio needs in order to recognize id markers or pictures scanned.
+
  
 +
{{Attention|If a texture is used for a geometry, the material (*.mtl file) and the texture (picture) must all exist in the same place in order for to have the 3D object displayed properly, Only the geometry has to be specified as a resource in the Action Mapping, though.}}
  
 
=== GeometryAction Tag ===
 
=== GeometryAction Tag ===
  
The GeometryAction xml tag for a GeometryAction must contain a tracking id attribute. Inside the GeometryAction tag there can be a GeometryResource tag that defines the type of resource  
+
Inside the ''GeometryAction'' tag there can be a GeometryResource tag that defines the type of resource required for the GeometryAction.
required for the GeometryAction.
+
 
 
==== GeometryResource Tag ====
 
==== GeometryResource Tag ====
  
 
The GeometryResource contains:
 
The GeometryResource contains:
# '''Resource path'''. It is the resource path of the 3d object or video to be displayed.
+
# '''Resource path''': the resource path of the 3D object or video to be displayed.
# '''Scale'''. If it exists, it is the scale of the current object.
+
# '''Scale''': if specified, the 3D object will be scaled to this size.
# '''OffsetMillimeters'''. If it exists, it is the translation vector of the current object. It has a X, Y and Z value, but not all them are mandatory.  
+
# '''OffsetMillimeters''': if specified, this value will be added to the position of the detected marker when displaying the 3D object. The offset can be defined along the X, Y and Z axis.  
# '''RotationDegrees'''. If it exists, it is the rotation of the current object.
+
# '''RotationDegrees'''. if specified, the 3D object will be rotated by this value against the detected marker.
* ''Resource path example''. pump/pump.obj. <br>
+
 
 +
* ''Resource path example''. pump/pump.obj.
 +
 
 
* ''OffsetMillimeters example''.
 
* ''OffsetMillimeters example''.
 
<source lang="xml">
 
<source lang="xml">
Line 76: Line 77:
 
   </OffsetMillimeter>
 
   </OffsetMillimeter>
 
</source>
 
</source>
<br>
+
 
 +
 
 
=== MovieAction Tag ===
 
=== MovieAction Tag ===
The MovieAction xml tag must also contain a trackingid attribute. Inside the MovieAction tag there are two possible resources, a MovieResource and a PlayButton resource.
+
 
 +
Inside the ''MovieAction'' tag there can be two possible resources defined, a MovieResource and a PlayButton resource.
 +
 
 
==== MovieResource ====
 
==== MovieResource ====
The MovieResource Tag contains the same values as the GeometryResource except the rotation vector.
+
 
 +
The ''MovieResource'' Tag contains the same values as the ''GeometryResource'' except the rotation vector.
 +
 
 
==== PlayButton Tag ====
 
==== PlayButton Tag ====
  
The PlayButton Tag, if it is defined, contains the same values as the GeometryResource tag. It's purpose, if it exists, is to start a video, if the geometry is touched.
+
The ''PlayButton'' Tag, if it is defined, contains the same values as the ''GeometryResource'' tag. Its purpose is to start a video, if the geometry is touched.
 +
 
 
=== UBIKObjectAction Tag ===
 
=== UBIKObjectAction Tag ===
  
The UBIKObjectAction tag should enable handling of the ubik objects when scanning either a picture or an id marker. <br>
+
The ''UBIKObjectAction'' tag should enable handling of the {{UBIK}} objects when scanning either a picture or an id marker. The tag must contain the tracking id attribute and, optional, the ubik-uid tag.
The tag must contain the tracking id attribute and, optional, the ubik-uid tag.
+
  
 
== Tracking Data XML ==  
 
== Tracking Data XML ==  

Revision as of 08:52, 10 February 2014

Introduction

The Dynamic AR Content feature allows the user to see different content according to a marker configuration. The configurable content are 3D objects, movies and UBIK® objects. Currently this feature is enabled for ID Markers and Markerless scanning, meaning image tracking. Therefore, every time the user has scanned an ID marker or a picture, the corresponding object (3D object, movie or UBIK® object) will be processed and, according to the configuration, displayed on the screen.

Setup

In order to be able to use the feature properly, a setup folder is required and can be found at the following link Folder Structure. The setup folder contains:

  1. A root folder, named UBIK
  2. The UBIK root folder contains a child folder, named ARConfig
  3. The ARConfig contains two child folders named IDMarker and Markerless
    1. IDMarker folder contains the resources and configuration files needed for scanning an id marker
    2. Markerless folder contains the resources and configuration files needed for scanning a picture
  4. IDMarker and Markerless folder contain a res and a conf folder
    1. The res folder contains all the resources to be shown, like 3D objects, videos and links to UBIK® objects
    2. The conf folder contains all the configuration files

The following picture shows an exemplary sketch of the folder structure:

Folder structure.png


Action Mapping XML Setup

After the folder is configured, the next step is to validate the schema against an online validator. A solution can be found at Online XML Schema Validator. The schema used to validate against can be found inside the UBIK Folder and is named xsd_schema_validation.

The action mapping xml contains different actions such as GeometryAction, MovieAction and UBIKObjectAction.

  • The following xml shows an example configuration:
<TrackingActionMapping>
<GeometryAction TrackingID="1">
  <GeometryResource>
     <ResourcePath>pump.obj</ResourcePath>
     <Scale>100</Scale>
  </GeometryResource>
</GeometryAction>

<UBIKObjectAction TrackingID="2"/>
<GeometryAction TrackingID="5">
  <GeometryResource>
    <ResourcePath>pump.obj</ResourcePath>                                      
    <Scale>100</Scale>
    <RotationDegrees>
        <Z>90</Z>
     </RotationDegrees>
   </GeometryResource>
</GeometryAction>

<UBIKObjectAction TrackingID="6">
   <UBIK-UID>a5aa5a70-591f-11e3-949a-0800200c9a66</UBIK-UID>
</UBIKObjectAction>
       
</TrackingActionMapping>

All Action tags must specify a Tracking id, as an attribute. The Tracking id must exist in the tracking xml.

IC Attention.pngIf a texture is used for a geometry, the material (*.mtl file) and the texture (picture) must all exist in the same place in order for to have the 3D object displayed properly, Only the geometry has to be specified as a resource in the Action Mapping, though.

GeometryAction Tag

Inside the GeometryAction tag there can be a GeometryResource tag that defines the type of resource required for the GeometryAction.

GeometryResource Tag

The GeometryResource contains:

  1. Resource path: the resource path of the 3D object or video to be displayed.
  2. Scale: if specified, the 3D object will be scaled to this size.
  3. OffsetMillimeters: if specified, this value will be added to the position of the detected marker when displaying the 3D object. The offset can be defined along the X, Y and Z axis.
  4. RotationDegrees. if specified, the 3D object will be rotated by this value against the detected marker.
  • Resource path example. pump/pump.obj.
  • OffsetMillimeters example.
  <OffsetMillimeter>
    <X>10</X>
  </OffsetMillimeter>


MovieAction Tag

Inside the MovieAction tag there can be two possible resources defined, a MovieResource and a PlayButton resource.

MovieResource

The MovieResource Tag contains the same values as the GeometryResource except the rotation vector.

PlayButton Tag

The PlayButton Tag, if it is defined, contains the same values as the GeometryResource tag. Its purpose is to start a video, if the geometry is touched.

UBIKObjectAction Tag

The UBIKObjectAction tag should enable handling of the UBIK® objects when scanning either a picture or an id marker. The tag must contain the tracking id attribute and, optional, the ubik-uid tag.

Tracking Data XML

First step that one has to do is to configure the tracking data xml in order for Metaio to recognize scanned pictures and ids.
In case one needs to scan pictures, the location of the pictures must be provided also. In our case it's ../res/pic_name.(png, jpeg).
The id located in the tracking data xml should be the same as the order of the id in the list of ids.

  • Example. Below you can see an example where you need to configure the location of the image.
  <SensorCOS>
    <SensorCOSID>1</SensorCosID>
    <Parameters>
         <referenceImage widthMM="420" heightMM="297">../res/img_pic.png</referenceImage>
    </Parameters>
  </SensorCOS>

Usage

In order to use the previously configured xmls, one can use either the ID Marker activity or the Markerless activity.

ID Marker Activity

Having in mind the setup tracking ids, one can now scan id markers. For an id that has a 3d object mapped in the action xml one should see
a 3d object displayed onto the screen as in the next picture. If the id has a video object mapped in the action xml, one should see a video object onto the screen, depending on the existence of the play button. If the play button exist one should see first the 3d object, and after it's clicked, a video. If the play button doesn't exist, the movie will be shown
immediately.

Markerless Activity

The scenario is very similar with the id marker activity with the difference that instead of ids one must scan pictures.

Examples

With the existent configuration from the zip file one should see when scanning the first id or the first picture the following picture

Scanning id1.png

When scanning the second id or the second picture one should see the following:

Scanning id2.png

When scanning the sixth id using the Markerless activity one should see a play button and, if pressed a movie.
play button:

Scanning id3 play button.png

Movie:

Scanning id3 movie.png

When scanning the sixth id using the IdMarker Activity one should see a play button also and, if pressed a movie too.
Play button:

Scanning id6 play button.png

Movie:

Scanning id6 movie.png