A busy week as Immersive Technology really is becoming a hot topic in boardrooms the length and breadth of the country. New projects, shortened deadlines for existing projects and new staff have all added to the mix, but we wouldn’t have it any other way in the MXTreality office; or is it a studio? This was our week.
Toby – Our leader, mentor, friend and all-round wonderful human being.
Back from holiday and straight into a pretty busy week. Much was such fun; a visit from a key client contact combined with a demonstration of the Varjo XR1 headset for him and for the team. We bought one the same day and that’s all I’ll say until we’re ready to talk about our plans for it….
We’ve finally received the news that we’ve been hoping for and, over the next couple of weeks, we’re going to become the proud sole inhabitants of our offices in West London. This means a lot to me and to the team; we’ll have a place we can call our own and it’s in offices we love. Orders are in for the new desks, chairs, the decorating, and the art that we can now (re)introduce.
We’ve also had an ongoing major project brought forward so we’ve been discussing the new urgency with our sound and tracking partners. Can’t wait to get this one launched; this has been on the board for a long time.
Thursday I was jet-setting over to Guildford to show off a new game that we’ve built for a client’s upcoming stand at the Big Bang fair in Birmingham. They loved what the guys in the US team have built; with a few tweaks we’re ready to go.
Other than that I’ve had a series of new business chats, of course Jordi joined the team (welcome Jordi), lots of finance stuff to get done, bills to pay, and of course the threat of the Corona Virus to consider. Tough one for a business like ours really, but we’re as prepared as we can be and we’ll do our best to keep calm and carry on.
Cat – Lead Programmer
This week I’ve been tying up some loose ends for our Traffic Officer training project for Highways England, so I can change gears and restart developing the Test and Innovation Centre.
First, I put my head together with the other two programmers to critically evaluate how we test our features to ensure they are to a high standard. We’re too small a team to reasonably have a full-time Quality Assurance (QA) engineer, so we figured out a way to share testing work across the team to keep it fair and reliable.
The approach we’re now using heavily leverages the continuous integration (CI) system we’ve had running for a couple of months. Instead of producing built versions of our software ad-hoc we are now producing a build for every single bit of work our developers do.
This work is then checked by the team member assigned to integrate it, ensuring it is working as expected and hasn’t broken other features unexpectedly. The work is then also checked by a third member of the team – the more eyes we can get on a feature the better a chance we have of catching anything that might be awry.
Only if a new feature passes this process without revealing any problems is it allowed into the main development stream.
The second main piece of work I’ve been up to is packaging up some of the shared systems between our projects. Regardless of what a solution is for, there’s often a lot of boilerplate – code that ends up being the same between projects – that streamlines and speeds up our development process, which is key to keeping costs down for our clients.
As these systems have recently been developed for the Traffic Officer training solution, we’ve neglected to include them in other places. Now that I’m more familiar with how Unity packages work, I’m putting some time into pulling the relevant systems out to be able to include them easily in all of our projects going forward.
Josh – Programme Manager
With so many new projects to consider, tightening project deadlines and new layouts for the office to be planned, I’ve not managed to put finger to keyboard to explain anything in detail, but I have some specific content to draft and so you’ll see my name on that shortly.
Stefano – 3D Artist
We are now familiar with the capabilities and possibilities of our recent acquisition, the Xsens MVN Motion Capture suite, so the Mocap party begins!
For critical pieces of voiceover and human animation we use actors; we have one coming in on Monday to do both at the same time so I’ve been preparing the suit, and practising with it, ready for them to do their stuff.
I spent time predicting all the possible issues that could crop up, to ensure the time with the actor will be productively spent rather than correcting small problems that could waste time.
The process appears straightforward, but actually is full of potential time-consuming issues, such as the very difficult task of manually synchronizing the Mocap clips with the relevant audio file.
In fact, if you forget to put in every Mocap and audio file something you can clearly recognise in both of them, you’ll end up going crazy trying to find the matching audio file, or guessing where in the Mocap clip the actor is saying what you are hearing in the audio file.
To prevent this, I choose to use the same methods used in film production like the clapperboard, with little adjustments to make it work in our environment. With a clap of the actor’s hands, we’ll be able to recognize that precise moment in both clips and easily synchronize them. Roll-on Monday.
Sergio – Programmer
For the past couple of weeks, our team has been working on a road generator that would allow Traffic Officers to experience a realistic simulation on a motorway.
Apart from the realistic road, the terrain surrounding it and other objects, one of the most noticeable and important elements would be the traffic; vehicles driving along in both directions with drivers and passengers inside them.
My job is to make sure that it works well with our current translation shader, explained in our previous blog posts, by Cat. The vehicles will never actually change direction but instead, their visual representation (rendered model) will be displaced according to the shader logic.
The traffic system will be one of my main topics to discuss as it will adapt to different on-going projects and ultimately morph into an advanced traffic simulation tool. Our team will use this tool to create complex road simulations with realistic car behaviours and complex paths.
Slava – Lead 3D Artist
This week I have been working on the character for the second part of our current project. According to the scenario, the main character is a young lady in a broken car, who was going to a party and was dressed accordingly.
But the original character appears dressed more formally and looks like she’s on the way to the office, rather than a party. So, spent an enjoyable time repainting her shirt, adding make-up and attaching earrings. It’s the sort of work any 3D artist would like to do, but not always have the opportunity.
I also started a new scene for this scenario, in which I added a new model of Mini Cooper, which I had prepared previously.
Kyung-Min – 3D Generalist
My third week at MXTreality and I am now working on my first official sprint! With a large list of tasks ahead of me, I am excited to get down to some serious work.
The first big task I have been tackling was to create a rain system that is essential for one of our simulations. While I have worked with rain numerous times before, this will be the first time I have attempted to do so in for an immersive environment.
Initial tests showed complications due to the fact sprites tend to lose their impact in VR. I will also have to deal with the loss of impact from normal maps but having discussed these issues with our programmers and I’m confident we will find a solution quickly.
I have been assigned the role of Rain Shaman at MXTreality and when I do my rain dance as I rattle my mouse/keyboard.. the rain will come!!
Jordi – Programmer
This is my first week in the busy MXTreality studio and thrown in at the deep end, I’ve been working on polishing the visuals for the Eyes & Ears infinite runner. I have mainly been adding functionality to the shader to be able to replicate the materials of the other scenarios.
First of all, I started by adding some wobbling to the car, so for the users it feels like the wheels are touching actual textured tarmac. Then I started working on the curved shader to add some features to make the experience more immersive and to improve the visual quality of the scene:
The road markings were the most obvious visual problem, with a shiny black portion extending out of the markings. I’ve added the option of supporting alpha cut-outs, so the limits of the markings can be well defined and only the white part is visible.
I’ve added support for specular mapping, allowing the artists to control better the look of the surfaces, which allows to improve a lot the visuals of the concrete barrier in the middle of the road. Shadows! Shadows are essential to achieve a realistic look and weren’t supported in this scene.
Finally, I’ve fixed a problem that made visible the seams between the segments of the road.
Besides working on the shaders, there was another task needed to achieve a more immersive experience; rotate everything according to the orientation of the road! By rotating the sky and the sunlight light when the users make in a turn, it now feels like they are really turning.
After all these changes, the scene now looks like this: