Blog: Why guess? Learn how augmented reality with 3D objects allows you to try before you buy!

Mechanical reality applicaiton with augmented reality

Have you ever asked yourself, wouldn’t it be cool if I had a smartphone application that would show me how a piece of equipment will look on my shop floor before buying? We’re proud to introduce you to an augmented reality iOS application developed by DB Best. This application displays a selected 3D model of production equipment on the screen of iPhone or iPad, adding it to the live camera picture. So, you can explore, how the machinery will fit into your production facilities after the installation. Also, you can discover the selected production equipment in details by zooming and rotating the model on the screen of your smartphone or tablet.

Here’s what our customer had to share:

I researched three companies when making a decision of who I should choose to develop and design my app, Mechanical Reality. DB Best included all the necessary information for me to make a decision and presented the information in a timely manner.  Julia’s constant communication between myself and her team made it really easy to make a decision to use DB Best.
DB Best finished in the requested deadline, while working closely with me to meet my request.
I will continue to use DB Best for existing and future projects. They went beyond my needs!

Watch the following video to learn more about the application features.

DB Best can create a similar application for you under a cost-effective and high-reliable project. We can customize an augmented reality iOS app considering your requirements in a very short time frame. Contact us now to learn how we can deliver an outstanding mobile product to expand your business. Find more details about this cool application below.

Main application features

One of our customers sells a variety of production equipment. In order to increase sales, he decided to create a mobile application to demonstrate the 3D models of these objects on smartphone’s screen.

Generally speaking, the Mechanical Reality application consists of 2 logical sections. The first one allows downloading of 3D models into the internal memory of the mobile device. The user selects the object he’s interested in and downloads it. The second and the main one actually serves for displaying the 3D model in the augmented reality (AR) mode. More on that in a moment, and right now let’s take a closer look at the first section of the application since we’ve used a number of interesting solutions here.

Get it!

We placed the archive files with 3D models in the cloud storage because they are too big to include them in the application. The users can download the models they want to explore when needed. We decided to use ZIP-archives because they can dramatically reduce the file size of 3D models. Also, when one 3D model consists of 2 or more files, the user still needs to download just one file.

We use the QR (short for Quick Response) code scanner to save the 3D models in the internal memory of your iPhone. QR codes are gaining popularity in the past years, and they are regularly used in advertising, newspapers, books or even food menus. You don’t need to input long and awkward-looking links to download the 3D models from the Internet. Simply point the smartphone’s camera to the QR code, and the app will automatically download the 3D model.

Here’s how it works. The application analyzes the live camera stream to recognize the QR code (we use the basic capabilities of AV Foundation framework to do so). The download link is encrypted in the QR code. All we need to do is just to extract the URL from the QR code. Then the app uses this link to download the archive file from the cloud storage. We use the Unzip library to extract the OBJ-files with 3D models from the archive. Actually, the application supports the 3D models in other formats, such as .dae.

Please note that the Mechanical Reality application saves the download history. Thus, you can use the links from the history to download 3D models, without the need to scan QR code once again.

See it!

So, we’ve got a 3D model file stored in the iPhone’s memory. Now the Mechanical Reality application can access it and display it on the screen. This is not an easy task since we’re talking about demonstrating the 3-dimensional image, not a plain 2D picture.

Mechanical Reality app 3-d model

We use the MDLAsset container to convert the 3D model into the appropriate format and make it compatible for displaying on the iPhone’s screen.

Now, when the 3D model is ready, we should consider the background image. We can use the solid color fill or choose the live picture from the camera. The first option is good enough to explore the details of the 3D model, but the second one is a much more interesting solution. This distinguishes a moderate 3D viewer from a cool augmented reality application.

Control it!

You can use the traditional multitouch gestures to control the 3D model’s position on the screen. The Mechanical Reality application uses the standard Gesture Recognizer class of UIKit framework to detect the user’s commands on the touchscreen.

Actually, you can rotate the 3D model image and zoom it. Users can rotate objects on the screen in free mode or with respect to the pivot point. In this case the 3D model is pinned to screen and can be rotated only 90 degrees. Zooming picture to the maximum level allows exploring the tiniest details of production equipment on the screen of your mobile device just as if you were standing close to it.

Application structure

Now let’s consider the structure of this amazing application. On the diagram below you can see the typical application workflow. Actually, the Mechanical Reality application may have several entry points. For example, you can use it just to display the 3D model, without the need to download it.

augmented reality app structure

The key element here is the AV Foundation framework. It processes the original image from smartphone’s camera and detects the QR codes on it. Also, the AV Foundation framework provides the live video stream for the AR mode. The MDLAsset container and the SceneKit framework are responsible for creating the 3D image, which is later displayed on the screen. The controls are pretty much standard, and the very important aspect here is the rendering speed. The video above shows that everything works fast enough, and there is no time lag when you’re rotating or zooming the 3D model.

Do it even better

The Mechanical Reality application may be improved even more, though. Now you can’t set the actual dimensions of the background (and the app can’t determine them either). So, you don’t have a chance to see the model on the screen compared relatively to the size of the room, where you’re planning to place it.

Also, the application doesn’t use the gyroscope data to track the movement of the smartphone. For example, you cannot walk around the object to explore it from different angles. This valuable feature is implemented in our cool augmented & virtual reality demo application.

As you can see, we can improve this powerful 3D augmented reality solution to make it even better.


We’ve used open-source solutions to build the Mechanical Reality application. They are totally free, lightning-fast and easily customizable for any business needs.

We’ve created this application from scratch and know how it all works: from the smartphone’s camera to its screen. The application processes these images in real-time. Thus the users can see the amazing result on the screen of the mobile device, and you can witness the jaw-dropping effect, which the application delivers to the users.

Discover how immersive 3D applications can improve your business: contact us to learn how we can customize the proven solutions just for you!

Share this...
Share on Facebook
Tweet about this on Twitter
Share on LinkedIn