MOTION CAPTURING FACIAL EXPRESSIONS TO INCREASE REALISM IN VIRTUAL REALITY

Despite the boss being off for a few days, the projects kept rolling in and detail was added to existing work. Trialling Dynamixyz markerless facial motion capture software showed us the potential for hyper-realistic faces on virtual humans as we seek to build totally Immersive Environments for the training scenarios needed by our clients. This was our week.

Week commencing 27th July

Toby – Managing Director

I had a bit of a holiday this week and it was lovely.

Josh – Programme Manager

If you read last week’s post, you’ll know how busy we all are and me in particular, but this week I found five mins to detail my work.

Sergio and I have been working through static designs for our new website. Personally, I’m really happy with it and I think Sergio is too. It’s relatively traditional but I think our clients will appreciate that.

Immersive technology can be a little mystifying and our website should simplify it. Sergio’s also been working on implementing some animation this week, which will be our chance to show off a little…within bounds.

I wrote the solution design document for a web-based augmented reality (AR) project based on Highways England, Think! Vehicle Checks campaign. WebAR is a little more challenging then native mobile applications, we came up with quite a few designs but settled on a solution that augments a real vehicle stationed at Highways England events. Project calls with the events team at Highways, have been really helpful in narrowing down the options

We’ve prepared backlogs (list of work items) for the Vehicle Checks augmented reality project but also the Test and Innovation Centre Project. The team don’t love meetings, particularly the length of these planning sessions, next week will hopefully be lighter.

We’ve set up a nice and quick communication with our spatial sound partners for the Test and Innovation Centre and they’re very happy with the progress

Close to completing some new tweaks on the customer experience project. Unexpected but easily implemented, I think the project managers at Highways will be in a position to call the project complete by next week’s meeting.

Stefano, Jordi and I spent some time designing virtual representations of various versions of the mixed reality driving sim. When you start to blend the real and virtual, it becomes pretty confusing, even for us, to explain to each other what we’re talking about.

We’re hoping for a demo next week, this will really help to support that. Not sure prototypes are ever finished, but we’re very happy to demo, already.

It looks like we’re hiring, again. Cat and I have being going through our job spec. our requirements seem to be shrinking compared to this time last year, which I can only assume is a good thing.

Cat – Lead Programmer

I’ve been plodding away at ‘Animals on the Network’ and it’s nice to see this project starting to come to a conclusion. We’ve been slowly clearing up the last of the bugs and making sure the rest of the project is fit for purpose.

Throughout this project I’ve taken the approach of prioritising the development of features over resolving bugs and it seems to have paid off.

Not only have a number of bugs resolved themselves thanks to features nullifying them, but it’s also stayed fairly predictable in terms of development time. One bottleneck on the project has been our Quality Assurance (QA) capacity, as it’s ended up with pending merge requests getting stale and needing work to keep them up-to-date. I’ll think about how to deal with this in the future.

As one project comes to an end, another one starts to spool up! When I first joined MXTreality we were working on the Highways England TIC (Test and Innovation Centre).

That project is starting to get some wind beneath its wings now, so I’m working on setting up the various bits of backend – launch systems, networking and spatial audio integration – ahead of starting to develop the main features.

We did have a different project for it originally, but since working on that a year ago now we’ve developed a lot of our practices and workflows (not to mention significantly grown the team!) to the point that it’ll be much more effective to start anew.

This gives us the opportunity to pick and choose the parts that were useful from the old project, as well as incorporate the highly detailed, fancy new road and traffic systems that we’ve developed. Usually a full rewrite isn’t really justifiable, but I think it very much is in this case. We’ve learned so much!

Sergio – Programmer

Last week I was undertaking development work on the website redesign. After completing the homepage design, I started implementing components in React and Gatsby.

React is a JavaScript library for building user-interfaces and it works hand-in hand with Carbon Design Language. Although my design was based on Carbon, the idea of creating a page that is purely focused on our brand, required substantial changes without breaking composition rules.

