Description
Key Learnings
- Identify and implement simple techniques to optimize their 3D Studio Max files for Virtual Reality.
- Understand the migration process from 3D Studio Max to Data smith and Unreal Studio.
- Learn how to quickly and effectively import and navigate around large models within Unreal.
- Create using instances, models and entourage within Unreal for optimal performance in large scale Urban Projects.
Speaker
- David Weir-MccallFrom a background of Architecture and Technology, David currently works with the Digital Design Team in CallisonRTKL, spearheading the firms initiatives in technological innovation. Having extensive experience with Architectural Engineering firms and Architectural Design consultants over the last decade, David’s primary focus is the adoption of new design tools into Architectural workflows. Identifying both opportunities, and support in the training and roll-out of new technologies.
DAVID WEIR-MCCALL: Can everyone hear me OK? I can shift this up and down. Welcome to The World's Largest. It's a very ambitious title, and you're going to see why I called it The World's Largest in a second. What we're here to talk about today is the title below it, which is developing the large urban designs into virtual reality.
And whenever we propose topics, we are asked to break these down into just four manageable chunks, learning outcomes as such. And they're long-winded, just so you can get an idea of what I hope to do.
But really, what we're going to be talking about today is to develop large urban projects into virtual reality. We're first going to look at optimizing these models because they're massive. They're huge, huge, huge projects, some stuff we've never seen before.
And then, we're going to look at how we get it from our architectural programs, our 3D Studio Maxes, Revits, into a gaming software engine. And then we're going to look at, because it's a master plan in VR, what is special about navigation within there?
Because this is a vast master plan. How is it you can drop the client in there, and he feels comfortable and safe enough to walk his way around without you kind of taking control and dropping him in random places.
And then finally, we're going to look at the kind of animation, the real-- the best parts about the gaming engines. So what is it that these gaming engines can do? And then how do we optimize our models further from within the gaming engines themselves? So lots and lots to talk about.
I talk a little bit fast. So just put your hand up, and I'll slow down a little bit. But first of all, just sort of a plug. I work with a company called CallisonRTKL. And CallisonRTKL, really, we jump in very deep into design technologies. And it's mostly down to our mission statement, which is to enrich lives and design solutions to the complex issue of clients, our world, and our time. Very, very powerful.
So whenever we obviously heard of this VR technology coming out, we were very interested. But whenever I went around exhibition halls and conferences, the only things that were really being shown were hotel rooms, interior designs. And these were great. They're a really high level of detail.
But it didn't apply to our office because-- well, we do have an interiors office. But it didn't apply to our master planners, our hospitality, our residential, our shopping, entertainment cluster. And anytime I tried challenging lots of people on these, they kind of was like, oh, no, we don't really have anything too big. So we're like, right. That's it. We're going to do it. So we jumped straight in.
And we're an American company. We have many, many, many offices in the states. And I'm from this little guy-- oh, look way down here. And-- the little one in blue. I'm from the Dubai office. And so I've come from the Middle East today.
And the reason that obviously the title's The World's Largest, is because in Dubai, some of you might know, they're very, very proud of the fact that they're the world's largest this, the world's tallest that, the world's slantiest. So whenever we're looking at projects within Dubai, we really are talking about large, large urban planning-- stuff that you might get somewhere else, but really not quite to the extent.
For example, this is one of our projects called [? Al ?] [INAUDIBLE]. And this is a 2.7 million square foot master plan. Now, you guys, you work with square feet. I apologize. The conversion always confuses-- it's about 20 million square feet, right? Just times by 10?
And this is actually not the full master plan. This is just a very small part of it. But this is the one that we've been currently developing. And it's quite big. But it's not as big as this guy-- 10 million. This is even bigger.
I mean-- and this is one that we called Dubai Hills Estate. And this is a really complex master plan. It's actually almost-- it's well into construction. They've just started putting up the office buildings along the boulevard. The residential areas are well underway. We have this massive mall complex. And it's just a colossal size project, with a huge amount of residential units.
And then, another one of our signature projects a little bit down from that, but world's largest in a different way, is Dubai Creek Harbour. Now, this has been publicly released. It's this new island development, very close to the main city center of Dubai. And it hosts the new world's tallest tower.
And classic Dubai. We've got the second world's tallest tower, or the current world's tallest tower just in the distance. So it's like a unity-- very Lord of the Ringsesque.
But again, this is a very big master plan-- absolutely huge. And they're all high-rises, huge amount of residential units because of that. So whenever we're dealing with things like this, we're always like, how is it you get something of that scale and that magnitude into VR without it affecting the design intent, or without it affecting the quality? So that's what we're going to be talking about today.
A couple of clarifications, though. And first of all, I am not a game developer. I do not work with gaming companies. I never have. Loved playing them whenever I was younger. My mom said I'd never make anything else off it. And then I'm laughing at her now, because I love gaming engines.
I'm also not a visualization expert. I've never worked for render companies. And I've never worked in getting photorealistic stuff. At the end of the day, we are architects and urban planners. And we are all about designs.
So whenever we look at adapting stuff for VR, we're not doing it to achieve the world's most photorealistic experience. That's what our visual experts are for. We're also not looking to publicly release these into huge developed games for the public. Because that's what the games developer do.
So whenever we approach it, we're doing it purely on an architectural stage. So we're looking at showing off design intent, showing design options, getting facts and figures and information. And that's really what we're there to do.
And so we've been doing the VR for quite some time now. And really, we were using a series of different programs and platforms. There's some great platforms out there. At the end of the day, we kind of settled on Unreal Engine.
Now, for those of you who don't know, Unreal Engine is a gaming engine. They've been making computer games since the dawn of time. And they've been-- film, special effects, and it's a really good program.
But the first question I always get asked is, why Unreal? What is it that dragged us to Unreal? Because there's so many other good programs out there that you can use for a very similar topic.
I mean, you've got Stingray, which, bless its heart, I think it's done at the moment. But Unity, very similar. And we've got Autodesk Live, which is a great project, obviously. We're at an Autodesk conference. And we've got an Enscape [? in the corner ?] as well. And all of these are great solutions.
But for us, we really needed to look at what was compatible with these. Because these are our architectural programs. We use these every single day. And if these do not speak to these, then it's just going to cause us so much complications. So when we look at direct compatibility, we need to understand what programs will speak to which.
Now, I need to clarify here because poor Unity looks like it's just on its own. I'm talking about direct compatibility. I'm not talking about exporting to an FBX or a typical OBJ file, which can be opened in any of them. I'm looking for one which is directly compatible.
And Unreal achieved this just purely through Datasmith. And Datasmith is their kind of mid-ground, where it takes all the information from one, and translates it into Unreal. And we'll get into that a little bit later on.
So it's not the case that the other ones don't. It's just we're looking for the fastest workflow, the fastest turnaround. But what about poor Enscape? Enscape's got lots of connections. Enscape is speaking to most of our programs. And I think they're expanding. Arkicad's also in there as well.
And that's when you have to understand the real difference between gaming engines versus the plugins, which Enscape and Revit Live kind of produce. Because they're great, and we do use them very heavily. But there always comes a limit of what they can achieve. They are not customizable to the extent that we really need them to.
And that's what happened. We reached the end of where we could get to with Enscape. Well, we want more. We want to create proper control elements where we can customize it however we want.
And that's what led us to the gaming engine. So you can create a button that the person [? press the ?] VR, [? and buildings ?] [? explode ?] at the ground, and turn around, and it's all very exciting. Whereas, Enscape is just a very quick view, one button click, you're there. So that's why Unreal.
And whenever we're looking at customization of VR within urban master planning, we look at it on two different platforms. The first one is about the central model. We are looking to hold a central model where-- a central VR model that can be updated.
Because we work with lots of other architects and designers who feed us their models. And because Unreal has these plugins for our architecture programs, we can update this VR central model very, very, very quickly.
And the other side of it is obviously the client facing tool. Our clients are usually a little bit older than that. But at the same time, it's about making sure that they can understand it. And that's why I used the children because, again, it's making sure it's easy enough for them to understand.
And so it's what we have to do with urban planning to make it client-friendly. So today, I think the first couple of learning outcomes are more focused on the central model. The second are more focused on the client facing one.
So the first thing you always need to do before even starting, before even thinking that we're going to do VR, is always plan a narrative. Every single urban master planning project has a story or something you're needing to show.
And it's whether or not it's ground play, and whether or not it's eye-level experience, whether or not it's the views of the surrounding buildings, whether or not it's showing the architectural design, whether or not we're just using points of interest, or whether or not we're actually trying to just show it from an aerial perspective. But understanding this at a very early stage is going to help you out a lot. And we'll talk all about why.
But starting with learning outcome 01-- very, very simple. This is 3D Studio Max. And I've talked about 3D Studio Max because it's the one that was originally developed with Datasmith. Revit is now also directly compatible with Datasmith, which is great. But 3D Studio Max is good because of the way we can optimize our models. And optimization is really the key.
And it sounds daft, but file size is really the first indicator of this. Because our files are huge. The largest file that we had was an 11 gigabyte 3D Studio Max file. And this thing's just too big. It's absolutely massive. And there's no VR software which can take an 11 gigabyte file, translate it into a good VR experience. So we need to look at breaking that down into chunks.
So we start from-- and there's lots of benefits to this as well. I mean, typically, it allows multiple users to work in different parts of the project. It makes smaller models so bad computers can run them, which is very [INAUDIBLE], very typical. And also creates a library of components, which we're going to be using later on in Unreal Engine.
So whenever we take this, and we actually start to break it down, it actually allows us to start looking at where our problem areas are going to be. So whenever I see my list of broken down files, I'm like, wait a minute. Who's this 1 gigabyte file here? That's way too big.
So because of that, I can identify it. Great. So that is one which I need to go in and optimize. The other smaller ones-- that's low-hanging fruit. They're good to optimize, but not really the thing that I need spend a lot of time in.
And once we have identified these different models, we've broken them up-- this is one of our tower files, where we put in all our towers-- we need to look at grouping and ungrouping. Now, it sounds daft. These are very simple tips. But the reason this is important is Unreal is a live render. It renders what you can see.
Now, if you have a single object-- so all these buildings are a single object. If it can see one part of that model because it's a single object, it sees it all. So it's having to process it, not quite as hard. Well, it just went up a little bit.
So the aim is to actually break this down into manageable objects that the program can then handle. So if I'm only looking at a certain part of the master plan, it's not even calculating the rest of it. Whereas, if it's a single object, although it's not rendering, it's [INAUDIBLE] time to process where those plots are.
And it's very similar whenever we're looking at attaching elements. Because Unreal takes these objects and drops them into its own program. So you're going to have thousands of objects by the end of it. So the aim is to pick and choose really the important ones.
This is my favorite palm tree. We use them all the time because Dubai is very popular with palm trees. Vegas is as well, weirdly. So whenever we have this, it's being made up of what? Maybe six or seven objects? That's too many for a palm tree.
I mean, if we have 300,000 of these scattered across our master plan, it's just objects which I don't want to have to deal with. So it's all about picking and choosing what you need to detach in order to make it run smoother, and what needs to be attached to keep your file management within Unreal quicker and easier.
And then, once we've actually done that-- so we've ungrouped them. We've got separate file types. We need to start looking at the polycount. This is where we go into the nitpicky areas, where whenever you click on objects, you can actually see how heavy and how many polygons each single object has. And that, then, allows us to start optimizing them.
And there's lots of optimization tools within 3D Studio Max. And we look no further than the modify panel to actually see some of these in action.
This is the MultiRes tool. And this is quick, fast, effective. It basically tells you, you have an object here. What percentage would you like to drop the polygons on it?
Now, as you can see, it does it very quickly. I want it 10% of the original size. Perfect. But what happens is, it breaks it down the way that it thinks it needs to be broken down. So what you can get is very jagged edges.
But remember this is a master planning project. We don't need the geometry to be that smooth. No one's ever going to be getting that close to it or focusing on it too much.
We care about the overall scope, the space, the size. So I would happily reduce these down quite considerably, even if it meant we have a few extra flatter surfaces. So use it wisely.
The other one which we use quite frequently is the optimize tool-- allows it a little bit more control. You can basically tell it what it wants to reduce the number of faces and the number of vertices, which is good. This is my favorite palm tree again. So it's a perfect place to use this because I just need a quick tool to take it from 70,000 polys down to something more manageable.
And a [? load ?] [? optimizer ?] MultiRes are great tools. Watch what happens whenever we start to adjust it. The tree trunk base just starts going all over the place. And this is the danger of these two things, is that they're great for quickly dropping polycount, but they're unpredictable, and they can distort your model a little bit too much.
So generally, we go around and we manually do this. We just do it very quickly. We look at where these [INAUDIBLE]. All these sort of grid lines here, that's just a flat surface. That's not a curve. That's nothing. That's just literally a flat piece of ground.
So I don't need all that geometry. So I can go in and just quickly remove it. And it's not that much, but it does make a big difference.
And then once I've cleaned this up, I can then group and ungroup these into smaller chunks. So as I'm walking around it-- but that's about 400 meters. So that's a huge bit. So it actually does make a big, big, big difference.
So, again-- oh. The last thing-- we inherit a lot of models as well. Being master planners, we deal with people [INAUDIBLE] and amazing architectural designs, as well as our own. But we sometimes get these models which are just so dense. They've got so much polys.
And because visualization experts, they need the light to be just right. They need the model to be just perfect. Whenever we're walking around this, and people are spending a couple of minutes, we just don't need it. We end up rebuilding a lot of the simpler elements just to save on polygons.
So let's look at a couple of examples. It's just a [? wee ?] breakdown. MultiRes-- quick and easy. Edit poly. It's a lot more control. So that's really what we're looking at. And we'll see more of that in a minute.
So here's some examples. This is a tower base that we had in one of our projects. Now, this is just sitting at the base of the tower. And it just has all those [? gubbins ?] in it. It was floors and lifts and stairs and just everything that we don't need. No one's ever going to be going inside this building.
So we started to strip away everything and just see the really, the core and shell of the building. And we brought it down to this lovely thing-- much cleaner, much lighter. VR's much [INAUDIBLE], didn't take much time.
But what we noticed was, when we started test running the VR, there was a lot of dense detail around the base of the tower with louvers and glass. And no one ever really got close enough to appreciate it because it's a master plan.
No one's going up and examining the fine details of the louvers at the front of these tower bases. They're looking at the whole thing. So we stripped it down further.
We're like, let's take all that out. And then these tower bases, which are a big part of the project, were simpler. They still show off the design intent, but they're just not as heavily detailed as we need them to be.
Another great example is looking at the towers. Now, towers are a nightmare. They are huge. This tower here, I think, is about 365,000 polys for one tower.
Now, we can try MultiRessing that, and it would be distorted. We can try grouping and ungrouping, but that's just going to be a nightmare because you got 50 floors of the thing.
So whenever we brought in all our towers, the performance just started lagging. And we needed to try and find a way to optimize it. So we got on our hands and knees, and we stripped it down to that. We have about six different types of towers, which that is all it's comprised of, is a single story. That and this, which is the top of the tower.
And what we ended up doing was in Unreal, we built our towers with a few lines of code-- very, very simply. We took this simple floor plate, and basically added a couple of elements to it to allow it to extrude or add multiple floor levels. We'll see it in a second. But that brought it down to 1% of the original file size. And this kind of optimization-- ah. It's unbelievably helpful.
Let's look at the final example, is this is about a 700-meter diameter model. This is the main plaza space in Dubai Creek Harbour. Amazing place, but it's just huge. And the dense [INAUDIBLE] I think is 1.6 million polys. Huge amount of polygons in there.
And we got on our hands and knees. We started cleaning-- MultiRes, optimize, edit lines. We ungrouped to make sure everything worked great. And we got it down to 130,000, which for a 700-meter space is just a phenomenal reduction. That's 10% of the original value. And these are actually the levels of detail you need to get to whenever dealing with larger urban master plans.
But once we've done that, we've done some optimizations-- trust me. We're going to be going back there in a minute. But we're going to now look at how is it we've got these lovely optimized model. Let's start bringing them into a game engine, very quickly, very easy. And it's a thing called Datasmith.
Now, I know that some of you have used this. And some of you in the room who maybe haven't even heard or not quite sure what it does. Datasmith's a great tool. And it was released a couple of years back, I think. And it's built into a thing called Unreal Studio.
And it's really a conduit that takes all the information that you have from your models directly into Unreal. Now, it's hard whenever people say that. Let me show you.
3D Studio Max has a lot of information in it. It's got pivot points, materials, cameras, lights. And you spend a lot of time setting up your 3D model perfectly-- a lot of time. And whenever you export to FBXs or other file types, this information can sometimes be reimported incorrectly. And it means you have to redo a lot of things.
And what Unreal does, it literally translates everything there into Unreal assets. Your object locations are your object locations. Your pivots are your pivots. Your materials, your material. Your lights are exactly as you left them in your 3D Studio Max model. So it just saves you so much time so you're not duplicating work.
So whenever we're exporting and importing from these programs, we can actually see the difference. But it goes in this kind of process of, you're in 3D Max. You export out. Import into Unreal.
And because this process is really simple, this happens all the time-- design changes constantly, constant design changes. So we need that process to act like a wheel, a constant turnaround. And Datasmith provides it.
And whenever you import them, you actually get a lot of flexibility. You don't just import the model and it's there, and it's got everything that you'd left in the model, all the stuff that you maybe didn't want. You actually get to pick and choose what you want.
Do you want the geometry? Do you want the lighting? Do you want the materials or the cameras? So you can pick and choose with each model. And even whenever you report it , you can actually say, OK, this time only report this. Only reimport import the lighting. Only reimport the materials.
And whenever I say it reimports the materials, it imports them exactly as I had them in 3D Studio Max to the button. So this has actually saved me a whole heap of time of either having to redo it or duplicate work.
And I'll show you the breakdown of what it does. It creates the material, but it actually recodes and builds it in Unreal. Now, this is good and bad in two ways. Good, in the sense I don't have to go in and redo this lovely wood texture image, because what it does, it converts bumps to normals. It literally tweaks everything that you had in 3D Max, and translates into Unreal.
But look at it. That's so much code. That's really heavy. So be very cautious when importing materials. Because materials are low-- it's low-hanging fruit. If you have 200, 300 different materials with this dense amount of code, it can start to affect performance.
So with something like this I can identify-- great, it's a wood texture. I'm really happy that it's brought it in. But I could probably do that a little bit simpler within Unreal. So I will. I choose to optimize certain materials, not to trust that it's doing it correctly.
And managing and updating within Datasmith, which we said before, is very easy. Because I think with FBX files, you get the option to just reimport the whole FBX file. You get two options with Datasmith.
Option one is the full reimport-- the classic, the standard. You can just reimport the entire thing all over again, and choose what you want to reimport. Is it the materials, the lighting, the cameras, whatever?
Or you can actually, because it brings in the objects individually, if I go in and I change the roads. Or the client goes, I don't like that [INAUDIBLE]. I want to reduce it, increase it. I want to move this road over here, or introduce a new road there. Then, I can actually just reimport particular assets, particular objects. And everything else stays exactly where it is. So it's quick management and quick turnaround.
The only reason I would want to do a full reimport is if I added new objects that weren't already there, or I changed some fundamental things about those models. But, in general, the reimport asset is a great tool.
And then, at this point, we really want to start doing a performance check. Because these models are very big, and the last thing I want to do is get to the end of the project and realize it's an awful experience. The frame rate's really low. That client's not happy. Everything looks [INAUDIBLE] and awful.
So at this point, it's really important to do a performance check to make sure that we're high enough that we can then start throwing lots of extra stuff in without the performance being affected. And this can be done in a variety of different ways.
First one is, we can just quickly get the [? stat ?] FPS up. And the FPS is frames per second, which basically tells us how many frames per second is actually going to be running. So in Unreal, we're aiming for about 100 plus-- easy at this stage.
In fact, to be a game on the Epic-- able to release the game on Epic Games, I think Unreal [? asset as ?] [? being ?] 90 or above. And really, at the end of the day, that's what we're going to be aiming for as well. But if you're not hitting 100 at this stage, then we're going to have to look at more optimization.
And remember, whenever I said Unreal renders what it can see? Watch what happens whenever I look down the street. I can see all the trees, more towers in the background. That frame rate drops. That's an instant warning to me that maybe we need to look at optimizing that. Everywhere else is actually not too bad at the moment. It's 100-- it's definitely 100 plus. But it allows us to quickly identify where our problem areas are going to be.
The other one is stat unit. Now, stat unit I've got in my document, which I think handed out to everyone. It goes into a lot more detail of what this is. But in short, it basically tells you how long it takes to render a single frame in milliseconds.
And really, what we're looking at here is making sure that yellow is bad. Red is worse. But my tip for this is, do not use it in the editor, because it's having to run the editor at the same time that it's running this optimization window. So watch what happens when I just move the mouse around the screen. Suddenly, it goes red. I've not done anything but just move my cursor.
So whenever you use the stat unit, do it within the headset. Have the VR goggles on. Get this up. And then suddenly, I can see exactly what the client's going to be able to see.
The other thing we can start to do is look at shade complex. Now, remember, this is urban planning. This is not interiors. So whenever I'm looking at my towers, basically shade complexity-- red, bad; green, good.
And the bad areas are basically the levels that the shader's going to have to work harder to render. And that's the opacitized area, which are very typical for windows, balustrades, and plants.
So in a master plan, I don't need all this opacity I've got. I don't need those windows to be windows. For all I care, no one's ever going to go that high. And even if they are, we can just make it slightly reflective.
So we can identify here what areas we can actually start stripping out further. I go back into my 3D Studio Max model, change the materials of those windows, or do it within Unreal. And suddenly, this would be a lovely shade of green. And green is good. We want it to be that. And this is just a view option which you can change up here.
And whenever-- another one is the quad overdraw. Now, this is-- the concept of it is the further away your object is, the geometry is still the same. So whenever you get really far away for a second, there's a dense amount of geometry that Unreal is still having to render.
Blue is good. Green is where it starts to struggle. And red and above it, bad. And again, we want to really look at how we can optimize this to be primarily blue.
And again, this is what we're going to see later on in Unreal. Because I can optimize these trees in the distance to actually show a nice little shade of blue, but a great view just to identify where our problems are going to be.
And really, we're going to want to rinse and repeat these two learning outcomes a lot. Because if we don't, then doing it later on just has a lot more complications.
So we identify using those things, where we need to go back, and what we need to do. And then we go back in Studio Max and we reexport it again. We bring it back in, check the performance. It looks good.
And we spend about 70% of our time in this stage, because the next bits are really easy. But this is the part which is hard with large urban master planning. And then we get to the fun bits, the kind of now we're in the gaming engine. This is good fun. Because now we can do whatever our heart's desire.
So the first thing we talked about was crafting your narrative. So we've got our narrative, the things that are important to us. So whenever we look at this, we need to start making some really high-level assumptions.
Assumption one, we have to assume that this may be the first time the client has ever used a VR headset. This may even be the very first time the client has seen your master plan.
And what you can't do is make these assumptions that they're going to be fine. They'll pop on, and they can go and teleport wherever they want, and they'll-- and the last thing you want is just drop them in a space and go, this is the plaza. And they're like, well, where is the plaza? Well, I'm not quite sure where I am in the master plan.
So we start by crafting the narrative to make it as intuitive as possible. And we looked no further than our lovely, handy Netflix. Because whenever you log onto Netflix, what are you welcomed with? You're welcomed with a menu. It's a very complex system. But it breaks it down, and it makes it really easy to use.
And so we looked at this. But then we were like, some of our clients might not have Netflix. It does happen. So we were like, but I can guarantee they definitely have DVDs, or they have used DVDs.
And what do DVDs, the second you put them in, this new technology back in the day? A menu. It actually grounds them in the experience of this new technology. It makes it simple for everyone to understand.
So we welcome with a menu. I can-- there may be the client that has never used a DVD before. But I can guarantee that they've definitely used some form of gaming engine back in the day, whether it be a Pac-Man menu or it be a Knight Rider, one of these games.
And what does every computer game start with? A menu. Why? Because dropping someone bang smack into a VR experience just-- it throws them out of the loop. It doesn't make them feel confident. This allows them to actually understand what's about to happen. So we generally always start with just creating very quick menus.
This is a menu we created for Dubai Creek Harbour. Nothing too complex. It's a video, couple of buttons on it. Little controls just to see how the controls work. And it's just nice and peaceful. Nothing too complex.
And how we did that, we basically, first of all, identified what it is we want our menu to have. Is it language controls? Is it-- do we want to open up a separate level to show them how to use the control pads? You identify what you want the client to have at this stage. In the UAE, we do want to be able to change the language at any point, change the resolution as well.
And how to do that in Unreal-- so easy. It's basically just a blueprint widget, which basically just gives you the option to drop in whatever you want-- buttons, images, whatever you want. We got fancy. We like being fancy by just adding a little bit more buttons.
In essence, you could just have an image and some buttons. And all's you need to do is basically tell when they click on that button, what does it do? What does that button do?
And that's where the coding comes in. If you're not familiar with coding, you don't-- it's very simple to take up. This isn't like Grasshopper and Dynamo, which is quite complex and takes a long time to get over. And we'll see why in a second.
In this one, we also added some cheeky fades. You don't have to do this. We just thought, let's make it a nicer experience. And these are just some animation tools. Nothing huge about this. It's just setting key frames.
And then from within the scripting itself, it's just simple. All's I'm telling it to do here is to, first of all, open the video, and run the video in the background. Then I'm telling it to play the music. Play the fade-in animation. And that's it. These three things are all you need.
And it's just a sequence of events-- what is it we need to make it do? And then what do we want the buttons to do? I want this button to, first of all, fade everything out. Wait a couple of seconds for everything to fade. And then just open the next level. That's it. That's all you need just to create a very quick menu. So there's nothing complex in it.
And then we look at the next stage. So we [? ground ?] [? them ?] [INAUDIBLE]. OK. We've welcomed them to the new technology. It's great. Now, what about large-scale navigation?
This is very common in master planning. Sometimes you have huge expanse areas. How is it that you can allow the client an element of control in where they go and how they get there? Because it may be their first time. You might not even be in the room is the other thing you have to equate for.
And that's a good assumption to always start with, that you might not be there to show them about. So you can craft an experience that I'm happy to give to the client, knowing they're going to see exactly what I want them to see, and not go places I don't want them to go. And that's what the benefits of Unreal are.
So let's look at large-scale navigation. We pick our areas that we want the client to go to because they're important to us, whether or not it's the eye-level experience or the welcome halls or the main plaza in the center, the tower base in Dubai Creek Harbour, that's very important to us. [? There ?] [? are the ?] [? park ?] [? lands. ?]
And then we actually created a zone selection menu. So once you hit Begin, it opens this up. And if you just hover your mouse over what these areas-- [INAUDIBLE].
Now, we could do this in VR. But again, our clients may never have used VR before. And getting them to kind of point in this menu, again, it just doesn't bestow a lot of confidence in them.
Here, they get to pick and choose. They choose what they want to go to first. So whenever they put their goggles on after this, they've clicked on the base of the tower. They know exactly where they are in that master plan. So it's really important to give the client this element of control to help them ground themselves in the experience.
And the creation of this is nothing what we just haven't seen a second ago. It's a menu widget with pictures in the background, comprised of simple buttons. Now, these buttons can be as complex and simple as you want.
We actually looked at creating text over the tops of the buttons to, you know. And what we found in testing was that people were either trying to click the image or the button. And we test runned it a lot. And it ended up just, you know, glowing. It's the same as in Scooby-Doo cartoons. If there's a part of the frame which is drawn a little bit better than everything else, you obviously know it's going to move.
So whenever we're looking at the glowing, it's like, obviously, this is something which is going-- it is activated. And that's what we did. And all's it was, it's just a button. We didn't put a button-- kind of overall shape to it.
But we did create a hover image. And that hover image is simple. It's basically just a cutout of that. And we just added a glow in Photoshop, brought it back in. And when we just told it whenever the mouse hovers over it, it just glows. And whenever you click on it, exactly the same as we saw in the previous menu.
Again, looks complicated. All's it is, remember, it's a sequence of events. Run video. Run animation. Start the music. By the way, did anyone recognize the music from the intro video? What is it?
AUDIENCE: Um, from [INAUDIBLE].
DAVID WEIR-MCCALL: There you go. I can always rely on you guys [? in Europe. ?] No one else gets this at all. I put this in and I'm like, you recognize the music? And they're like, no. And I'm like, dammit. Room full of geeks-- I knew you would get this.
And so whenever we're looking at a sequence of events, again, we're just looking to break it down into-- again, if you're not a prolific coder that's fine. I use sequences a lot more than your average Unreal user, mostly because it helps me break down, OK, what do we want to happen first? Open the video. Start the music. Show this.
Then we start to look at the button controls as well. What happens once we click the button? Looks confusing. But again, all's we're doing is kickstarting the animations because we tried to be fancy with our animations. You don't have to have these animations where it zooms in. You can just keep it as you click it, and you appear there if you want.
We start VR. We then choose where you're going to be teleported to, what location. Now, this can be done with game [? starts, ?] with these little icons that you just drop around the site. And you say, go to that icon whenever you click on this button. Or you can type in the coordinates of exactly where you want to go.
And now, look at the size of this master plan. This is what I'm talking about. Whenever we're trying to ground the client in an experience that they feel comfortable in, how am I supposed to drop them in any of these random areas and make him feel comfortable that he knows exactly where he is. He doesn't. But whenever you bring them out to this kind of scale and say, select where you want to go, they then get a sense of steering the conversation.
But the problem is I don't want the client to always have to come back out to that menu to go to a new area. So what we tailored the experience around, and tailor all our experiences around, is once they're in there, we need to make the navigation inside as easy as that menu.
So whenever we're looking at it, first of all, we introduce teleporting icons. And this is nothing new either. We looked at typical icons everyone's seen everywhere, which I assume most people know that if it's a pin, it's a point of interest. There is something there.
So we just brought in one of those 3D icons. And this an example. And we put it in places which are really a little bit fiddly for new people to actually get to. So everyone's had this experience if they've used VR with clients, where you're trying to steer them to get to the right location.
And you're like, so if you just turn around and look up, and if you just press that button again to tell-- it's just-- this is not a dialogue you want to be having with someone who's new to VR. You want it to be very fluid.
And you don't want to have to go, oh, no, no. If you just come back a little bit more. Turn around. Turn around. All right. OK. And they're moving around like this. This is not a good client interaction. You need to make it simple.
So yes, they could've just walked up there and did the short-range teleport up. I don't trust they're going to be able to do that. I know they can't do it because I've had so many experiences where that goes wrong. So what I can do is they don't even have to move. They fire a laser. They go directly to where we want to be.
So we dumped these around all over the place, just in the short range navigation. Very, very quick. And all's it is-- this is Unreal-- we bring in a 3D model of just a wee pin. And we add a base to it. It's just a plane. It's just this tiny little object at the bottom.
And all's I'm going to be doing is basically telling the code that whenever I point a laser and let go of it, it takes me directly to that base point. Let's look at a couple of these. These are not complicated, and I've broken them down into the handouts as well.
First of all, we like to be fancy. I made it rotate because, you know, a little bit of animation always helps. And then I told it that whenever I let go of the laser, it teleports me to the location.
And also, I don't want just these pins floating around because they might not understand. I want if the laser goes over it, it changes material. It changes red to let you know, oh, something interactive. It's the Scooby-Doo mentality again. Something different's over here.
And then we look at the point of interest. So very similar to the teleporting pin, I don't want to have to go back to the zone selection menu unless I'm going miles away, miles and miles and miles.
So instead, I want to make the client just, again, very simply be able to go to one of my other points of interest or areas within the master plan so amazingly easily. I've got to quickly check the time. Oh, no. We're good.
And so we've got these points of interest all over the place. So remember in the zone selection menu you had the towers, because I wanted the client to go to the towers. Well, we turned them into huge big beacons of light. So with our laser tool, whenever it hits anything that isn't interactive, it doesn't glow. But if it is interactive, it does.
So they don't have to use the short-range teleport. But if they just let go, they're teleported exactly what I want them to go, to see exactly what I want them to see. There's no trying to get them to get, OK, over here. And if you just stand right here. This is a good view right here. No, no, no. You're going to go and see exactly what I want to see.
So whenever we go to the towers, I'm not having to talk about, OK, you select which floor you want to go to. I don't care which floor. I want to see the good floor. I want to see the amazing floor, the valuable floor.
And so I set up all these parameters to control the navigation. Because the last thing I want is them getting trapped on a balcony or not understanding how they get off, or selecting from a variety, again, assuming they've never used this before. You can't assume anything else at this point.
So let's look at the creation of this. The creation of this-- so easy. We looked at-- remember the tower, how we just created the floor plate? First of all, all we've done is created the same base point we had with the drop-in. So that's my teleport point, the point I'm definitely going to want the client to go to.
And the construction of it is just this little guy here, this little single floor plate. That's all that is made up of. It's just that 3D model from 3D Studio Max. And obviously, the crown as well. And the construction of that, all's I've done-- this is a little bit more complicated.
But all's I've told it is an integer and a flow to basically how high the floor-to-floors are, and how many floors they're going to be. And at any point, I can go in here and go, hmm, 50 floors.
So if the client goes, oh, I don't know. I want this to be 100 floors, the world's biggest tower again. Then I can go in and quickly change the numbers, and the tower will then add extra floors to it.
And then the only other thing we did was the same teleport, to teleport directly to the base point, and change the material whenever I hover over it, so they know it's a actual interactive point. So there really isn't anything-- there's nothing that complicated about this once you understand basic principles.
I mean, these-- and if we actually read how you do it is, move here, teleport here, change material. Scripting in here is very intuitive, even for those who are not confident in Grasshopper or Dynamo.
And now we've got to think about the controls. Because, again, this may be their first ever time. I don't know if anyone's ever had the fun of trying to explain to someone who doesn't know what VR-- what the HTC grip buttons are. But the grip buttons is just-- it's one of these things, you're like, I'll make that button interactive. And that one does this.
And then you're trying to explain to them, so just where your fingers are, if you just press in. No, no, no. And you're actually then starting to touch them.
And you're like, you don't want to touch the client. [? Because I mean, ?] they really don't like that. And especially in the UA, they definitely don't like that. So we have to make the controls as easy and as simple as possible. And so let's look at a couple of examples. Keep it simple.
This was one of our ones we did, and it was just awful. Absolutely awful. We had all these buttons. We're were like, ah, what we'll do is we'll have a button to teleport us to different places. So when we click it, it'll take us to the tower.
And then, we were like, oh, but these control pads are really complex. What we'll do is whenever you look at it, it has a little option that tells you what it does. No, this just did not go down well at all.
No one knew how to use it. No one knew what the grip buttons were. And what it meant was I was having to intervene in the experience a lot, which is just not a good experience for anyone.
And this was the Dubai Creek Harbour one, where all's we did was we just activated the thumb button on one, and the trigger on the other. So it's just this. That's all it is.
And in fact, we made it in such a way that I could actually, depending on how confident they are, I might not even give them the short-range teleport. I might just give them the laser, so they can just stand in the same place if they're really tepid, so they can just teleport around to the [? R ?] hot points. So again, making it as simple as possible will really save you a lot of time and make the client experience a lot better.
OK. So again, with this background, we can literally take the hassle out of creating our own animations. It gives us a great default to start working with. And all's we needed to learn how to do is whereas [? anima ?] does point A to point B animation, where basically what happens is you tell them to go from here to here.
And then what happens is they get to the end. And then suddenly they snap back to point A. So there's always this point every 60 seconds, where all the animations just go [EXPLOSION SOUND], right back to the beginning. So it's very matrix deja vu-like.
I keep challenging the rendering. I was like, I don't want that. I just want them to randomly walk around. Or I want them to just be in this. I don't want this snapping back.
So we actually did a little bit of [? slight ?] coding, which basically tells him that, pick a point, any point in a 200-meter radius. Walk towards it. Walk towards it for, say, five seconds. And then stop. Do the same again.
And all's you'd then end up having are people who are just [? randomly ?] mulling around. They'll stop. They'll then go in another direction. And we had lots of people in there. And whenever they bump into each other, they stop. Look like they're chatting and [? going around. ?] That's all I want them to do.
Again, it's not about the people, it's about the architecture and the master planning. But that is enough to make the scene like it's full of people, and actually, animation.
And also, the great thing about people is it gives a sense of scale. Now, a low-- everyone's like, VR is perfect for scale. Unless there's something to scale against, no one has an understanding of how big it actually is.
So whenever we're looking at our master plan, and you see these tiny little specks in the distance, I'm like, that's a person. And they're like, whoa, it's huge. Whereas, before that they're just kind of looking at it going, oh, yeah. It's pretty big. So you really want to give an element of scale, and that's what people are great for.
And collisions are basically telling them-- again, this is back to our 3D Max and our kind of importing and exporting from Datasmith. So really, you need to actually import and group and export from 3D Max into walkable paths for our people.
And this is where, OK, we've now got people. We've not attached and detached it properly. Let's quickly go back into 3D Studio Max, reimport, export, done. Just like that. It's a very quick turnaround, and a very quick option to actually update it.
And we won't go into this one, but the advantage is, is that I can start now controlling and showing the client different design options, different models, different architecture. This was one basically showing them the width of the sidewalk. They're like, it's not wide enough.
And I was like, OK. Well, here's the different iterations. And we can bring them in. And again, I could build a VR [? watch ?] so they control it, or we can just talk them through it.
But either way, that is really the benefit. Whatever you can imagine, you can do it within Unreal. You just have to dedicate a little bit of time to figure out how. But stuff like this-- amazingly easy.
And there's so much more. I mean, I could talk about this for days and days and days. You can go into more complex stuff like level streaming. There's different-- well, in the simplest form, LODs for shadows and lights and occlusions, materialities, cars, information points, atmosphere, camera lenses. But really, the big hitters are the ones we talked about. These are just added extras.
To summarize very, very quickly before we jump into questions. We don't care about those long-winded explanations. We care more about, first of all, optimization.
It is so important to optimize with larger models. High frame rates are so important. So it is really important that we get this out of the way very early on. But once you get the hang of it, the turnaround is really quick and easy.
So for example, the two days before a client presentation, we got a new model from one of the architects. And we were instructed this has to be in the VR presentation. I'd spent so much time optimizing, that I was like, OK, well, what do we do?
And because I was familiar with the stats, what to MultiRes, what to not, what to manually do, turnaround time was less than a day. Got it in, and the client was unbelievably happy.
And then it's about migration. Again, get familiar with the workflow. The idea of throwing a [? spanner ?] into your current workflow is not ideal.
And this is why a lot of VR things fail, because you're interrupting a bunch of architects and urban planners from their daily routine into something which is new and foreign to them. Unreal Studio helps make that job a little bit easier and a little bit faster. And they're only going to get better the more we speak to them.
And then-- I think my clicker is done, too. OK. I'll just talk through the last bit because I think we're just about out of time. And so whatever the last one was, the navigation, again, large-scale navigation is so important to make that process as simple and as quick as possible.
Again, you've got a large scale to cover. Ground them in the experience very quickly, very simply. And assume that they've never seen it before, even if they have. And assume they've never used VR, even though they have as well.
And finally, use the gaming engine. Whatever you picture, whatever you want to create, it's there. And I think that was it.
And then last thing I was just going to quickly mention was, what's in store for the future? This is just the start. This is just to get you started. There's so much you can do with it. There's so much extra you can take this to.
You can start to look at linking these into data programs-- Grasshopper, Dynamo-- so you can actually get Unreal to build things based on the architectural software. The idea of headset VRs are, again, becoming very limited.
So we're looking at VR where it's in a huge geodesic dome. It's an inclusion thing where everyone can stand around and actually go through the VR experience. So there's lots of potential in places that Unreal can go because it links into so much different technology.
So that's the presentation. And I'll try and reboot it to see if we can get it back up. For now, I think we can open up to questions before-- we've got about five minutes. Any questions? Right. I think we'll start with yourself.
AUDIENCE: Yes. Have you developed any [INAUDIBLE] for the Oculus Go in the [INAUDIBLE] [? VR ?] and [INAUDIBLE]?
DAVID WEIR-MCCALL: The challenges of that are basically the size of the models. You have huge, huge models. And you're trying to get them down onto things that can work on phones and very slow processors.
We have done it with the Dubai Creek Harbor one. But we have to strip out a lot of the animation aspects of people walking around, the trees, the wind blowing.
But we are able to then export it from Unreal into those platforms, but just a much, much, much simpler version. Because they're just not powerful enough.
AUDIENCE: OK. Thank you.
DAVID WEIR-MCCALL: [INAUDIBLE]
AUDIENCE: I just have a question on--so you showed the workflow for the 3D Studio Max [INAUDIBLE]. Can you talk about [INAUDIBLE] within [? the circle of ?] Revit [INAUDIBLE]?
DAVID WEIR-MCCALL: So the Revit compatibility only just came out two days ago. Unreal 4.21 has Revit. So we're going to have a chat with them later today. I'm hoping it's going to be just as quick and simple. I don't see any reason why wouldn't.
I tested the SketchUp one because they did the 3D Studio Max one. I was like, great. SketchUp one. Let's see if that's the same. Exactly the same process. What is it you want to import? X, Y and Z.
There will be limitations I see in the optimization of the Revit models. But the migration process will be very quick and easy.
AUDIENCE: [? How ?] [? big ?] [? did that ?] [? program end ?] [? up being? ?]
DAVID WEIR-MCCALL: The Unreal-- the final one?
AUDIENCE: [INAUDIBLE] .
DAVID WEIR-MCCALL: The VR ended up being, I think, 2 gig. Just, again, I think what we threw in about 2,000 or 3,000 people, and it bumped up to about 3 and 1/2. But the initial one which we sent out to people that was transferable by WeTransfer [INAUDIBLE] 2 gig. Yes?
AUDIENCE: Are your models on a coordinate system?
DAVID WEIR-MCCALL: Are we what?
AUDIENCE: Are your models on a coordinate system [INAUDIBLE]
DAVID WEIR-MCCALL: Yes. So this is also really important, that you have to set up a base coordinate system very early on. Because whenever we are updating or bringing in new models, especially from other architects, if they're not in the right geolocation, Datasmith's just going to import it to the wrong place.
But because it's right in our architectural programs, it means when you import it, then Datasmith translates those data coordinates into Unreal as well. So that's really important to make sure you get it off the bat very early, because there's architectural integration. Any other questions? Yes?
AUDIENCE: Were you able to do everything you needed to do programming-wise [? with the ?] [? node ?] [INAUDIBLE]? Or did you have to [? break it out ?] [? in various ?] [? codes? ?]
DAVID WEIR-MCCALL: Again, I'm not a coder. Generally, I try to stay out of it. And from my perspective, I was trying to find the easiest way to integrate it into our workflow. The second we started doing stuff like Python and C++ coding, that takes it to a whole new different level of what I'd expect my team to be able to handle. And then creates a very specialized niche.
So actually, most of the stuff we covered here today, it's all just simple node selection. I know you can. And there's even so much more you can do with the Python and the C++. I didn't find the need to do it just yet. But I probably will in the future. And then I'll be hiring someone in to actually do that. Yes?
AUDIENCE: [INAUDIBLE]
DAVID WEIR-MCCALL: Oh, sorry.
AUDIENCE: Are [? you going ?] [? take your VR ?] [? knowledge ?] to record video [INAUDIBLE]?
DAVID WEIR-MCCALL: So record as in the whole experience, or just using animations to send out to clients?
AUDIENCE: [INAUDIBLE] [? produce a ?] [? short ?] [? video. ?]
DAVID WEIR-MCCALL: Yes. Because that's actually a very useful tool for what Unreal does, is that because we spent all this time making this amazing model, I can actually just do very quick [INAUDIBLE] around it. We do. It's not something that-- we only do it whenever the client asked it.
Because they're like, this was great. I want to show my client, colleague at a stakeholders-- can you export the out into a video?
Sure. Create a couple of cameras. Fly through. Takes less than a day, and you've already got it. So it's a great use for what Unreal can actually do. Yes?
AUDIENCE: [INAUDIBLE] the level of detail [INAUDIBLE] [? do you ever ?] [INAUDIBLE]?
DAVID WEIR-MCCALL: There's not a fade to it, no. It's a case that is just a cutoff point. This is very similar to the LOD breaks. With the culling distance, you want it to a level that you can't see it happening. It needs to be invisible in the background.
The second you start seeing that line moving, it's just not good. So again, just set that distance just to be a little bit further away than where you'd stand, and you should be absolutely fine. Yes?
AUDIENCE: Do you have one person taking this whole process from Revit all the way to this? Or is that broken up? Do you have different [INAUDIBLE]?
DAVID WEIR-MCCALL: At the moment we've got a small team which take it into Unreal. And they are typically the same team that have worked on the particular master plan.
So it's not we hand over to a different department to do. I think it's important to integrate it into all our workflows. Because if we don't, then it's just going to be another one of these foreign things which no one ever uses.
My aim is to try and get people, the everyday users, into this as quick and as easy as possible. So generally, we like to get our guys using it from start to finish. You have worked on the master plan. Let me show you how to put it into Unreal-- just like that.
The other great thing-- sorry-- just for your question, is that these assets, these things that I'm creating, the people, the grassy objects, the trees, the benches-- they're translatable to every project. So the second you've done it once, you just bring it into another project, and it's already set up and done for you.
So it involves a little bit of extra time at the start, but quicker turnaround. The first one took us a month. The second one took us two weeks. Very quick and simple. And sorry-- yourself first.
AUDIENCE: [? When ?] [? you ?] [? give ?] [? it ?] [? to ?] [? the ?] [? client ?] in VR, do you get requests for more changes when they inspect it, or less?
DAVID WEIR-MCCALL: A lot more changes. It shows them the model in ways that they've never seen it before. In fact, the DCH one with the tower? That was the first time-- we had the architect come in. It's the first time they'd ever seen their own tower in VR. It was also the first time that they were looking at things.
And that was where that sidewalk came from. It's the first time-- they were like, that sidewalk's really narrow. And we were like, yeah. And they were like, can we look at widening? And I'm like, of course we can.
But before that, they had seen renders, they had seen animations, and they just never [? clocked it. ?] [? It ?] wasn't enough. So we do get a lot of comments. But the client satisfaction is a lot higher because they're able to catch these early. So it does help quite a lot. Yes? Sorry. Yourself first, and then-- OK.
AUDIENCE: Are you [? purchasing any ?] of your models in augmented reality or [INAUDIBLE] [? future? ?]
DAVID WEIR-MCCALL: Not yet. In the Dubai office, we generally focus more on preconcept and concept design. The use of AR at the moment in those stages, I think, are very basic. I've not seen a huge use or need for them. Whenever we start playing with the Magic Leap goggles, I'm sure that will change. But at the moment, no.
You can, though. Unreal, again, very good program. There are ways you can export it into-- they've actually got a development package for Magic Leap. So very soon those models we've already created, we can put into AR platforms. It's just a slightly different process and tools. So you can. Yes?
AUDIENCE: So you mentioned like SpeedTree and [INAUDIBLE] [? models ?] [? and then ?] [? run it through ?] [? the LOD ?] process?
DAVID WEIR-MCCALL: Yes. Only because I'm able to control it. I'm not-- and again, it's a little bit of extra time. But SpeedTree is phenomenal. We were looking to use them and bring them in. But I'm always trusting that they've modeled their trees correctly, or they've done their LODs as good as they could possibly.
They're also 3D tree makers. They care that their trees look phenomenal, even from a distance. I don't care. It could be a ball on a stick for all I care at 300 meters. SpeedTree wouldn't do that. Whereas, I would. So it just gives you a little bit more element of control over your LOD models if you just quickly do it yourself.
AUDIENCE: And you control the SpeedTree models yourself [INAUDIBLE]?
DAVID WEIR-MCCALL: You can. They're constructed really complicated. You can, yes. But then you're buying these trees, these expensive trees which have been done, only to then go in and rip them apart yourself. You're cheaper and simpler just to get these simple models and actually just--
Remember, the trees are important. But no one's here to see trees. No one's going around going, those are some lovely trees. No, no. They're--look at the tower. Look at the buildings. That's what's important. So the simpler the tree, actually the better.
Any others? I think we're probably bang on half past, so I'll let the other speaker come in and let you go. Thank you very much for coming.
Downloads
Tags
Product | |
Industries | |
Topics |