Author:

Anupam Chauhan
Supervisor:Prof. Gudrun Klinker
Advisor:Linda Rudolph (@ge29tuw)
Submission Date:[created]

Abstract

This master’s thesis aims to help students and enterprises by recommending suitable methodologies for developing a web browser-based Metaverse application based on project requirements. The implementation of cross-platform Metaverse applications is a long-discussed idea. Currently, Virtual Reality is the most popular technology for realizing Metaverse applications but they are not accessible to everyone. Making Metaverse applications available to web browsers can bring additional users and can increase an organization’s revenue. This work will also help students understand the recent standards of 3D web application development. They will be able to determine the technical requirements to learn and implement each technology. In addition, this research work establishes results based on the graphics performances across discussed tools. This will help students understand the performance and speed tradeoffs of Metaverse applications in each framework. They can research further in these areas in terms of optimization. Three frameworks have been compared in this work: Unity WebGL, Unity Furioos, and Babylon.js. These three frameworks are representatives of three different types of tools: cross-platform 3D game engines, web viewing services, and web browser-only game engines, respectively. If some framework is recommended for a given setting, other frameworks of the same category can also be considered suitable for the same purpose. For Unity WebGL advantages and disadvantages, other developers’ and researchers’ works were used. Unity Furioos and Babylon.js were tried and tested in detail in this research work by adapting an existing enterprise Metaverse application. As a fundamental step, a Metaverse application developed for the Meta Quest 2 Virtual Reality device was first adapted in terms of user interface and user experience to work precisely in flatscreen, non-immersive devices like laptops and tablets. This adapted application was then deployed Furioos and the Babylon engine to be tried and tested. In Furioos, this required uploading project files of the given application built by Unity for a standalone Windows device. First, all the essential features of the base Metaverse projects were verified in Furioos and they worked correctly. These features were establishing virtual meeting sessions, cross-platform collaboration, avatar configurators, animations, teleporters, multiplayer, etc. The only major pitfall was the failure of voice communication over the multiplayer framework. Then the application was tested for performance. The graphics quality was the same as the Unity standalone application but the frame per second dropped at times. Also, Furioos servers are busy at times and users have to wait in queue to be able to use the application. For the Babylon engine, all Metaverse essential features were tested progressively. The base project from Unity was not directly ported to the Babylon engine. The Pro version of the Unity toolkit in Babylon was used in this work. The different engine features were tested one by one: shaders, skybox, physics, meshes, colliders, rigid body, images, videos, animations, user interface, profiler, scripting, etc. All of them worked perfectly fine in the Babylon engine. The only thing that could not be tested in depth was the working of multiplayer. We cannot use the Unity user interface inside the Babylon engine. That needs to be created separately in a GUI editor provided by Babylon. Finally, the results obtained from research in Furioos and Babylon were compared with Unity WebGL results derived from others’ work. In conclusion, it is explained under which circumstances a given framework should be used for developing a browserbased Metaverse application. A Babylon.js engine-based application was also developed during this research work. A version of the application has been shared with Accenture with their branding and 3D assets. While the other version will be available for academic use.

Results/Implementation/Project Description

Conclusion

[ PDF (optional) ] 

[ Slides Kickoff/Final (optional)]