Last week saw the arrival of our new 3D Generalist Kyung-Min and he was immediately thrown in at the deep end, with another busy week in the MXTreality studio, particularly with the arrival of our new motion capture suite, which is going to help take our immersive experiences to the next level.
Toby – I’m in Charge Here
As you might expect with it being half-term, I was on a ‘Holiday with Laptop’, so not much to report other than catching up with some of the business admin. I know we have a very busy week when I get back, so looking forward to reporting on that next time.
Josh – Programme Manager
This week was the final effort in an important Sprint, which saw us deliver the final instalment of a ‘Blue Riband’ solution for Highways England. I wasn’t too stressed by this; I just spent the vast majority of the week buzzing around, hovering over the Developers’ shoulders – because people like it when you do that. We had already completed the technical aspect of the scenario and had left this week for review, iteration and polishing the final outcome. Essentially, adding the details that transform a work in progress to a usable and effective piece of software.
For all the interest Immersive Technology generates, we view VR essentially as a communication tool; it’s job is to amplify and not detract or impede a client’s message. To do that UI/UX, gameplay and environmental accuracy needs to be exhaustively reviewed, because if you don’t, the user will be distracted and the message lost.
We have many processes in place to cater for this evaluation but the fact remains that playing, discussing, and evaluating a particular feature as a team, remains our most reliable method of assessment. We deliberately took our time over this and I helped facilitate these discussion sessions; I also stuck my oar in from time to time, which I know the Developers respect me for.
This week was also punctuated by lots of R&D, this might well inform our efforts on the latter parts of this scenario. Importantly, it also served to break up what would otherwise have been quite a taxing development cycle for the team.
What little time I had left in a busy week, was spent gaining approval for the scripts and dialogue trees for the solution’s next scenario, which begins next week. Lots of stakeholder engagement etc., and with scripts now approved, we’ll be doing this all over again next week.
Cat – Lead Programmer
This week I’ve been working with SensoryX’s gloves, a review of which I’ve done separately, whilst undertaking some housekeeping tasks and polishing some elements of our ‘Eyes & Ears’ hazard-spotting experience for Highways England.
Probably the most interesting technical part of what I’ve been up to is the housekeeping. To keep development rapid, we use an automated build system to keep us from tying up Developer time and workstations doing lengthy builds.
This build system has to be included in all of our projects in order to auto-build them, but so far the method of that inclusion has been somewhat awkward. We were using Git submodules, which essentially means having a project within a project.
This has the advantage of allowing us to develop the build system ad-hoc while working on our main solutions, but unfortunately can also cause unforeseen issues because of the complicated interactions between projects.
Last week we lost some time to these issues, even though the system’s goal in the first place is to save us time.
To remedy this, I’ve opted instead to use Unity’s built-in package system. While it’s slightly less flexible, in that we can no longer modify the build system in-situ, it’s much more stable and doesn’t cause the kind of quirky issues that got in our way last week.
I found it was easier than expected to convert the project into a Unity package, so I’m now trying to plan similar conversions for other shared libraries of code we use across projects. The dream is that, ultimately, we’ll be able to share large portions of code and assets between projects in a reliable and simple manner, saving us development time in the long run, which benefits our clients in reduced costs.
Sergio – Programmer
Most of the week I was tackling issues raised by Highways England, in one of our major projects. In parallel, I was also undertaking research with Stefano and Kyung-Min on the new motion capture suit – more of that in another blog.
During the past week our team was polishing one of the main solutions for training a Traffic Officer on the road. Having received new animations from our artists, I implemented them within the interaction with the NPC (Non-player character).
To make animations work as intended, an animation tree must be built inside the engine. This tree, like any others, consists of branches called “Animation States”. We program those states to transition from one to another based on the action / interaction we want.
Figure 1 Animation Tree in Engine
While our artists had to create animations manually for this solution, we plan to optimise the workflow and improve the quality of fluid character animations.
Slava – Lead 3D Artist
This week I have been working on several, what appear to be, relatively small tasks. One of which was to import a new Traffic Officer vehicle into the Unity project, which required me to merge into this new body, the high quality interior for the Land Rover that we had previously created and perfected.
We pride ourselves on the level of detail we include and that also comes down to the colours of the cars the Officers will encounter in our immersive environment. I created a template of the most popular car colours, based on my investigation of the real statistics for UK traffic.
This means our programmers can now automatically assign colours to cars and reflect the natural distribution of colours the Officers will witness in the real world.
Stefano – 3D Artist
This was both an exciting and productive week as the arrival of our new Xsens motion capture suit allowed us to introduce motion capture technology into our workflow. This will not only save us time, but ensure we can create higher precision animations – good news for all of our clients.
I have drafted a separate blog on the research and development we undertook before choosing this particular suit, which you can read elsewhere on our website.
Kyung-Min – 3D generalist
For my second week in the busy MXTreality studio, I jumped straight into work, having first explored more of the surrounding leafy Chiswick suburb. I also found the all-important coffee pot. I was assigned the task of creating a seat belt and given freedom to do so in whatever way I chose. I used this opportunity to integrate learning Substance Painter, the reference texturing app for 3D professionals, as part of the existing pipeline Slava has set up.
I spent a long time sculpting in detail to a cinematic standard, then used it to extract details and map to a game mesh. I spent way longer on this than I should have and even considered adding more features, like fingerprints that would show up when reflecting against a strong light.
Unfortunately, other tasks proved more pressing and while it might seem ridiculous to go so far for just a seat belt in a Traffic Officer’s vehicle, we excel at detail and it was also my first official task, so I wanted to make something great! It also followed in line with an Albert Einstein quote that inspires me; “I wish to do something great and wonderful, but I must start by doing the little things like they were great and wonderful.”
The rest of the week was filled with other tasks and getting used to the workflow here at MXTreality using Gitup, logging my progress on Jira. I love it here and being part of such a talented team, working on great projects. In fact, just everything!