A Virtualized Augmented Reality Simulation for Exploring Perceptual Incongruencies
This repository contains the source code of our virtualized augmented reality simulation. Please feel free to contact us!
The publication can be found here: https://doi.org/10.1145/3611659.3617227
The source code can be found here: https://go.uniwue.de/virtualized-ar-simulation
Abstract
When blending virtual and physical content, certain incongruencies emerge from hardware limitations, inaccurate tracking, or different appearances of virtual and physical content. They restrain us from perceiving virtual and physical content as one experience. Hence, it is crucial to investigate these issues to determine how they influence our experience. We present a virtualized augmented reality simulation that can systematically examine single incongruencies or different configurations.
The figure shows different views of our system ((a) VR view (b) VST AR view (c) OST AR view). In the VST AR view, we induced noise, a lower resolution, and lens distortion; in the OST AR view, we limited the field of view.
Licensing
We licensed our application under the MIT-License. This license applies to the files and components located in the folder unity-project/Assets/VirtualizedARSimulation
, and does not cover any third-party software located in other directories.
This license applies only to the files and components located in the directory folder "unity-project/Assets/VirtualizedARSimulation", and does not cover any third-party software located in other directories. The third-party software included in the directory "unity-project/Assets/Oculus" and "unity-project/Assets/RealityStackIO" are subject to their own respective licenses, which can be found alongside the software in the respective directory.
Reference
When using our simulation please reference
@inproceedings{westermeier2023virtualarsimulation,
title = {A Virtualized Augmented Reality Simulation for Exploring Perceptual Incongruencies},
author = {Westermeier, Franziska and Brübach, Larissa and Wienrich, Carolin and Latoschik, Marc Erich},
booktitle = {29th ACM Symposium on Virtual Reality Software and Technology},
year = {2023},
series = {VRST '23},
pages = {1-2},
address = {Christchurch, NZ},
publisher = {Association for Computing Machinery},
url = {https://doi.org/10.1145/3611659.3617227}
}
Institution
University of Wuerzburg
Chair for Human-Computer Interaction
Prof. Dr. Marc Erich Latoschik
https://hci.uni-wuerzburg.de/
Corresponding Person
Franziska Westermeier
franziska.westermeier@uni-wuerzburg.de
http://hci.uni-wuerzburg.de/people/franziska-westermeier/
Other References and Sources
This publication uses the Reality Stack I/O (RSIO) framework. It enhances cross-device and cross-reality compatibility by supporting a wide range of head-mounted displays (HMDs), various controllers, and hand-tracking interaction in Virtual, Augmented, and Mixed Reality (VR, AR, MR: XR for short). The RSIO framework is licensed under the MIT-License. You can find the readme here.
Florian Kern and Marc Erich Latoschik. 2023. Reality Stack I/O: A Versatile and Modular Framework for Simplifying and Unifying XR Applications and Research. In 2023
IEEE International Symposium on Mixed and Augmented Reality Adjunct (ISMAR-Adjunct). IEEE Computer Society, Sydney, Australia.
Publication: TODO
Source Code: https://go.uniwue.de/realitystack-io
Furthermore, the Oculus XR Plugin (v3.3.0) is used. You may want to look here for further information on the licensing.
Funding
This research has been funded by the Bavarian State Ministry For Digital Affairs in the project XR Hub (project number A5-3822-2-16).
Implementation
- the appication uses PC VR and was tested with a Meta Quest Pro with Oculus Link, and a VR workstation (Intel i9-11900K CPU, NVIDIA GeForce RTX 3080 GPU, 64 GB RAM)
How to setup
- see scene "example" as an example (
Assets
>VirtualizedARSimulation
>Scenes
>example.unity
) - add the XR prefab to the scene (
Assets
>VirtualizedARSimulation
>Prefabs
>XR.prefab
) - find the CongruenceController game object and the CongruenceController.cs script in the hierarchy
- tick/untick manipulations
- switch between
OST
andVST
How to add new objects
Environmental objects
- add desired object to scene
- put it below "Room" parent
- assign layer "VST
Virtual overlay objects
- add desired object to scene
- put it below "VirtualOverlay" parent object
- set material to
Transparent
, andAdvanced Options
>Sorting Priority
to 10 - to throw shadows:
- duplicate object as its own child object
- name it "shadow"
- add material
shadow_throw_material