Page 77 - Kaleidoscope Academic Conference Proceedings 2022
P. 77

Extended reality – How to boost quality of experience and interoperability




                                                              In addition to the MT and AR content, the MT dataset must
                                                              also be uploaded.  The Streaming Assets files .xml and .dat
                                                              contain the 3D model to be tracked and the Guide View. Both
                                                              files are also uploaded to the server.  Afterwards, they can be
                                                              deleted  from  the  project  in  the  Vuforia  folder  inside  the
                                                              Streaming Assets.  The other files can remain in the project
                                                              for direct test of the application in the Unity Editor or they
                                                              can also be removed.  All files can now be accessed by the
                                                              URL e.g. url.com/filename.

                                                              After  successfully  uploading  all  files,  the  structure  for
                                                              downloading them to the application on  runtime must be
                                                              created. In the input scene, a unique serial number is entered
                                                              by the user. This indicates which variant must be downloaded.
                    Figure 3 – AR orchestration model         While the dataset files need to be downloaded, before Vuforia
                                                              is initialized (e.g. before the AR scene), all MTs with AR
           Figure  3  illustrates an AR orchestration  model  for the   content are directly loaded by the AR scenes.  The dataset  is
           implementation with AssetBundles. The orchestration model   stored locally on the device and the AssetBundles are  just
           reveals three levels. On the user level the variant is selected,   temporarily  available  and  are  unloaded  when  exiting  the
           and the application is executed.  The server level stores all   scene.  The dataset files are loaded using UnityWebRequest.
           MT dataset files and AssetBundles and is responsible for the   If those files already exist on the device, they are overwritten.
           mapping, which is simply done by file names.  The product   During development, it turned out that during runtime, files
           development level is where the CAD files are made for AR   cannot be downloaded to the Streaming Assets folder at iOS.
           targets.                                           Therefore, the dataset files are stored with the persistent data
                                                              path, which points to the user library folder, in which data
           It is also possible to only store the MT with AR content   can be stored that wants to be kept between runs.
           remotely, and the dataset remains in the application.  This
           makes sense when the model is always the same, but the  AR   To load the AssetBundles at runtime, an empty MT object
           content changes frequently.  Similarly, for a smaller   needs to be created in every AR scene, which later gets
           application size with larger data size, only the MT with AR   assigned by the downloaded AssetBundle.
           content can remain in the application and the dataset is loaded
           dynamically.                                       5.3   Modularization of variants

           5.2   Implementation                               For some use cases, many variants just slightly differ from
                                                              each other.  Car variant 1, for example, has four doors, a
           The structure of the application is divided into Input scene,   central locking system and a radio.  On the other hand, Car
           Loading scene and an AR scene. In the Input scene, the variant   variant 2 also has 4 doors and a radio but manual locking. If
           is selected while in the Loading scene, the corresponding   both variants need to be augmented, most of the AR content
           dataset is downloaded from a server, and in the AR scene, the   will be the same and it will be redundant to create the AR
           AssetBundle is loaded and afterwards detected, tracked and   content for the radio and the four doors twice.  To spin this
           augmented.                                         further, if for example the AR content for the radio changes,
                                                              all variants need to be updated manually and in the worst case,
           All models are made into MTs and provided with AR content   this affects a large number of models. For this reason, we have
           according to the generic  approach described above.   considered  disassembling all variants into their individual
           Afterwards all scenes are created.  To upload the MTs with AR   components.  In that way, we do not have the whole car
           content to the server, they have to be made to AssetBundles.   anymore, but all its sub-models such as the radio, doors, central
           Since AssetBundles are not included in Unity by default, an   locking system and manual locking.  The variants (different
           extra C#-script must be added to the editor folder.  Each  MT   car models) are no longer loaded as a whole, but the individual
           first needs to be made to a Prefab, which is a Unity format   components (radio sub-model, etc.)  are loaded on demand.
           and  acts  like  a  template.  Then  it  is  converted  to  an
           AssetBundle. Two separate bundles for Android and iOS are   We  have  expanded  the  above-described framework  for
           automatically created, because they differ for each platform.   variants by the components and again abstractly implemented
           All AssetBundles are stored in the project folder and can be   this with the train models.  Technically, no new knowledge
           uploaded to a server from there. For demonstration purposes,   is needed, but the architecture of the application slightly
           a domain was bought, and a Secure File Transfer Protocol   changes.  A train variant consists of three components (e.g.
           (SFTP) access created.  A server and client software can be   locomotive, wagon 1, wagon 2 and wagon 3). When the user
           used to connect to the server and execute file transfers. After   enters the application, the train variant number is entered.  A
           the upload, all files can be deleted in the project or remain in   database or comparable system stores the information  on
           there to update them later.                        which train number contains which components.  In the





                                                          – 31 –
   72   73   74   75   76   77   78   79   80   81   82