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 –