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 –