Modern game engines provide software developers with comprehensive toolsets for turning their visions into visually appealing 3D worlds. In addition to gaming industry, these frameworks can be used in creating visualizations for real-world processes. In this thesis, the concept of game engine based industrial process visualization is demonstrated in the context of automated container terminals. During the thesis project, a real-time 3D visualization tool was developed that can be used to visualize simulated terminals and actual systems. The work was commissioned by a Finnish client company, working in the cargo handling industry.
The thesis document comprises of a background part and a solution part. In the background part, the most important concepts of container terminal operations are presented. The focus is then moved to the software systems that are used in the automated terminals provided by the client company. The background part contains also a review of the existing 3D applications in the container handling industry and a literature survey of various other projects, which are utilizing game engines for simulation purposes.
For the practical part, a requirements analysis was performed for the visualization tool. The development platform was then chosen by comparing two of the most commonly used modern game engines: Unity and Unreal Engine. While both of the engines had their advantages and disadvantages, Unity was chosen as the development platform for several reasons: It allowed using the existing 3D models of the client company without doing any manual conversions to the files. The object model and scripting system of Unity was also regarded as intuitive and easy to use. Finally, the software framework used in Unity allowed easy integration with the software systems of the client company.
The implemented application is configured by using similar XML files that are used in GUI applications of actual terminals. It communicates with the terminal automation system by using the common communication platform. Machine positions and container events are acquired real-time from the automation system. It was also proven, that the application can be extended to send messages back to the automation system.
The solution was tested with a virtual container terminal, including 10,000 containers and 47 container handling machines. It was confirmed, that the application is able to handle large amount of concurrent movement without problems. However, the vast amount of objects in the terminal makes the visualization of the whole area a challenging task for a conventional PC. Further graphical optimization is required in order to provide sufficient frame rate and smooth animation in all situations