Skip to content
Snippets Groups Projects

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/

HCI Wuerzburg

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).

XR Hub Wuerzburg

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 and VST

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, and Advanced Options > Sorting Priority to 10
  • to throw shadows:
    • duplicate object as its own child object
    • name it "shadow"
    • add material shadow_throw_material