We took the opportunity to give the studio a spring clean, because given our project pipeline, it might be the only chance we get to freshen the place up. It’s been a week of increasing interest in Augmented Reality, both from clients and the team, along with the full capabilities of what it and we have to offer. This was our week.

Toby – Back in the office

It’s great to be back in the office, despite all the cleaning, tidying, and hanging of new blinds, signs, and artwork needed to brighten the place up.

As you’ll see from the team, there’s a lot going on as we work hard to get client solutions completed, but we’re also working “On” our business. We’re developing new propositions in Augmented Reality and live streaming, as well as how we better present ourselves through our videography and website.

Josh – Programme Manager

My week mostly involved Incident Management, for a client I hasten to add. We made storyboards for the first four of seven scenarios:

  • Animals on the Network: A different take on our other “Animals on the Network” Project – this one concerns how to implement traffic management and ensure the safety of the drivers around an incident, in the context of loose animals – in this case, cows.
  • Network Security: Involves the handling of a suspicious vehicle parked near heavy infrastructure, like an overbridge and commercial buildings.
  • RTC & First Aid: Road traffic collision involving a motorcycle and an unresponsive driver, in a live lane of motorway traffic. This scenario considers what traffic management controls a Traffic Officer should use to secure a scene and deliver the required First Aid.
  • Statutory Recovery and the Clearing of Vehicles: This scenario is about work instructions associated with operating non-standard vehicles, like hybrid electric cars in the context of a road traffic collision.

Traffic Officer VR (Customer Experience) – we completed the design document for the fifth and final (!) scenario, which deals with an escalating family commotion. It’s common for vehicles to pull over for events not related to car troubles and when Traffic Officers encounter such a situation, they need to know how to help and not aggravate an already stressful situation.

Cloud streaming; more conversations with different cloud virtualisation providers, ahead of a test on Monday – wouldn’t be surprised if the best solution is to use none of them.

Cat – Lead Programmer

My main project this week has been establishing a continuous integration pipeline for web-based projects. Our main, desktop-targeted projects, has had an established workflow for some time to define how we develop, test and finally integrate features.

This has been crucial to expanding our capacity in terms of how many projects we can handle at once and ensuring a certain level of quality, while also freeing up developer time to work on development, instead of waiting for builds.

However, we are now looking at taking on projects targeted at web and mobile platforms. Our existing pipeline isn’t compatible with these platforms, since the mechanisms by which something is made available differs between them.

For a Windows-targeted solution it is simple to download and run an executable, but this isn’t the case for a website or mobile app – particularly not on iOS!

Having some experience with web development, I implemented a pipeline which would work similarly to our desktop projects from the developers’ perspective, but deploy versions of the project to a secure development server instead.

With this method we can ensure the latest development version of a project is always available in the same place, as well as being more similar to the finished product than it would be, were we testing it by downloading and opening the files locally.

This pipeline can be extended to incorporate a ‘release’ stage, where using the same techniques we can deploy a website to its final destination automatically, which hopefully will save us lots of headaches in the future!

Moving forward, the web pipeline needs to be extended to include Unity WebGL projects as they involve a Unity build stage, as well as deployment to a development server.

I am now also starting to work on the mobile pipelines. When developing my mobile game testing, building and deploying the project was by far the most tedious part, so I know what needs to be improved here!

Sergio – Programmer

For the past week we have been continuing the research and development needed for our internal project, to evaluate Web and Standalone app Augmented Reality (AR) capabilities.

Web AR is without a doubt, the most accessible experience that a user can have without installing an app on their device. Tests were made with high-poly models and complex character animations and thus far the results have been impressive.

However, the technology has some major limitations compared to app-based AR. Now the most stable library provides two ways of tracking and anchoring a position in the world: Image tracking and Marker tracking.

Image Tracking involves training a computer algorithm to recognize a complex high-resolution image which it then identifies in the real world. This technique requires modern mobile hardware to process the images in real-time.

Marker tracking is similar, but does not require a training procedure and depends on a specific type of pattern that allows general consumer-type cameras to identify and track in real-time.

Markers are known to be more stable than image tracking and are split in two types: Template Markers and Barcode Markers.

Figure 1- Barcode Marker (Binary code which encodes a number – Above image is representing 5)

Figure 2 – Template Marker (Can be customised inside white area but require a black border)

While there is no object tracking or surface tracking in Web AR yet, the advantages of its web accessibility allows the users to preview information and experience simple interactions on the fly.

A potential use, could be that a client is interested in previewing a construction site model by capturing a marker and if they want more detailed and complex behaviours, they could click and access the download page for a complete experience in an app.