I started by implementing the navigation menu which sits on top of the website and plays an important role in grabbing a visitor’s attention. I will be utilizing a few components provided by Carbon that are fundamental to the design: Grid, Dropdown menu, Search box and Icons.

Grid component is the geometric foundation of all visual elements of Carbon Design Language, and it provides structure and guidance to all other components.

Dropdown menu follows the design pattern of interaction that Carbon provides and allows smart scalability of content. It is used on the navigation menu to provide additional content hidden under a button.

Search box contains functionality that fits the design and it was my favourite addition to the navigation menu. Provided with the opportunity to search, users can quickly find content that they were mentioned about or select proposed search results based on their immediate interest.

The icons follow a solid and matching style which work well with our brand design guidelines.

Stefano – 3D Artist

This week started peacefully by modelling and rigging a low-poly bird for the environment of the little game we are creating. I find that sometimes modelling can be very relaxing.

After that, I worked on a few different animations that needed to be changed, and some that just needed to be cleaned a little bit.

This week unfortunately, I haven’t been able to fully concentrate on a really well-made test using the Dynamixyz markerless facial motion capture software, but at the end of the week I managed to spend an afternoon making a decent one – this seems really powerful in tracking faces.

I recorded myself trying to perform the most extreme expressions and, even with my pretty invasive beard, it has been able to do a great job.

The tracking doesn’t happen completely by magic, though. I had to teach the software to recognize my face and movements by selecting some expressions and dragging points on different key spots of my face, accordingly with the different shapes. After providing these, the software did a great job.

Then I had to tell the software which controllers of the driven 3D face should be moved by the software tracking points, and mimic the expressions I chose from my video on the 3D character. After a couple of calculations, the Dynamixyz created keyframes in my Maya scene animating the head.

After an afternoon of work, the results are still not quite satisfying enough. I understood the workflow and can see the great potential, but as previously suspected, it needs a lot of work to achieve the level of realism we insist on here at MXTreality.

Slava – Lead 3D Artist

This week I continued working on our cattle trailer incident management project fro Highways England. I added more details, such as gates, a ramp and reflectors to the model I started last week.

Packing UV coordinates was a bit of a challenge, because this model has a lot of large surfaces. It is open, so the viewer is able to look inside and I cannot simply use outer walls inside, because they should be dirty. Detail is everything.

I was texturing the model in Substance Painter as it provides high-quality weathering materials for large surfaces and gives a lot of flexibility in creating different effects, such us distribution of dirt and scratches. It’s also much quicker to make textures in Allegorithmic’s Substance Painter, than in Photoshop.

Surprisingly, the development team at Allegorithmic has changed the programme quite seriously since my last use on a big project, so while the quality of final results have improved, I had to invent new approaches to achieve what I was planning.

Kyung-Min – 3D Generalist

Kyung has been continuing to work on a VR-at-Height experience but is so busy he hasn’t got time to blog this week.

Jordi Caballol – Programmer

This week I have been working on a new input system for the Driving Simulator. The necessity for it, comes from the fact that Unity’s system is completely focused on gamepads, so the steering wheel doesn’t feel right when using it through that system.

The new system needed to support various things:

It needed to be able to map the wheel and the pedals properly with their full range of movements and Unity only use a smaller range, which causes the loss of sensitivity.

It needed to provide support for force feedback. This means being able to apply forces to the wheel so the user can “feel” the car. This one is the main reason for this input system.

Also we needed to be able to use the buttons on the wheel to be able to navigate the menus of the simulator. This is especially important when it comes to adjusting the mirrors.

The task has been long and arduous, as it meant building a plugin for Unity that managed everything, and also building a system to integrate it to the game seamlessly. But we know it’s what we have to do, to deliver the levels of realism we pride ourselves on and our clients expect.

With this done, the only big task left for the upcoming demo is creating the road and the environment around it.