SAP SE is a German multinational software corporation. SAP has over 400,000 customers and over 102,400 employees worldwide. SAP develops software for many industries, including solutions for planning and monitoring construction operations.
SAP uses a demo stand consisting of a screen and an interactive sandbox with kinetic sand. The screen shows how the project is planned and carried out in the SAP S4 / HANA system. And in the interactive sandbox one can see the construction of an oil production well. This helps the potential clients to visualize the entire process and align the construction steps with IT tools.
At first, SAP used a 2D image. The picture was projected onto the sandbox from above by a powerful projector. But the problem was that 2D did not allow showing the processes in detail. The flat picture did not visualize how each element is being built: how the site is backfilled, the pumping units are installed, the pipeline is laid to the oil refinery.
To achieve better visualization, SAP decided to develop an augmented reality (AR) application. With this task, they turned to Surf.
Challenges and solutions
To transfer a 2D SAP stand to an AR application with game elements
The client attached much importance to using 3D to show how the construction runs, what is changed or added at each prod. SAP also had its own 3D models to be built into the app. This limited the choice of technology. For example, exporting models to Apple’s ARkit platform for AR development turned out to be very difficult and time-consuming, so the option was rejected.
In addition, there were a lot of game elements to be added to the app. For example, for the user to be able to use gestures to change the location of power lines or choose a place for the plant construction. Therefore, for its implementation, we chose the Unity game engine.
Unity is a cross-platform computer game development environment. It allows creating applications that run on over 25 different platforms.
To make all objects in the application look realistic
To ensure this, many issues had to be solved concerning rendering surfaces and materials and some of them — empirically.
For example, it was not immediately possible to achieve a realistic look of surfaces and materials. At some point, all the images in the application turned pink. These problems were solved by the settings of the renderer, which took a long time to select.
A renderer is a mechanism that converts 3D models into an image.
The app was developed for iOS devices with a lidar. The lidar builds a grid where AR objects are attached. In the course of development, we encountered an interesting feature: the grid-fixed objects began to fall “under the ground”. The problem turned out to be in the lidar resolution. We solved it by “lifting” objects in the virtual space by three centimeters above the ground. The height was chosen empirically. If the objects are placed lower, the value is less than the error value, and they fall through. If you raise objects 10 cm, it looks unrealistic.
To optimize the app for iOS devices
The client wanted the app to be optimized for iPhone and iPad. For this purpose, we had to simplify the 3D models so that the application can process them faster.
The most challenging task was to optimize the application for the latest iPhone 12 pro, so every new feature was first tested with it.
More about project
To begin with, we developed a trial version of the app to run all 3D models. This was the prod when we detected eventual problems with visualization and checked how the lidar functions with Unity. As a result, we found and solved many problems at the very start.
Finally, the client received the AR application that allows you to see the virtual construction site in front of your eyes. The client can choose the place where to put the production well, lay power lines and oil pipelines.
In the app an oil production well construction is divided into prods
- Initial prod of construction
- Laying of power lines
- Power supply connection and completion of construction
- Oil pipeline laying.
To make it more convenient for the clients, we provided for the possibility to switch between prods, to skip them, or return and repeat again. Separate objects can be seen in more detail, as we added a zoom to the application.
Senior Business Solutions Architect