AUGMENTED REALITY NETWORK OBSERVATORY (ARNO) Beta

Built upon the Pacific Research Platform (PRP) network, UC San Diego’s Clarke Center for Human Imagination and the Qualcomm Institute are developing server-side rendering tools and deployment of Unreal-based game experience to scale the Metaverse AR/VR hardware needs into a distributed system, enabling a campus-wide XR test bed as part of developing a global Augmented Reality Network Observatory (ARNO) networking visualization system. XRNOC represents the third generation of big data visualization, realized through persistent, procedurally rendered simulations produced from live data at global scale via Epic Game’s Unreal Engine.
"Nautilus is a HyperCluster for running containerized Big Data Applications. It is using Kubernetes for managing and scaling containerized applications and Rook for automating Ceph data services."
For more information on this pioneering research and how to support it, please contact us at info@imagination.ucsd.edu
How to run Holographic Remote Streaming on Windows
- Grab the latest x64-Release Package https://gitlab.nrp-nautilus.io/ar-noc/ARNoc-Alpha/-/releases
- Run the Holographic Remoting app on the Hololens and take note of the IP.
- Edit
HoloLensRemoting=<Hololens IP>
inside arnocMain_HLRemotingJoinServer.bat - Run batch script to join dedicated server and connect with Holographic Remoting.
How to get started developing (Windows)
Project Setup
-
Install Git and Git LFS
a. "You'll only need to run git lfs install once. Once initialized for your system, Git LFS will bootstrap itself automatically when you clone a repository containing Git LFS content." -
Install Visual Studio 2019
a. C++ profiling tools
b. C++ AddressSanitizer (optional)
c. Windows 10 SDK (10.0.18362 or Newer) -
RClone Initialization
a. Download and move arno-init.sh into an appropriate location—it will initialize the ARNOBeta repository in the same directory.
b. If you have access to the keys submodule (aka a member of the ARNO Team) run the command git submodule update --init --recursive to initialize the appropriate submodule. If not, you will have to enter the keys manually when running arno-init.sh.
c. Run arno-init.sh with administrator privileges.
d. Initialization
Windows
1) Open the start menu and run Git Bash as administrator.
2) Navigate to the arno-init.sh directory using “cd”.
3) Run “./arno-init.sh”.
macOS / Linux
1) Open a Terminal as administrator.
2) Navigate to the arno-init.sh directory using “cd”
3) Run “./arno-init.sh”.
e. Now, the script will install RClone on your system and set up a configuration to connect with ARNO’s S3 Bucket using the provided key file. If you do not have the key file, it will prompt you to input them manually.
f. Let the script run to completion and follow any instructions. You should now have a working repository for development and can proceed to the next step.
g. (note:) Rclone stores all blob files including uassets, this means if you only alter binary blobs like uassets standard git commit will show nothing to commit. You will need to run the empty commit command and then git push.
git commit --allow-empty -m "Empty-Commit"
git push -
Generate Visual Studio Project files.

-
Open arnocMain.sln in Visual Studio.
-
Set as Startup Project.

- Set toolbar to desired target
<Development Editor> <Platform (i.e Win64)>
. Right click arnocMain and Build.

- Open the arnocMain.uproject in Unreal Engine 5 editor.
Unreal Engine
- Getting Started with Unreal Engine
- Blueprint Learning Path
- User Interfaces with UMG Quickstart
- Cesium for Unreal Tutorials
ARNO Project Tutorials
- Using a Revit Survey Point geolocation with Cesium for Unreal
- Google Earth to Cesium ion to Cesium for Unreal workflow
- Snapping Revit Models onto 3D Tile Twin
Unreal Project Structure
A continuation of the ue4-data-viz, ue4-earth, and ue4-data-h2 repositories, integrated and extended to Unreal Engine 4.26. As of SP22 the project was migrated to UE5 and began to leverage the CollabViewer and HololensViewer Unreal Project templates to quickly bootstrap a foundation for Cross-Platform Desktop/VR/AR/PixelStreaming Multiplayer across Windows and Linux. Android and Mac are not supported. In addition, the Redpoint Games EOS plugin was chosen to expediate development of online services commonly found in multiplayer games. However, it's not yet implemented.
The Collab Viewer Templates join multiple people together in a shared experience of the same 3D content. They are intended to make it easier and quicker for your team to review and communicate about designs in realtime, so that you can identify problems and iterate on the content more efficiently.
The HoloLens Viewer Template is an adaptation of the Collab Viewer Template that works on the Microsoft HoloLens 2. You can use it to see your 3D content overlaid on your actual surroundings in the HoloLens viewer. You can also interact with your models, moving them around and annotating them in real-world space.
Connect players with their friends across all platforms and all stores using Epic’s free, shared account services. Players can log in using accounts from PlayStation, Xbox, Switch, Facebook, Google, Apple, Steam, and Epic.
Access free services including voice chat, achievements, matchmaking, live ops, and more. Game services support all platforms, all stores, and all identity services—including your own or Epic’s—on the engine of your choice.
Level: NOC (Multiplayer)
Purpose: Initial Environment to test Cross-Platform Multiplayer Framework along with UI/UX support for Desktop/VR/AR/PixelStreamer users. A Collaborative space that persistently updates several data visualization outlined below. The _withCesium derivative focus on integrating Project Anywhere XR into the NOC.

Level: Nautilus Observatory (Single Player)
Purpose: Interactive Netbox and Gradiant Graph Visualizations.

G2
Netbox
Cesium
Level: UCSD Exploration (Persistent Level)
Purpose: Create the Cesium Plugin Features (e.g World Terrain, Gamemode, Sunlight, etc). Works in Multiplayer.

For the ARNO Application a sublevel will generally encapsulate a Revit Datasmith Architectural Asset (e.g AtkinsonsHall, Geisel, SDSC, etc) that is streamed in/out as described by the "Georeferenced Sublevels" tutorial above. Within the Datasmith Model several Netbox Sites may be procedurally generated via Event BeginPlay
inside BP_NetboxGeneration_Cesium.
Sublevels: Sites (Streaming Sublevels)
Purpose: Modulerize Implementation of new Facilities and provide functionality for asynchronous level streaming during runtime.
Atkinson Hall (Sublevel)

San Diego Supercomputer Center (SDSC) (Sublevel)

Geisel Library (Sublevel)

Design and Innovation Building (Sublevel)

Franklin Antonio Hall (Sublevel)

Visual Arts Facility (Sublevel)

Mandeville Center (Sublevel)
