College of Engineering Unit:
Our project partner, Dr. Joseph Louis, is a Civil and Construction Engineering professor, who focuses on simulation and automation within construction operations. His classes focus on teaching heavy civil operation management. Dr. Louis uses examples in his lectures to instruct his students on various problems. In real life, these problems are intensely physical, focusing on the movements of heavy machinery. However, in class, these problems are introduced as text prompts. This forms a disconnect between what these students will be doing in their jobs, and what the students learn in class. Additionally, many people don’t learn as well from text, and need a physical representation to understand the problem. To remedy this, we wanted to put the problems into an easy to use 3D environment, that students could access from their smartphones, laptops, tablets, and more. Such as system would need intuitive controls and would need to be optimized for performance across a variety of platforms and devices. Additionally, a server system would need to manage these scenes and make it easy for him to upload, remove, and get QR codes for each of the scenes.
A core part of the project was the creation of several example scenes. This was done both to understand the necessary setup to deploy scenes with Unity3D, as well as load-test the server with accurate scenes. While Dr. Louis is working with other teams to make scenes from text prompts, we wanted to determine what rules those scenes needed to follow. We created 3 example scenes. These were done with a variety of goals in mind. Our project partner communicated to us that he wanted at least 20 moving parts in a scene, so we made a scene to simulate that situation. Additionally, our project partner wanted us to make the scenes work on a variety of platforms. This was done by researching and implementing a new scene format, as well as making our UI be scaled on different platforms.
The second core part of this project was to find some solution to host the scenes. Our project partner was not sure what would work best for him. Initially, we started hosting scenes with a Docker container, using Nginx to host scenes. This was done to make deployment easier, as well as give us a fairly accurate testing environment, regardless of what specific platform we chose. This allowed us to resolve several issues with the WebGL export in Unity3D. In the end, our project partner was lucky enough to already have a web server where he hosted his professional page. We were able to modify our files to run on his server, reducing overhead and streamlining deployment significantly.