One of our remaining tasks is understanding the limitations of scene setups and complex geometry interactions in Web AR which we will be tackling next week – watch this space.

Stefano – 3D Artist

This week I spent my time mostly merging the files that I have produced over the last weeks, into the various ongoing projects – I’ve been reaping the rewards of my work.

Then I implemented the automatic animation for one of our characters, but this time I excluded the head constraint and let it move freely like in the original animation, since it was already near-perfect.

After that I finished all the latest tweaks for sounds, materials, animations and all that’s related to the VR and AR projects I was involved with, and I started another very interesting task that has nothing to do with them.

I came back once again to one of my previous jobs and a true passion of mine; videomaking. I started having a look at our equipment and studied some enhancements we can introduce to considerably boost the quality of the final product, in preparation for the action. Can’t wait to work on this task!

Slava – Lead 3D Artist

One of our ongoing projects is development of augmented reality (AR) applications. A new stage of this process requires implementation of various 3D models, so we decided to convert an existing model of a Traffic Officer vehicle for use in AR.

I spent a couple of days on this challenging task, which required me to combine all the parts, body of the car, interior, headlights, wheels etc., together into a single mesh. As AR applications do not support multi-materials, I baked all the different textures into a single one.

To avoid textures overlapping, I rearranged all UV coordinates of the original model to fit a single square, as it’s important to save space and keep good pixel density on important parts. Then, as a final touch, I baked an occlusion map to emphasise the geometry.

The second stage of this task was exporting the model into a specific AR format, which posed quite a problem, as there is no direct method to export a model from 3ds Max. I tried some third-party exporters and converters, but they failed to do the job properly.

In the typical MXTreality way, I eventually used Blender as an intermediate program to convert my FBX file into an AR compatible format. I also used Substance painter as a tool for conversion of textures, before using online converter Babylon to apply those textures.

I spent some time trying to make transparent windows, which was not straightforward. To solve this, I had to detach them from the initial model, but eventually I was able to deliver a really great result, as always!

Another task I worked on, was the animation of the hazard lights of the Traffic Officer vehicles in our VR project. A reference video from our client, Highways England, helped because the vehicles use a specific pattern when it’s necessary to completely stop the traffic.

This pattern requires a complicated pattern of lights, which is quite difficult to follow, so I opened the reference file in Adobe Premier and viewed it frame by frame to allow me to reproduce this animation in Unity.

 

Kyung-Min – 3D Generalist

With the COVID numbers in decline, a sure sign that things are returning to normal, I found myself continuing work on concepts for our Holodeck project, only now refining these into set projects we will build.

Many ideas were discussed and shared by the team, with a lot of useful one to one sessions bringing out the team’s real creativity. Everything from a pirates adventure to an ice-cream van and helping with a museum heist, the ideas for vast and epic adventures came thick and fast.

We decided to begin with a series of mini-games that would replace trust exercises in corporate events, allowing us to introduce users to wonder at an early stage, whilst proving a valuable testing ground to build up to bigger concepts in the future.

To create a style that could be reused and refitted quickly for different types of games and experiences, I began by looking at classic games like Ico, where huge scenery and atmosphere of the games took precedence. This style of design worked perfectly for VR and its limitations, while also catering to its strengths.

Along with conceptualising, I continued to study game design principles and after a discussion with Josh, I considered the important questions about the fun in these concepts. I found myself comparing the 4 principle designs to fun and how they paired with the different types of people in games or simulations.

My working week ended short as I was taking a holiday to deal with a few personal tasks. It’s strange to be away and yet feel a strong urge to be back at work, as the thought of missing out on things in the workplace are as exciting to me as any holiday.

To work for a company where holidays feel more of an absence from what you love is strange, but that’s just another day at MXTreality for me.

Jordi Caballol – Programmer

This week time has been devoted to learning about AR development and in my case, working in Unity to build apps for android. For this AR project we wanted to test some basic functionality, creating a very simple experience.

The experience places a Traffic Officer vehicle (simply because we already have it from other projects) on a surface, like a table, or the floor, then tapping on any other point of the surface, would see the car trying to reach that point without falling from the surface.

Also we needed to test if we were able to interact with the car itself.

In Android both things have turned out to be quite straightforward. It offers a system to find planes in AR that works like a charm and allowed me to easily find places where we could put the car, as well as easily know where the user tapped in order to send the car there.

For the interactions with the car it turned out to be just like in any other type of mobile game, so no problem with that at all. After having learned all that, it’s time to apply my knowledge to a real project!