Page 76 - Kaleidoscope Academic Conference Proceedings 2022
P. 76

2022 ITU Kaleidoscope Academic Conference




           webcam can be connected and the project be played in the   should work for all the variants.  This led  to a multi-variant
           editor, or the project is executed on a mobile device.   application  with  a  number  of  variants which can amount
                                                              to several hundred MTs because each single variant is, in
           Executing the project for mobile devices is done within the   principle, a different 3D model that needs to be augmented.
           build settings.  Therefore, a camera usage description must   The  storage  of  each  MT  locally  on  the  end  device  is  a
           be added in the player settings.  For Android, the scripting   challenging issue which can result in a huge application size
           backend needs to be changed from from ”Mono Scripting”   and  poor  performance.  Moreover,  in  many  situations,  a
           to ”IL2CPP”  and  both  ”ARMv7”  and  ”ARM64”      multi-variant product is developed while only one variant is
           architectures need to be activated in addition due to missing   usually needed by the user.  The idea behind our framework
           ARCore support for 32-bit apps on 64-bit devices from   is to have all variants stored remotely and at usage, when the
           Google.  For iOS, an .xcodeproj file is created which can be   user enters the variant number in the application, only the
           distributed  to a device via XCode.  For Android, an .apk file   matching variant is downloaded.  To visualize the different
           is created which can be directly transferred to the device.   variants, a previously used locomotive is extended with three
                                                              wagons representing other variants.  However, as explained
           Step 6:  The images in Figure  2  show the result on an   above, when using the application, a user must select a
           Android-device with a 12 MP camera. When the application   variant, such as wagon 1 for example, and only the 3D model
           is opened, the guide view appears and the locomotive can be   associated to the variant is downloaded to the application.
           tracked. After successful tracking, the guide view disappears,
           the wheels are highlighted in red, and a 3D text is displayed.   For our use case, we used a server for remote storage, but any
           For this artifact we only tested the tracking quality which was   other location and computing infrastructure can be used. The
           good.                                              remote storing of the variants consists of storing on a remote
                                                              server or suitable computing infrastructure the MT with AR
                                                              content and its corresponding dataset.  Both are uploaded to
                                                              the server and later downloaded on demand, during runtime,
                                                              to the application. To upload the MT with AR content to the
                                                              server, it must be converted into a suitable file format.  For
                                                              this, Unity offers the so-called AssetBundles for downloading
                                                              non-code Assets at runtime. The uploading of the MT dataset
                                                              to the server requires checking closely its structure.  An MT
                                                              dataset contains two kinds of files:  i) dataset information
                                                              files  imported  in  the  Unity  Editor  folder  and  ii)  a  .xml
                                                              and .dat file containing the 3D model, which are imported to
                                                              the Streaming Assets folder in  Unity.  Files in the  Editor
                                                              folder are only for development in Unity and not available in
                                                              builds at runtime. The Streaming Assets folder contains files
                                                              that are placed in the normal file system of the target device
                                                              and can be accessed via a path name.


                                                              If all files are remotely stored on the server, they  must
                                                              somehow be downloaded from the server after a request from
                Figure 2 – Outcome of the application with a   the application. The mapping of the files can simply be done
                             locomotive MT                    by the file names. AssetBundles can be directly downloaded
                                                              to the application, or they can be loaded as an addressable
                 5.  FRAMEWORK FOR HANDLING THE               asset. Here the asset is assigned an address via which it can be
                        COMPLEXITY OF VARIANTS                loaded.  Furthermore, there is another approach called cloud
                                                              content delivery which is used for variants that are frequently
           The design of a framework for handling the complexity of   updated with their previous versions getting outdated. Using
           variants is presented in this section, followed by its basic   cloud content delivery, the assets are directly stored in a cloud
           implementation. The section concludes with a more efficient   database and the current version is marked.  This service is
           implementation of the variants.                    only free for the first 50 GB of bandwidth every month.

           5.1   Design

           A multi-variant product is a product with multiple variants
           which can arise from different situations. For our augmented
           car, we started to augment  one single car model but, in
           practice, the number of models should not be limited to  one.
           This is because the car can  have several model series or
           different customizations, such as an upgrade on the sunroof,
           the  rear  trunk  or  other  car  features.  An AR application





                                                          – 30 –
   71   72   73   74   75   76   77   78   79   80   81