The lockdown continues and the new normal for our team is taking shape as we all get used to working alone in reality, but together in an immersive environment. Projects don’t stop however and deadlines were looming, with trials of the new Varjo XR-1 to fit in too. This was our week.
Toby – Leading from home
It’s noticeable that this week I’m seeing a pick-up in ‘Business as usual’ type calls. Clients and prospective clients wanting to talk about projects without talking about the pandemic or the lockdown.
This week is leading up to a big deadline and everyone is heads-down working towards that. It does mean that there’s been distinctly less focus on building our social space but it’s meant to be fun so that’s ok.
In my spare time I’ve been taking a look at the first AAA VR game; Half-life Alyx. I’m no gamer, by any stretch, but it’s incredible. Knowing intimately how hard these things can be to build it’s a huge leap forward and an important one with regards to uptake of the technology in people’s homes.
Josh – Programme Manager
We are just about finished with our ‘Eyes and Ears’ project; bang on time but not early which is what I predicted last week. While I think the client is going to be impressed, the fact it wasn’t early is a little unsettling because it certainly wasn’t due to lack of effort.
Which means the slight delay against our self-imposed deadline was caused either by scope creep, poor communication or prioritisation as the culprit, all project management classics.
We’ll talk it through as a team to understand what we can do better; we’re quite good at having a reflective, serious discussion about work, but always in a light way. Elsewhere, I had many chats with the client about the next scenario in the project, it’s got all the information and stakeholders it needs so we just need to get it done.
Cat – Lead Programmer
I started this week working on our packaging system. Ideally we’d like to be able to work on shared systems in much the same way as our main projects, with a few key concerns:
• Security – making sure only we can access our packages
• Ease of use – it should be straightforward to add packages to a project
• Automatic – we want to spend time working on projects, not compiling or exporting them
Given these requirements, I think the best approach for us is to extend our existing build system to be able to export Unity Asset Packages, as well as fully compile projects. This will make it easy to always have up-to-date versions, while slotting neatly into our existing systems.
But less of the boring stuff! This week I also finally starting playing with the Varjo XR-1 headset. A real beast, this headset is unlike anything I’ve seen before. I was so impressed I’ve drafted a blog about my experiences that you can read here.
Sergio – Programmer
During the week, our team was continuing working hard on Eyes and Ears, an immersive project designed to train and test Highways England Traffic Officers as if they were experiencing the sights and sounds of a real road.
My focus was to work with artists to ensure their artwork assets sit well with programmer’s logic and ultimately reassure that the elements of the training work. While most of the week was a combination of bug finding and tweaking code, it was also performance optimization.
In all our experiences, detail is key, but we always aim to achieve above the minimum target frame rate for VR of 90 frames per second. With current technology, we are constantly fighting to find the balance between high quality visuals and high frame rates, which requires performance profiling, art and code optimization, along with a few other tricks that come with experience.
Slava – Lead 3D Artist
This week I was working on importing high-polygonal cars with detailed interiors. They will be used for demonstration of customer reaction to the hazards on motorways, such as an obscured sign or the wrong demarcation – it’s all about detail.
I was also working on talking animation of some new characters, who will be playing the role of customers using the highways network.
Another big task was adapting a new Audi Q2 car to add to our traffic scenarios. In contrast to other vehicles, this car should be low-polygonal and well-optimised, so it wouldn’t use much processor power, which again requires experience to make such a car look detailed enough.
Stefano – 3D Artist
This week I animated characters for our project, based on pre-recorded audio clips. We are now also optimising everything to recover performance and lightness of the builds.
For my part, that primarily concerns animations, which have required a lot of research and testing the many ways to optimise animation files without losing detail in movements.
Through a script in Maya, I’ve been able to remove hundreds of thousands of unnecessary keyframes and those created during the animation bake – baking animation: the process by which you transfer the animation from the rig controls to the bones of the character.
I’m also considering a further optimisation, deleting half of the remaining keyframes applying the with the rule of one every second, to cut the bytes without losing noticeable details.
Kyung-Min – 3D Generalist
The final countdown to the end of a project is always stressful, but for me that stress is cancelled out by the excitement! This is when we witness the accumulation of our efforts in a finished project and its always exhilarating (like when the power rangers joined together to form the ultimate robot!).
After much work around optimization and waiting for feedback, I was finally given a day of the fun stuff!
Setting up assets and placing them to create a world of hills, to ensure our road is more than an infinite path; now it’s an infinite journey. From the busy motorways of outer London with highway bridges crossing over the roads to sound walls blocking off residential areas.
Far past the built-up woods of the green belt leading to the plain hills of the country and drive far enough to reach the rocky hills up north – now it actually feels like you’re travelling somewhere, not just experiencing a virtual road.
The tiling system we created can generate an infinite variety of combinations, with our land types alternating with random segments between where we can place or even procedurally generate assets!
This produced a lot of challenges, as I had to consider the spawning locations of assets other team members would insert, with performance always the biggest issue. I dug deep into old techniques in the PlayStation one era and updated them to a modern stander as classical methods of sprites looked bad when tested in VR.
The workweek was unfortunately cut short due to Easter, but that didn’t hinder our team’s discussion and debate around how we can keep improving, keep delivering better results.
For now, whilst the country is quarantined at home, it’s really nice to spend most of my time driving through the English countryside… in an immersive environment of course!
Jordi Caballol – Programmer
This week I’ve been working on developing one of the key pillars of the driving simulator: the mirrors of the car!
Mirrors have always been a problem in videogames due to their cost in performance; they basically mean rendering the scene again from behind, but in the mirror. In our particular case this is even worse as we have three mirrors in a car and as we are in VR, we need to render twice for each mirror, once for each eye.
So during the week I’ve been working on solving the issues that appeared working on VR to get nice looking mirrors that really add to the immersive nature of the experience for the users, while trying to keep a decent performance.
But the result was worth the effort: