DinoVR vs. Unity for CollaborativePoint Cloud Data Visualization


By: Mandy He (2022)

For my in-class activity, I essentially visualized the same set of data using DinoVR and Unity3D + XR Interaction Toolkit + Normcore. Below I will describe the pros and cons of using each for point cloud visualization. (See my in-class activity for downloadable links and instructions on how to see each experience in a Quest 2 headset).

DinoVR

(David and Ross screenshot)

Unity + XR Interaction Toolkit + Normcore

(Beatrice's screenshot)

Developer Comparison:

Setup Requirements

Winner: Unity

Unity can be run from Windows, MacOS, and Linux. Potentially the most irritating part would be enabling developer mode for your Oculus Quest 2. To run the .apk built from Unity on your headset, you would only need to build the .apk onto your headset once.

DinoVR only runs on Windows. Also, if you want to actually rebuild the project to do any actual development beyond replacing your data and editing the config file (see Using DinoVR for Point Cloud Data), you would need to download MinVR and Visual Studio Editor (or a similar IDE). To run DinoVR on your headset, you would need to install Steam, SteamVR and Virtual Desktop.

Ease of Use

Winner: Depends


Unity + XR Interaction Toolkit + Normcore: 

Having never used unity before,  I followed all tutorials at a snail's pace and had to do a lot of research whenever anything broke and I had no idea why. I was eventually able to get the data visualization to display with minor collaboration. However, when at one point I had to restart from scratch, I completed essentially what I had done in 3 days in the span of an hour and a half. TLDR: Unity + XR Interaction Toolkit + Normcore might be easier to use if you have had experience with VR development using Unity or maybe even just experience with Unity itself.


DinoVR:

At first, when attempting to use DinoVR to visualize my data, I thought that I had to rebuild the project in order to replace the data and references to the data successfully. Installing MinVR and ensuring that it worked was a pain. Even after realizing I could just edit files from the .zip file in the DinoVR Tutorial , I needed guidance to know how to format the data, which files to change, etc.. DinoVR is quite niche and lacks documentation. Hence, it's very easy to get stuck and helpless when working with it. Unlike Unity where there are likely many sources online that could potentially help you debug issues, DinoVR has no such sources online.


User Experience Comparison:

Here are the results of a survey people in class filled out after completing my in-class activity:

Summary

Winner: Depends

Setting up: Users had trouble with both. 

Lag:  DinoVR wins. The Unity .apk definitely had more lag.

Collaboration Features: Normcore (Unity) wins.


Conclusion: DinoVR is certainly good at what it was made to do: visualizing large sets of point cloud data with some collaboration. However, Unity + XR Interaction Toolkit + Normcore has some great potential for incorporating more intuitive user controls and navigation, more deliberate color maps, and more engaging collaboration features. In other words, in terms of customization, Unity + XR Interaction Toolkit + Normcore is definitely work taking a shot at.

Sidenote: Why DinoVR vs Unity?

Originally, I wanted to compare Unity+IATK toolkit, Virtualitics and D6VR since they were made for data visualization. However,  I soon realized that IATK only ran on Windows and I had a Mac, D6VR never got back to me after I requested a demo in order to use their software, and a classmate had issues with the collaboration aspect of Virtualitics due to licensing issues.

Having never done VR development before this course, I wanted to try a software that was open source (since I wanted a wide array of free tutorials), heavily documented and something that could be used on a Mac since I would lose access to my Windows virtual machine once this course ended. Hence, I stuck with Unity. After realizing that DinoVR was essentially made for point cloud visualizations, I decided that it would be interesting to compare both my experience "developing" with the two software, as well as general user experience seeing the same visualization in both software.