Description
Key Learnings
- Understand what Stingray is and how it can be used to convey design intent
- Learn about prepping civil designs for import
- Learn how to create animations from civil alignments and import animated vehicles to Stingray
- Learn how to create a basic interactive viewer
Speaker
- DLDave LawrenceMr. Lawrence spent the last 20 years with firms that have become AECOM. There he led a Design Visualization Team from the AECOM Phoenix office. He is highly proficient working with Civil/Map 3D, InfraWorks, 3D Studio Max, and stingray He has worked with multidiscipline teams to create workflows to incorporate data from other applications including with ESRI; Bentley, and Adobe applications. He has integrated InfraWorks 360 software into civil, federal, state, and local projects throughout Alaska, Mexico, Canada, and the Western United States. Mr Lawrence is now an AEC/ENI Premium Services Specialist at Autodesk. He has presented classes at the at Autodesk university 2016, 2015, and 2014, Edison electric instate (EEI) transmission line sighting summit, and the Arizona council on geography (AGIC) conference.
DAVID LAWRENCE: So, for all the people that just came in, I've been trying to find out level of experience. People who came in since I asked it last, really good Stingray people? Anybody?
Just learning Stingray people? Used it on a project. OK. So we're playing with it but haven't used it yet is most of the people.
And you have it loaded. All those people who raised their hand, you have it loaded and you've actually opened it? OK.
And of those people, 3ds Max users? OK. InfraWorks users. OK. Revit and Architecture users. OK.
All right. Anyone want to share one thing they want to learn about Stingray today? What do you want-- anything you specifically want? Anybody have one of those things that they really want to learn?
AUDIENCE: [INAUDIBLE] integration from 3ds Max.
DAVID LAWRENCE: OK. Anybody else?
AUDIENCE: Revit workflows. Revit workflows?
DAVID LAWRENCE: Revit workflows. You're not going to learn as much of that in this class. Just so you know. It's mostly going to be Civil stuff. Revit workflows are going to be utilizing more of Live and then into Stingray.
And one thing I would encourage you, with Stingray in particular, is stay up to date. Every time they put out a release, look at it. Because they're doing some major changes each time as far as compatibility and availability for import-export tools and things like that. So stay up to date.
And watch for the new ones coming out. Because there's cool stuff coming. But I didn't say that. I didn't say anything.
Any of the dev team in here, so I don't get in trouble? I don't see anybody, so-- I won't-- I'm not saying anything, though. What? No.
I think we still have a couple minutes before class is supposed to start. Are You guys mostly focusing on VR? Or are you wide variety?
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: OK.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: OK.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: OK.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: All right. I asked the question earlier. Let's see if anybody can get it. What's the current version of Stingray?
AUDIENCE: 1.4.728.01.
AUDIENCE: [INAUDIBLE]
AUDIENCE: I just downloaded it. It's 1--
DAVID LAWRENCE: That's not the latest version, though. Nope. That's not the latest public version. Close. 1.5 what?
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Do you know that? You're the closest, though.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Just wondering.
AUDIENCE: 1.6 Is coming out November 30.
DAVID LAWRENCE: Have they announced that?
AUDIENCE: Yeah.
DAVID LAWRENCE: OK. I would say watch for that. There are some cool things in it. So, there's some very cool things in that. And I don't know if they've actually published what-- they're in it. So I'm not going to say anything about that.
But I've seen some of the stuff that's coming. And it will make some of the stuff we're going to talk about easier. And it will make your life a lot better, especially for the Revit guys. It will give you some more streamlined workflows.
But I don't know what they've disclosed publicly so I'm not going to say anything. Because I'm not officially on the dev team. So I can't say that.
So I'm going to kind of do some of the intro stuff. My name is Dave Lawrence. I work for Autodesk. I just started working for Autodesk in March.
For the past 20 years, I've been working for, first, Dames & Moore, then URS, then AECOM. All kind of got gobbled up each time. When I left, I was working doing their design visualization out of the Phoenix office.
So, I've been using Autodesk products since I was 12. I started drafting when I was making some speaker boxes for my brother's car before I could drive. And I started looking at designing in 3D and trying to calculate all the volumes and things like that, and looking at how to do it.
Does anybody know the old RX-7s, like, the '81 series? They've got these little storage boxes behind the seat. And if you pull those out and you look in there, it's very trapezoidal, and really funky shapes.
And so if you're into car audio-- I don't know if anybody's into audio-- I am. And I'm into good audio. I like the good audio. So I like my speakers to sound right. And so to calculate the volumes is important to make sure the sound comes out right. So you can affect the pitch and tone at different frequencies, based on your volume metrics with the speaker boxes.
So that's how I got into it. And we were calculating all the math for the volumes. And my dad was trying to teach me the trig and the geometry to calculate the volumes.
And I said, this is dumb. I have to keep doing this every single time. This is dumb. I want to be able to do it and recalculate it and let the computer do it.
And he's like, well, I've got this drafting program I don't know how to use. It's called AutoCAD. I don't know how to use it. But if you can learn how to use it, you can use it.
So I just started using it. Because I'm like, I don't want to repeat these things over and over and over again. So I picked it up and I started learning.
So, I started at a young age doing the idea of not having to redo work or change or do offshoot work. It bothers me to have to rework things. So I've been doing this and I've been working on trying to make things more streamlined for a long time.
So, I don't know if they're-- Mr. AV Guy? Are we started already? OK. We're live streaming. So I wanted to make sure we were on.
So, that's me. I'm Dave Lawrence. I've worked in the civil AEC industry for the past 20 years. I'm now with Autodesk.
One thing I want to talk about-- do you guys know what the cohort program is? How many of you guys work for firms that have EP support-- enterprise priority support, or global support? For all of you, and the others, there's a new program called the cohorts.
And they work with you and work with people that are trying to do the same kind of thing. And they work directly with you and help connect you with other peers in the industry so that you can get connected with them and learn and shape the industry. Because this industry is changing a lot, quickly. And so being connected with other people that are doing the same kind of thing is important.
And so we have cohorts in virtual reality, additive manufacturing, product innovation platforms, infrastructure. And so, some of the stuff that we're going to go-- if you are an EP customer and you've worked with some of the cohorts, you might have seen some of this before. Some of these workflows have been-- I worked with Dave Tyner, our cohort for Stingray, to get some of these-- he's developed a lot of these scripts that we're going to use to help streamline some of the workflows.
And so that's the cohort program. And it's really great if you are an EP customer. Or if you're not, reach out and see if you can get in touch with the cohorts. It really will give you an edge up.
So, we're going to focus on some basic workflows, specifically from InfraWorks, Civil 3D, and Max, into Stingray. And talk about how to get your data in, and use it, and get the animations in, and use them.
So, I'm going to try and do a lot of live demo. I've got video backup just in case. But I'd rather do it live and have you guys give me feedback while we're going to get through it. We have some time to do it.
What I'd like to end the class with is you understanding what Stingray is a lot better. And that's my biggest goal, is help you understand Stingray and feel like you could do something with it today. My biggest goal is to have you feel like you could get into it, by learning how to prep the data for Civil and importing and being able to import animations in there and basic interactive viewer.
I'm not going to really go into the viewer a lot. Because that's a lot in scale form and more programming. And there's other classes in here that'll cover that a lot more. But I'm going to go really basic on how to export something that you can give to a client.
OK. So what is Stingray? Simply put, it's a game engine. If you go to your boss or your manager and say, I want a game engine software, a lot of times that doesn't fly very well. So I've come up with a couple of different things that I use. But-- it's immersive. Immersive technology.
One of the things that I like to explain to managers, and you kind of have to-- if you're going to tell your friends what you're working on, you're like, I'm working on a game engine. And that's what you want to say. And it's just fun. It really is fun to work on.
But, when you talk to managers or your clients or customers, you need to help them understand why it's useful for them. And that's going to change depending on your industry. So, I'm going to give you some tips and stuff throughout the class. But know that there's not a one size fits all answer to things.
So if you're looking for a workflow that's put it in a book, print it, and have it forever, that's not what Stingray is going to be like. Stingray is going to change. And it's going to keep up, changing. So you need to keep learning.
But there's probably about four or five ways to do everything. And so I'm going to give you some ways. But other people might give you other ways. So, neither are bad. Neither are necessarily the best. But you can get the same results multiple ways.
So, Stingray gives you the ability to do immersive, real-time design visualization, and do it in an environment that connects to your other design software. That's kind of a key thing. And it also allows you to author to multiple platforms.
Whereas-- I've been doing design visualization for a long time. And it used to be, always, that you'd go through the process. You'd hit render. And you'd deliver a video. And either your video is huge-- if you're doing high def, or you're streaming it, or whatever, and that's pretty much all you deliver, is a video.
Can everybody hear me, by the way? OK.
And that's really challenging sometimes. Because you may not get the view that your client wants to get. You may not get the views that they are wanting to worry about. They may be concerned about something other than what you're showing.
So, how can Stingray be used to convey design intent? I'm going to talk about a project that I worked on about a year ago. And I kind of reworked it again this year. Last year, coming to AU, I almost missed AU because I had to get a project done.
And tell me if any anybody relates to this situation. It's a Tuesday afternoon. I'm talking to my team. We're looking at workload.
It's about right. It's not overly packed. But we don't think we're going to have to work the weekend. So, we're happy about that.
And then I get a call from a project manager that says, hey, I need you to get this done for this city council meeting that's next week. And you're like, oh, no. So, I mean, especially you design vis guys that have done renderings, you're like, what? You agreed to what?
And so, you're thinking, OK. I've got to get this done. I've got to get it done on time. I've got to get it looking right.
And so what happened to me, it was a Tuesday afternoon. And I got a call from the guy downstairs. And he wanted us to do these renderings of this project and have them done by the next Tuesday. So I had literally one week to take the set of design plans-- they gave them to me digitally, too, but they were all 2D-- and turn them into 3D renderings and put their artistic treatments on these walls for the city council hearing, so they could understand what it looked like driving down the road, from the supermarkets, from the different approaches.
And so I used InfraWorks at the time. And we got it done. And it looked OK. I mean, it looked OK. It wasn't my best work in the world. But it looked OK.
So, to contrast that, I'm going to hop over to Stingray here. Now this is the same project. And it's still not 100% my best work. But I did this, from the time I had the FBX files to the time I had it in Stingray, where I can do it in real time like this, and fly through it, it was about 4 and 1/2 hours.
So I can take the design, and instead of doing a render file and instead of doing my pre-canned flightpath, I can hand them a game controller and-- don't knock my driving. I'm not that great. I can drive-- I know. I'm not that good.
AUDIENCE: [INAUDIBLE]
[LAUGHTER]
DAVID LAWRENCE: I'm in Vegas, you know?
And I could drive this file and go down. And I'm going to show you the walls that they were concerned about. So the city-- rrrr-- let me peel out here. The customer was really concerned about these walls. Ah, let me see if I can drive with my keyboard. Sorry. I'm making you all sick.
AUDIENCE: I can see why he's concerned.
[LAUGHTER]
DAVID LAWRENCE: Yeah. So, let's see if-- I'm going to drive a little better here. So if you look, they were coming up with these MSE walls that have these agave patterns on them. And they wanted this specific style. And they went through-- we ended up rendering 14 different tile patterns.
And so, after the first rendering, I was like, OK. I cranked through this project, got it done. And then they came back, well, we want to do this other tile pattern. And we want to do this other tile pattern.
And so I ended up getting all these renderings. Ended up having to work that weekend, the next week, and the weekend after. Because they kept asking for all these things. And I did this.
And I can actually just replace that wall pattern with a new FBX and have it reload and I can redrive it. Unfortunately, my lane stripes didn't come in. But I wanted to show you something that you could get done in literally a day. So--
AUDIENCE: [LAUGHTER]
DAVID LAWRENCE: I crashed. So, but, you could see, the road has physics. The cars have physics. It actually-- you're crashing when you crash. And I added-- you know, for this project, they didn't care so much about the trees or the buildings. But they did want to know what happens when-- oh, sorry.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: I'll cover adding physics to objects. Because you have to add the physics to the objects so that you can actually collide and it doesn't let you fall through like that. So, but, you need to manage your memory and not do all that.
So, we're going to kind of go through the process of making this and show you some of the workflows. And I want to show you how you can go from zero to Stingray in about 30 minutes. And that's what's so cool about some of this stuff.
You can have something you can show to a client really quickly. And then you can iterate it. You can add more data to it. You can link your data to it and keep adding to it.
So, I'm going to bounce out of this. Any comments, questions, critiquing of my driving? My driving is really bad. I know.
So that's what we're going to go through a little bit. So prepping your data for import. Has anybody ever tried to pull InfraWorks data into Stingray? OK. Did you get it in successfully? Did it look the way you wanted it to?
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: OK.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Did you get the black tiles?
AUDIENCE: I didn't.
DAVID LAWRENCE: Oh, OK.
AUDIENCE: I actually got [INAUDIBLE]
DAVID LAWRENCE: OK.
AUDIENCE: I think I did the first one, one of the aerial images were missing.
DAVID LAWRENCE: Yeah. The aerial images are missing often.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: The black tiles.
AUDIENCE: Yeah.
DAVID LAWRENCE: OK. So, has anybody seen-- I think it's called [? Paraxis. ?] We have a new tool out there that lets us build-- let me see if I can flop over. My internet is being slow on this thing, so-- I'm going to go here.
So, I've put together this workflow. And I put the link on the PowerPoint. And I'm going to put the PowerPoint up there. But you can zoom in and look at the workflow.
And so what we're going to do is go through the typical thing. You start with Model Builder. You go through. You set up your offsets in Export.
We're going to go into 3D Studio Max, run through several scripts that will prep your data, clean it up. Sanitize your bitmaps so that it'll come in correctly for you. We're going to change your object names based on the material. Because if you have multiple objects with the same material--
Here. Let me flop back to the PowerPoint for you, the guy taking the picture. I think you're from Sundt, right?
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Yeah. Take a picture so you get the link. If you're going to take a picture of the workflow, take a picture with the link, so you can go to it.
AUDIENCE: [INAUDIBLE] available?
DAVID LAWRENCE: Yes. I'm going to pop it up there. It's not up there right now. But yes.
AUDIENCE: Hardly anyone was paying attention.
DAVID LAWRENCE: Sorry. But this workflow is on a website. It'll be there. And what I'm doing is putting everything into the-- so for each box, you'll be able to click on the Info button and it will pop up another page with more content through the AKN page.
So we're going to go through this and clean up the process, kick it out to Stingray, and pull it in and author it. So, anybody got questions at this point? And feel free to speak up. I want this to be interactive. Stingray is interactive. So--
AUDIENCE: Are you doing single [INAUDIBLE] rather than InfraWorks? Or do you separate it into [INAUDIBLE]
DAVID LAWRENCE: So, it's a good question. I personally like to break up stuff. Because a lot of the stuff I work on is big.
Especially in the civil world, your stuff's going to be bigger size. It's going to be bigger area. And you want to break it up, and specifically for memory management.
The way Stingray works, if it's one file and it's all together in the mesh, it's going to load all that together. You want to break up your meshes as much as possible so that it's not loading everything at once. So the more separated it is, the quicker it will load those pieces.
Because it only loads what you see. So it's loading that with the GPU on the fly, while you're working. So if you have it all together in one big gigantic file, sometimes it loads a little slower. Smaller areas, that works great.
So you've kind of got to-- like I said before, there's not one magic pill of what's the best workflow. You've kind of got to look at what you're doing and figure out, is it better to break it up? Or is that going to take more time, and I don't have as big of a file that I need to do that. So if I was doing, say, a site plan-- somebody in the back.
AUDIENCE: [INAUDIBLE] I've had a lot of issues with it [INAUDIBLE] I was curious if you've ever exported [INAUDIBLE] direct into Stingray, and [INAUDIBLE] exact location of the [INAUDIBLE].
DAVID LAWRENCE: Yeah. We'll talk about that a little bit.
AUDIENCE: Good.
AUDIENCE: Can you use level of detail to swap, not just an amount?
DAVID LAWRENCE: Yes.
AUDIENCE: Is that a good management tool?
DAVID LAWRENCE: Yes.
AUDIENCE: [INAUDIBLE] bringing it close?
DAVID LAWRENCE: But, once again, if it's one big object--
AUDIENCE: Understood. But you break everything up, and then you just--
DAVID LAWRENCE: Exactly.
AUDIENCE: [INAUDIBLE] swap [INAUDIBLE].
DAVID LAWRENCE: And that's what gives you the advantage, is through the Level of Detail display. The more broken up it is, the more it can do that. So if I go back to my Stingray file and click on these tiles, you'll see my terrain is broken up into the tiles. And that's natively kind of how InfraWorks exports it. But we clean it up and send it through.
So, and then, for the roads, I actually did that because I was lazy. I just wanted one file. And it was small enough that I didn't have to worry about it. If your polygon size is huge and you have a lot of detail running through there and you have a lot of terrain, you might want to break that up a little bit more than what I did. So, anybody else? OK.
AUDIENCE: I have one more.
DAVID LAWRENCE: Yeah.
AUDIENCE: What about [INAUDIBLE] I've had a lot of issues with [INAUDIBLE] Stingray [INAUDIBLE]. Is that a common issue you've seen [INAUDIBLE]?
DAVID LAWRENCE: From InfraWorks in particular, or everything?
AUDIENCE: Yeah. I always have to go to Max first and rename all those materials.
DAVID LAWRENCE: Yes.
AUDIENCE: And they're standard materials. [INAUDIBLE] I don't understand why they're not coming [INAUDIBLE]
DAVID LAWRENCE: We're going to cover that really, pretty quick here. So, when you export-- I'm going to pop up my file here. Everybody know what Model Builder is? OK. We got a couple of nos.
So, just really quick, InfraWorks has a tool called Model Builder. You select an area. It goes out, gets terrain data, imagery data, road data, and generates a model. So it's really cool for getting background data. So if you haven't seen it, check it out. Model Builder's kind of cool.
Be careful with the data, though. Because it's coming from sources like open street maps and other things. So it may or may not be the most correct data in the world for the roads. So, make sure you do that correctly. And just double check it.
So, as soon as this pops up-- as soon as it pops up-- and I might-- I'll hop over to here while-- so, what I do when I export-- I'm going to go over here while that one's opening. That's a big file. So, what I've done is I've done a couple of things here. And let me hop into my directory.
AUDIENCE: What do you consider a big file? In the automotive world, [INAUDIBLE] just wondering what you consider big.
DAVID LAWRENCE: Well, my trees were 280 megs, just-- or, not 280 megs, but-- I mean, yeah. 280 megs. So--
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Yeah.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Yeah.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Yeah. So, the whole model is five gigs. But the other thing is, too, you've got to look at the faces. So when it converts in, if it's like a T-spline, or if it's a smooth surface, it may not have nearly as many faces. So it's not going to be as huge of a file.
AUDIENCE: We are in control of the tessellation because we're doing [INAUDIBLE] for [INAUDIBLE] and stuff.
DAVID LAWRENCE: Yeah. So, it just depends on how much your mesh is tessellated. So, in the export from InfraWorks-- and I'm going to go back to my PowerPoint while those loads, because-- there we go. Sorry about that.
So, this is kind of what you get from Model Builder. So the people who don't know Model Builder, this is sort of what you get. I've enhanced it a bit.
And so the roads down here are what you get. And then I've built my proposed road here. And in another proposal, I built my bridge. And I export that to Revit and then back in to Stingray. But we're going to focus on this piece right now. So, in-- [INAUDIBLE] question for me?
AUDIENCE: No. [INAUDIBLE]
DAVID LAWRENCE: Oh, yeah. Lots of steps. Lots of steps. And so, watch for 1.6 when it comes out. Because it will help you.
So, we go to Export to 3D. And you'll still have to do all these. So, when you export to 3D, a couple of things you want to look for here is, I can do the entire model. I can do a polygon shape. I can do whatever.
But, when you export, you want to set these user-defined. You don't want to take the default. Or, you want to write them down when you do it. Because no matter what you do, if you change the extants from InfraWorks, it's going to change your model export. It's going to adjust everything.
You want to write that down. You want to have that. I personally like to pick the center of the model, or a known point, like a township range section corner, or the intersection of two roads, something that I know.
And then I rip off the decimals. So, anybody who's used Civil View knows you can't put decimals in this shift. So I always rip those off.
The other thing it does is just, it's less significant digits. So it's less stuff it's got to calculate. It runs faster. I don't know why it runs faster. But it runs faster when you're converting stuff.
So I personally like to pick the center of the project. So for me, right in the middle of the bridge is 0000. I think I had an extra 0 there.
So I'm working in a custom projection system, state plane grid, or ground. We made that in Civil 3D. You have to set up all your custom coordinate systems in Civil 3D.
And then, we go down here to the bottom and we do Multiple files. And so you can either do a Single file or Multiple files. And set your location exports. And I usually will do my ground first. And then I'll come back and do the others. I choose--
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: I don't do the trees with everything. Because the trees are usually big. And I usually don't use the trees that I export. I usually come back and clean them up.
Because the way they export is it joins the texture. So all the trunks of the trees are one mesh. All the branches are one mesh. And all the leaves are one mesh. So--
AUDIENCE: No sprites, no image [INAUDIBLE]
DAVID LAWRENCE: No. It's not a clean export for the trees from InfraWorks. So, anybody who knows instancing and all that, it's a nightmare of memory management. So I don't usually use the trees. But, if you want to, I'll give you my card and I can show you another way to get the points. Go.
AUDIENCE: How did you get [INAUDIBLE]
DAVID LAWRENCE: If you have all the content in there, it will be there.
AUDIENCE: Oh, yeah.
DAVID LAWRENCE: So, it only shows you what's in the model. So if you only have buildings and you only have ground, it will only show you ground and buildings for export. If you have trees, if you have points of interest, if you have that, it will show you more things on the export.
OK, so, I'm going to pretend I hit Export and let it export. And I'm hopping in Max now. And I'll do a File, Import.
And I'm going to hop into my directory. And I usually set up an AIW out directory. Just because I can keep it clean. And then I break everything up.
So, my ground's 43 megs, which isn't too bad. I have a project where we built the whole Navajo Nation. So we have, I think it's, like, I want to say it's 427 square kilometers. It's huge.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: No. There's actually some cool terrain up there.
[LAUGHTER]
It's not just flat. There's some cool terrain up there. But we built the whole InfraWorks model of the whole area. So it turned out pretty cool.
So, here's my ground. And you can see a couple things. If I go to the right angle, you can see it's really shiny. So we're going to take care of that.
We've got these black spots. We're going to take care of that. And so, has anybody ever tried to fix the black spots? Do you know its cause?
AUDIENCE: [INAUDIBLE] what it's called, but I [INAUDIBLE]
DAVID LAWRENCE: Yep. So, if you open up the Material Editor and grab your black tile, and pull up that material, you'll notice that it's got what's called a multi-tile texture. And I personally don't know why it creates those sporadically. But it does.
And it's kind of a pain to go in and manually fix them. So up on the page, we have some scripts I put out there for you guys. And so the first one we have is Remove Specular. So you could choose whether or not to use this.
If you're doing ground, you don't want your ground to be shiny. So that's just kind of a given. So I take that and I drag it on. And it removes all the specular from all the materials.
And anybody know x script in here? OK. Do you want me to bore you with the code? OK. Good. I was happy you guys said no.
So we have the code. And this is up there for you. So that's the first thing that we do. Then we've got-- and this is where the cohorts come into play. They helped develop all this stuff.
And so we want to fix those tiles. And so if I had to fix it manually, I'd go out and I'd click it. And I'd change that tile texture. I'd fix it. I'd have to do that for every single one.
Now we can just do this. And it fixes our tile texture. So now we've got all those fixed.
And so now, what we have, if I go in here and I look at my material again-- let me grab the one that I'm on now. Now, somebody in the back was saying they were having an issue with materials coming in. So, if you look at the path of this one, you'll see that this path is where I exported it to is 2016, blah blah blah blah blah blah blah blah blah, test project AIW out, /ground.fbm, and then the file.
Stingray really does not like periods in the file paths. So that's kind of a pain. And so the Max guys-- how fun would that be to repath all those-- yeah. I see all the heads going back and forth. No. We don't want to repath that.
Uh oh. I lost somebody already. Sorry. I hope I don't lose any more. No? I don't got to worry? OK.
So what we want to do is we want to sanitize the bitmaps. So, actually, I know that it's going to pop up a window and ask me where I want to put these textures. So I'm actually going to go out and get that folder first and cut and paste it. Because I'm lazy and don't want to type it in.
So, test project, and I'm just going to do it here. Because I already have the textures out there. Grab that.
And so, I'll go back into our scripts here. And we drag this tool out here. And so, all of you are going to get these scripts, too. And you're going to be able to run these.
So I paste that in. And it's going to go through and it's going to crank out all those textures and put it out there for you. And so I'm going to go out and look. Now you've got all these textures out there, renamed and set up.
But one of the things we need to do is then get Max to not have one more thing, where we have the issue of everything being mesh one. So I can't relate that to anything. And I'm going to have mesh one, mesh one, mesh one, mesh one.
And it really doesn't like that, either. It likes to have different names for everything. So we're going to go back out again. And we've got a tool out here that will rename the objects from the material.
And so now, you'll see in my object window, all of those are named based on the texture. And all have unique numbers. But then we go down here to all the other stuff. I've got my concrete that actually is-- is that spelled wrong? It might be spelled wrong.
And then, so these are all the textures that are coming straight out of InfraWorks. So it named it based on the texture that came from InfraWorks. So at this point, I like to split this model and work on them separately. Because-- go ahead.
AUDIENCE: Do you have to run the scripts in that order? So, if you still had black tile when you ran the rename tool, would it call it, like, tile [INAUDIBLE]?
DAVID LAWRENCE: You should run the tile tool before the rename tool. But the specular, it doesn't matter when.
AUDIENCE: OK.
DAVID LAWRENCE: But you should do that one. Because it's going to get rid of that multi-tile material. And so if you have that in there, it's going to read that. Because it only is going one level deep.
AUDIENCE: OK.
DAVID LAWRENCE: And so it'll have to run that way. So, anybody like what they're seeing so far? OK. Thumbs up. Questions yet? OK.
I guess I'm doing good if there's no questions. Or I'm boring you. So, either way. At least I'm not having you guys walk out on me. So I'm good with that. Got a question back there.
AUDIENCE: All right. [INAUDIBLE] export them, but let's say you take it into the [INAUDIBLE] or something, some other engine. Does it itemize those all together, still? Or would that individual, each one of those textures?
Because Lumion takes anything that's, say, concrete, for that specific object, and you can apply it to one thing. And then everything that was that texture gets qualified, right?
DAVID LAWRENCE: Yup.
AUDIENCE: So, you've just renamed every single object, is that correct?
DAVID LAWRENCE: I've renamed every single object. But, you've got to remember, when I exported from InfraWorks, I told it to group based on the material.
AUDIENCE: OK.
DAVID LAWRENCE: So if I didn't do that, it would break it up. But InfraWorks sometimes isn't the greatest on the export. So if you're coming from something else, it's a little different than InfraWorks.
InfraWorks, I wouldn't necessarily recommend exporting without grouping the textures. Because it will put the same exact material map in a bunch of different times and rename it. So then getting it back into one material linked to everything is kind of a pain.
So, just, that's how InfraWorks exports. If you're getting it from something else and all the textures are mapped correctly, then you're golden. And it's not as big of a deal. But going from InfraWorks, you kind of need to work that way. Does that make sense at all? OK.
And so, one of the things that I skipped over when I exported from InfraWorks-- oh, I lost another person. Dang it. I know. I know. I figure I lose like four or five. That's kind of my--
AUDIENCE: We can leave?
DAVID LAWRENCE: You can leave if you want.
[LAUGHTER]
Man. I shouldn't have brought that up. So--
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: No, no. No, I don't. I don't get paid by the number of people here.
AUDIENCE: [INAUDIBLE]
So, one of the things that I failed to mention was when I exported from InfraWorks, I was in feet. So you can export in meters. You can export in whatever you want. But when you import into Max, be in the same units.
I've seen so many times that somebody has a Max file that they're set on. And for those of you who are not super familiar with Max, if you go into the Customize panel, and you go into Unit Setup, you'll see your units here.
The units in this window don't matter. So you need to go into the System Units and set that. The other units are just your display units. They're just what you see onscreen. So your actual model is in what the system units are. And you're working in the other.
So, I've seen people set it on feet. They're like, oh, I'm working in feet. It's in millimeters. It's in meters. It's in whatever.
And they export and it doesn't line up. And they're getting this other data from somebody else and it doesn't line up. And they're like, ah, I can't figure out why.
But, units. Units matter. Units matter a lot. He's laughing at me.
AUDIENCE: We're used to it from my end, centimeters [INAUDIBLE]
DAVID LAWRENCE: Oh, yeah. Yep. And so, make sure you set that before you import. Or it's going to frustrate the crap out of you. And you're going to have to redo steps.
So now we've got this all done. There's a couple of other things, too, that you need to clean up a little bit. It doesn't really like helpers a lot.
You can use them. But if you've got a helper object that's grouping it, just get rid of it. You can group it. But don't use a helper object. Otherwise, it's going to confuse it.
And so I just cleaned it up. We've got this all clean. We can send it over now. Now, I'm trying to figure out how to say this without saying it. Watch for 1.6.
But the next tool we have that we've set up for you guys-- everybody know what a normal map is? OK. I've got a couple actions in Photoshop that make generic fake normal maps from these images. I like to put it on the ground. Whether or not you want to or not, it doesn't matter.
I like to. Because it just gives it a better look. If you want to do it, we've got another script that adds all the normal maps, as long as they're _NRM. And you can add all the normal maps to everything on here if it matches that. So, if they're in the same directory as your existing textures and they're _NRM, you've got normal maps added.
And so now we've gotten rid of the specular. We've gotten rid of the dot in the path. We've gotten rid of the black tiles. We added the normal maps.
And so now we want to send it to Stingray. OK? Has anybody exported to Stingray? Like, broken up in all the pieces?
Does it take awhile? It kind of takes awhile for me. But we've got newbies in here.
We want to eventually make a game level. So what we've done is we've created this Level Maker script. And what it does is it will export. And I actually have to open this one.
So if we go into Scripting, Max script, Max Editor-- so don't be afraid of this. It's not scary. You only have to change a couple of lines.
So right now, it doesn't have a GUI. It doesn't have an interface or anything. What you need to do is change this line here to where you want your FBXs to go. It's going to put it in a temporary folder. And it's going to export every single object that is in that file as individual FBXs.
And then, what it's going to do is it's going to take that FBX and write a into the Stingray level. So your Stingray level is comprised of basically a text file that says, this object sits in this location, at this rotation, at this scale, with these properties. This is going to write it for you and drop it in there.
And then you need the Stingray Project Directory and the Level Name. So before you run this, you have to make your Stingray file. So we're going to hop over to Stingray really quick here.
OK. Anybody think that's cool, that's done it? OK. Oh, come on. I was hoping for some excitement on that one. Oh, come on.
So, to make a Stingray file-- anybody played with Stingray at all? So you know the interface. I'm going to quit out and go into the templates. I'm just going to run a template file. Let me save that so I don't lose it. Questions while I open the file? Anyone completely bored and want to walk out? You're welcome to.
AUDIENCE: Where did you get that latest build?
DAVID LAWRENCE: The 1.6?
AUDIENCE: 1.5.386.
DAVID LAWRENCE: That should be on the website. If not, I will post the link in the class thing tonight.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: OK.
AUDIENCE: I have some licensed copies [INAUDIBLE]
DAVID LAWRENCE: OK. I'll post the link to it. I'll do that today.
AUDIENCE: [INAUDIBLE] check for updates [INAUDIBLE]
AUDIENCE: Yeah. [INAUDIBLE]
DAVID LAWRENCE: Yeah.
AUDIENCE: [INAUDIBLE] check for updates?
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: What he said. Basically, there's a Check for Updates tool in here, that you can check for the updates. And once I'm in the project, I can get to that. I don't think I can get to it in the Template here. And I've got all my other helpers to help me find my updates turned off because I didn't want them telling me I needed to update things.
So to start a new file, if you haven't done it before, you can kick in into Templates. You've got your My Project, your Templates, and your Other Examples. You can do a Basic, a Character-- this gets you a first-person shooter-- an Empty.
I don't usually use the Empty ever. Because if I want to use the Empty, I just use the Basic. And that adds some code in there. Empty is empty. So you need to write, like, your player code and things like that.
The Basic has your player and things like that built in. So you can fly. And it's got your standard HUD that lets you do the controls. The Empty's empty. So if you really want to write code, it's great. I'm not really a great coder, so-- I'm a civil guy.
And if you look in 1.5, I think in 1.583, we've added the Steam and Oculus templates right in. So you can just start up right there. And it's got your Oculus and your Steam, which is your HTC setup, right there.
So, I'm going to do the vehicle. And I'm going to set this out to Test Project, New, Folder.
AUDIENCE: Do you have any good use case scenarios on [INAUDIBLE]
DAVID LAWRENCE: Yes. We've got a couple customers that are using it for retail locations. So they want to get really immersive in what it feels like to be in their store.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Oh, they're doing it all in Stingray here. Yeah.
AUDIENCE: No, I know [INAUDIBLE]
DAVID LAWRENCE: Oh, yeah, yeah, yeah.
AUDIENCE: [INAUDIBLE] get your side of it [INAUDIBLE]
DAVID LAWRENCE: No. Mine's more civil. That's where I'm using it, mostly. What we're doing, too, is if you want to go to this location and see what it would look like as a person, visual impact studies, EIS studies, things like that. So you can understand what the visual impact would be, what it would feel like if you're there, all that kind of stuff.
AUDIENCE: Do you do any actual drive sims?
DAVID LAWRENCE: I don't. I know the dev team does sims. But I don't know if they've done it with the HTC or the Oculus. So I would imagine they have. But I haven't seen it. So--
AUDIENCE: [INAUDIBLE] On a civil site [INAUDIBLE] track control [INAUDIBLE]
DAVID LAWRENCE: Mm-hmm.
AUDIENCE: Do you use a [INAUDIBLE] walking around [INAUDIBLE]?
AUDIENCE: Yeah. In automotive, we do [INAUDIBLE] studies [INAUDIBLE] and all that kind of stuff.
DAVID LAWRENCE: OK.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Anybody else used the Oculus HTC on their projects?
AUDIENCE: HTC. [INAUDIBLE]
DAVID LAWRENCE: For what?
AUDIENCE: Walking around a [INAUDIBLE]
DAVID LAWRENCE: OK. Anybody else have use cases?
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Yeah.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Yeah. We've used--
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Yeah. And we've done a couple where they've had the controllers so they could climb up to make sure that there was actually space for the people and how they would feel and all that kind of stuff. So-- oh.
AUDIENCE: Especially [INAUDIBLE] when you think of that, [INAUDIBLE] too narrow [INAUDIBLE] plenty of space. [INAUDIBLE]
DAVID LAWRENCE: Yeah. Yeah. It gives you a better sense of how you feel and how you're going to be there. So I'm starting this up. And it creates your file and imports most of the data you need and creates a basic level.
And so before we run our script, we actually have to have Stingray create the level. And so that there has to be a level that exists at that point. So I'm going to just do a Save As. Oops. Save Level As. And I'm going to call it Alt1, just because this was Alternative1 that I was working on.
So it saves the level. The other thing that we need to do is, back in Max, there's a script of where are we linking this data to. So you've got your level file and then you've got where you're going to put the assets.
I personally like to break up stuff. So if I have proposed grade, existing grade, in separate folders, it's easier for me to manage. It's easier for me to manage the textures for each of them. Because existing grade usually is images. It's usually aerials or anything like that.
Or I just keep it. And it usually never gets edited. If it's linking to the existing grade and the proposed grade or the proposed projects, then I'll put them together. But I want to tie those textures together as much as I can. But I want them separated and clean so that when I'm editing things I can get to what I want to get to. So I break up the folders as much as I can here.
And set that up. Model. I've got to double check what I put in there. Proposed grade.
And you'll notice the stuff that's sub is the other slash. It's not the standard slash. So, just-- I messed that up a couple times. Create Folder.
And so, Test Project 2 Test Project 2. And that should run now.
So, and if you know scripting at all, at the bottom of the script here, we've got it set up so that it's a selection. You can change that. If you're good at coding, you can go in and you can change that to use any parameters you want. But right now, it's set up to do the selections. So, and Evaluate All. And it's going to go through and it's exporting every single object as its own FBX and naming it the same as the object itself, and writing the level file and populating the level file at the same time.
AUDIENCE: In the automotive world, we [INAUDIBLE] a lot of data. So we're always changing, iterating, doing updates. Do you have a pipeline for that, or is it just there you go, good luck finding what's what?
DAVID LAWRENCE: Watch for the new update.
AUDIENCE: OK.
DAVID LAWRENCE: Sorry. I mean, honestly that's-- I could give you a workflow. But I would prefer that you use that. You got a comment? I see you wanting to comment.
AUDIENCE: No, I'm good.
DAVID LAWRENCE: OK.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: No. I--
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: OK. Question?
AUDIENCE: Ah, yeah. How do you take care of the groups? Do you make [INAUDIBLE] groups from InfraWorks, you can change it in Max and then how do the scripts keep the groups--
DAVID LAWRENCE: Oh, how does the script keep the groups? It goes through the parent object. So whatever the parent's named, it's going to take the parent object and export it as that. So anything-- so if you have trees, and you have a group, and you have got multiple trees below, it's going to group it as that right now. We can edit that to do subs. But right now, it's the parent.
And if you really need it to be edited, talk to us. We'll see what we can do. Currently, this script, this version of the script, does not do instancing. So if you have instances of stuff, it doesn't do that.
AUDIENCE: [INAUDIBLE] from what I understood, Stingray doesn't understand [INAUDIBLE]
DAVID LAWRENCE: Yeah. It references the same data. So-- Stingray, or Steam? What was your--
AUDIENCE: Stingray.
DAVID LAWRENCE: Stingray? So, it does, to some extent. So if I put a tree out and it's a palm tree, and I have one palm tree in my model library, I put it, like, 200 times out there, I still have only loaded that model once into my model library, into my assets.
AUDIENCE: Yeah. I understand from Stingray, but [INAUDIBLE] from another--
DAVID LAWRENCE: Yeah. Exactly. Yeah. So, if we go in here, I created the level. And let me open up the level file here. I'll go back into-- am I losing any of you? Test Project 2.
AUDIENCE: [INAUDIBLE] that original Stingray file was just a basic [INAUDIBLE]
DAVID LAWRENCE: Yep. It was just the basic vehicle template.
AUDIENCE: [INAUDIBLE] two cars and a couple of boxes?
DAVID LAWRENCE: Mm-hmm. And so, Content, Levels. If I go to here, it should-- and you'll see how much I've got in here now. It wrote all of that into your Stingray file.
So the original Stingray file-- I should've pulled it up beforehand. But the original Stingray file only went to about here. Because there wasn't a lot in it. We ended up writing all of that into your file for you so you don't have to place it.
And if it's all at 00, that's great. If it's not, it's going to place it where it's supposed to be. So that gets it in the right spot based on your Max file.
So there's one more thing you've got to do before you open your level. You've actually got to import the FBXs into here. It imports it into the Level file. But it doesn't actually import the content. You have to import the content and let it populate it out.
So, I'm going to go into the same folder that I told it to put. You've got to make sure you put it in the same spot. Right click. Import Assets. And then grab your content and pop it in here.
Let's see. Where did I put it? I don't remember where I exported it to.
So that's where I'm going to pull from. Did I not-- Oh, where'd I put it?
AUDIENCE: You created a [INAUDIBLE] and you never [INAUDIBLE]
DAVID LAWRENCE: Did I?
AUDIENCE: I think so.
DAVID LAWRENCE: Bummer. So I overwrote the existing ones?
AUDIENCE: I believe you did.
DAVID LAWRENCE: Awesome. So I apparently overwrote the existing ones. So--
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Let's go back.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: I've got backups of backups. So I'm good. Yeah.
d grade. There it is. So let me grab that folder and pull it in, and grab all of this stuff. And I don't want-- are trees in there? I don't think-- OK, good.
And then, you're going to probably want to generate the UV maps for lighting. I'm going to uncheck that for now. Because it adds a lot of time on the import. And we are in a class that's only 90 minutes long. So-- and anybody know how much time I've got left?
AUDIENCE: 40 Minutes.
DAVID LAWRENCE: 40 minutes? OK.
AUDIENCE: Can I ask [INAUDIBLE] Revit-- So I know in Revit, when you export [INAUDIBLE]
DAVID LAWRENCE: Yeah.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: It does. I typically do a little bit of cleanup on the things that I'm really going to be close to. Have you tried Live, though, with Revit?
AUDIENCE: [INAUDIBLE] It's got [INAUDIBLE] but it hasn't [INAUDIBLE]
DAVID LAWRENCE: Yeah. We've got some other scripts also. I can get you in touch with the guy that can do that much better than I can. Because I'm more the civil side.
So it's compiling. It's importing. And it's going to import. And you'll notice it imported animations too. I had it turned off when I exported. So it's pulling in animations.
Oh, I keep losing people. Oh well. I'm trying.
AUDIENCE: They heard 40 more minutes.
DAVID LAWRENCE: Huh?
AUDIENCE: They heard 40 more minutes. You shouldn't have asked.
DAVID LAWRENCE: I know. They're like, 40 more minutes of this?
AUDIENCE: I better leave.
AUDIENCE: You're fighting against the keynote speaker.
DAVID LAWRENCE: I know. The keynote's coming up. And so I can't really compete against that.
So it then processed it all. It all came in. And so it should, if I did it all right-- go back over to here. Go to Levels. Alt1. And it compiles. And I don't see anything.
The reason I don't see anything is because I messed up the script. But-- yup. I messed up my script. I did exactly what you said I did. I ran it the wrong way.
When I run it correctly and type in the right stuff, it pops in. I've run it, like, five times in the last two days. And it does work. Sorry it failed during the class. But it did work.
AUDIENCE: You've got 40 minutes. It only takes a couple minutes to run it.
DAVID LAWRENCE: I know. I can rerun it if you want me to. I'll go-- OK. So let me go do that.
AUDIENCE: People will leave if you do it.
DAVID LAWRENCE: People will leave if I don't do it. So, let's go back into the scripting here. And, Scripting.
AUDIENCE: [INAUDIBLE] modify [INAUDIBLE] script, would it prompt you for something rather than have you [INAUDIBLE]
DAVID LAWRENCE: What?
AUDIENCE: [INAUDIBLE] prompt you for a file name?
DAVID LAWRENCE: Here? We were in the process of changing it when we found out what-- yeah. So look for the new update, that I wish had got out by today.
So, if you hop in here-- so, I'm going to set this path. And then, did I change this? Ran this here, ran here. Save. File, Save. Let me look at this really quick.
So what it's writing is this file here. Let me see what it wrote to. Content, models, props. Props. Content, levels, vehicle,
OK. Light's harsh. Let me just re-run it. Proposed grade.
Yeah. The new GUI's nice. Let me see what's going on here. Project 2.
I'll just throw it right there. Ba ba ba ba ba ba ba. And that should pop right in there. Proposed grade. Save.
And I ran it and it didn't do anything because I didn't have anything selected. There it goes. Yeah. I had over-- oh. I've got a battery charger for anybody that sees what I did wrong on that code.
AUDIENCE: Underscore.
DAVID LAWRENCE: Yep.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Who got it?
[LAUGHTER]
AUDIENCE: Don't throw [INAUDIBLE]
AUDIENCE: Saw it as soon as you said it.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: So, syntax matters. Make sure you get your underscores. Make sure you get your text correct. I messed up. So I sent it to the wrong place. And it's going to finish. And then I'm going to run it again.
So there's supposed to be an underscore right here. And I don't have one. And so-- or, the question is, am I supposed to have an-- yep. I am.
So it's setting the Stingray directory path to a location that doesn't exist. And so when the file looks for it, it won't look for it in the right spot. So we fixed that. I caught that after I ran it. And once again, I tried to run it with nothing selected.
AUDIENCE: So, could you just edit that text file and then do a search [INAUDIBLE]?
DAVID LAWRENCE: Yes. You could. I'm just running it again to make sure I didn't mess up anything else. And so, that'll crank through.
You can edit the level file all day long in a text editor. And it works great. I prefer to do that most of the time if I'm not bulk importing. I can edit right there. I can add the content. I can do whatever I need to do there.
Oh, I'm losing them.
AUDIENCE: [INAUDIBLE] version that you don't hear about anymore?
DAVID LAWRENCE: 1.5-- let me see what it-- it's 1.58-- 1.53?
AUDIENCE: --63.
DAVID LAWRENCE: 1.5.863. It's great. It's just as far as that import, they're fixing and giving better functionality, as far as that.
If you use Maya, the guy that used Maya in the back, and Maya LT, it does have a Send to Level tool that is going to be improved some more. But you can send to level. And it writes a unique ID into the object so that it knows what the object is. Using Civil stuff, Maya's not-- it doesn't have the Civil View tools. So it's harder to link it with some of the InfraWorks and those tools.
Let's see if I did it right. What did I do wrong? I'm failing here.
AUDIENCE: Do you have the backslashes? Those [INAUDIBLE] worst [INAUDIBLE]
DAVID LAWRENCE: I think I might. I have a video of it working.
[LAUGHTER]
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Don't you just love it when it doesn't work right in front of a hundred people?
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Let me just look here. I don't want to waste your time trying to redo something over and over. So, I can keep doing it. But I don't want to keep wasting your time. So let me hop to-- I have a video I will post that works.
Sorry, guys. It's just a matter of syntax and putting it in. And what it ends up looking like is the one I showed you earlier. Man, I feel a little silly right now.
AUDIENCE: Do those generic boxes just go away? Or are they still there? [INAUDIBLE]
DAVID LAWRENCE: They're still there. I took them away on mine. Just because I deleted them. I selected all the content and deleted it.
AUDIENCE: [INAUDIBLE] center in the model that has [INAUDIBLE] boxes. And then when you brought some stuff in--
DAVID LAWRENCE: Now, OK. So that's the coordinate issue. When you export from InfraWorks, you set your offset. And it's going to set that 00.
When you get stuff into Max-- well, OK. There's two things. If it's spatially correct in Max, it will take that coordinate in Max and put it in that coordinate. So it uses the coordinates that are in Max. If it's base point 000, it's going to put it in 000.
Right now, that's the way it works. Everybody's smirking at me because I keep saying right now. And so you really need to get it spatially set up in Max to use the Batch tool. To use the other tools, it's going to use its base point.
So I'm going to open up my other file that I have set up. And I'll show you how I'm doing the trees. Go ahead.
AUDIENCE: Will this work for anything from Max?
DAVID LAWRENCE: Yeah. I mean, anything from Max, it'll batch, export FBXs with your names, and write the file. You just have to put it to the right folder, which I wasn't doing because I was trying not to overwrite my old files that I did this morning.
But it'll put it out-- let me go into here-- just like this. And let me open the-- yeah. Frustrated. You just have to put the right pathing in here.
So this doesn't have to be in your Stingray project. This can be anywhere you want. That's just where you import it from after.
All of this is within your Stingray project. So this is your levels of where you want to put it. This is your actual root path of your Stingray project. And then this is your level file.
So as long as you name those all correctly, it'll put it in there and plop it in the right spot. And it ends up looking like this file once it loads. Any other questions, other than why did my script not work when I tried to show it off? OK. Anybody have other questions other than what I just showed you? OK.
AUDIENCE: How's the performance? Because you [INAUDIBLE] real-time lighting in Stingray-- oh. Thank you. Stingray will perform better when you bake the lighting.
DAVID LAWRENCE: Yes.
AUDIENCE: I mean, [INAUDIBLE] script doesn't do anything-- any autobaking or anything like that.
DAVID LAWRENCE: Nope. That's what we're going to talk about in a second here.
AUDIENCE: OK. Cool.
DAVID LAWRENCE: I was going to talk about it once I got it in, and show you. But I kind of screwed that up. So I'll show you the one that I already have loaded in.
This is the fun of trying to do a live demo instead of prerecorded. But I like doing live a little bit better. But every once in a while, you have issues like this. Sounds like everybody else is getting out a little early, but--
AUDIENCE: Are you going to go over [INAUDIBLE]?
DAVID LAWRENCE: Mm-hmm. Go over that in just a sec.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Yep. Yes. Yes. So-- oh. You don't know about that tool, to go InfraWorks to Revit?
AUDIENCE: No.
DAVID LAWRENCE: Oh. OK. Sorry. I'm an InfraWorks geek. And so, for those of you who don't know, if you click on the bridge deck in InfraWorks, right here-- so let me go to a version that has a bridge. Oh, this might actually be a different file than the one I had with the bridge.
You can click on the bridge deck-- not the pillars, but the deck itself, where it gives you the bridge options. And right click. And it'll send to Revit. And so will export the whole bridge, all the objects, and send it right into Revit, with all the material-- with all the properties, and everything like that.
So, it-- go ahead. You've got a question. I can see it.
AUDIENCE: My question [INAUDIBLE] having [INAUDIBLE] bridge [INAUDIBLE] exported, or [INAUDIBLE] re-importing it in Revit?
DAVID LAWRENCE: So, the reason I'm exporting to Revit was because the project manager wanted to then have it in Revit, and then do some more structural design. And the other thing we were doing is we were eventually going to do some walls and other things in Dynamo and then bring that back in. So the whole point was to get some of that stuff into Revit so that we could have the structural design there and then keep the Civil in InfraWorks. So--
AUDIENCE: [INAUDIBLE] bridge out, using InfraWorks for that [INAUDIBLE]
DAVID LAWRENCE: No. We built the base in-- let's see if I can grab this. This is an old version of the bridge. Yeah. This one's not going to convert because it's an old version.
Yeah. So, the purpose of it in this particular project was so that we could have more design control, beyond what InfraWorks could do, and then be able to do all the design sheets and everything like that from Revit. Yeah.
But you can do that directly. And then from Revit, you could use Live Design, which is a one-click send to Stingray, basically, from Revit. So, for you Revit guys, look at Live Design.
And that's not there. So let me look at this. And it didn't like my file. Hopefully, I didn't overwrite that file when I ran that script in the wrong folder.
Oh, I'm losing more people. All right, guys. Let's see. So, let me hop back in here again. Loading up.
And so, you'll see, my machine's running a little slow. So as far as performance, one of the big things for me that I've seen, hard drive speed-- so, SSDs are going to be your friends. And CPU speed. And then GPU speed for the rendering.
So if you're importing, your CPU and your hard drive. If you're playing, your GPU. So it depends on what you're doing what the speed advantage is for you. So let's open my file. It's Project 1.
Levels. And so, you'll notice I'm getting some errors. But if you want to know what those errors are, down-- so, for those of you that don't know Stingray very well, I'm going to kind of go over the interface really quick here a little bit.
So you've got your Asset Browser here. You've got all your pieces and parts. You've got your Explorer up here. And you can configure this all you want. The content is down here.
So as I click on my objects, I get all the properties here. And I can adjust it, move it, do all of what I want. And then this is all the subparts of that model and all the textures. So I can get to it there. I can go to my objects here. And that's my pavement.
And I can check the texture. And if I want to change the texture, I just pop that open. And I can list the textures here, I can drag and drop from in there, or I can pop up my texture here and look at it. So I've got my standard material, my normal material, and if I really want to look at it, I can go to the other levels of it. But I can open up my graph to-- let me get to that.
And it looks a lot like the Material Editor from Max. So if I do Make Unique, Open Shader Graph. And so if you're used to the Compact Editor, you're not going to like the Shader Graph. If you're used to the newer one, it's very much like it.
So you've got your texture coordinates, your UV scale, multiply, add that in. Go in and we've got all the mapping going in. So your color maps, your color textures, normal maps flowing in, metallics, roughness, emissives, and your AO going into your standard base.
So you can do a lot in here to get the textures. But it can get more and more complex, whatever you want to do. But I have it pretty basic. It's just a simple image with a normal map on there to get that texture for my road.
And so, once we get it in here, there's a couple of things you have to do. You have to set up the physics of the objects. So, for my pavement-- let me click on my pavement here. Every object, you can go to your Unit Editor.
So, every object is a unit, in essence. So you have your unit and you have subobjects within the unit. But they're all controlled within the Unit Editor here.
So, I've got my asphalt. And I can control the different properties of it. But what I really need to do in this object is to set a physics actor.
So if I take the asphalt, I right click. And I've already got it in here. But I create a physics actor. I can set the parameters. And it's not liking me today.
I can set the parameters. Let's see if I can grab something that's not set. Sorry. I overwrote things and it's messing things up. The fun of a live demo.
AUDIENCE: So you have to go in and set physics properties of each element individually and you automatically generate [INAUDIBLE]
DAVID LAWRENCE: You can script it and run it. But I haven't yet. There are tools to do it. But I haven't. And I don't.
So, I manually do it. In the script, there's a toggle to set the physics. But you can add the actors and the collisions there. So this is all my buildings. And so I can add my physics actor onto the object.
Are we running out of time? Where are we at? Or do we got more time?
AUDIENCE: Just till 9:30.
DAVID LAWRENCE: Huh?
AUDIENCE: It goes till 9:30.
DAVID LAWRENCE: OK.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: All right. So, I am getting close to time. So, you set the physics of each object. And then your car won't fall through the road like it did earlier.
And then, to package it, once you get it all cleaned up and set up, it's as easy as opening your deployment, Deploy and Connect, Deployer, and setting where you want to deploy it to, if you want a debug, a development, or a release. The debug and development can give you more options to see what's going on. It'll give you log files so you can look at the errors.
The release is like a full-blown release. But then you can choose the OS you want. I like to go to Xbox, actually. Because it is easier for me to play. Go ahead.
AUDIENCE: Before, when you were talking about the VR stuff, does this deployment not support the Playstation [INAUDIBLE]?
DAVID LAWRENCE: That's a good question. I don't think so.
AUDIENCE: No.
DAVID LAWRENCE: No?
AUDIENCE: Not yet.
DAVID LAWRENCE: So, not yet.
AUDIENCE: Great.
DAVID LAWRENCE: And so, to deploy it to Windows, you literally package. And it goes through and it compiles and sends out. And then you've got your game to play.
And you can send that package right to a customer. And they can pull it up and play and drive around like I was. And hopefully they drive better than I do.
So, we've got 18 minutes-- or, it's 9:18. Class ends at 9:30. Any questions you want me to hit on before--
AUDIENCE: [INAUDIBLE] if you go into IRS with [INAUDIBLE], how do the users get that? [INAUDIBLE]
DAVID LAWRENCE: You actually have to set your packaging server. So you have to have a server to send it to, an IP address, to set it up. And the package will then be-- you can download that down.
AUDIENCE: [INAUDIBLE] network [INAUDIBLE] package [INAUDIBLE] code
AUDIENCE: OK. So you'd have to do it with-- OK.
AUDIENCE: Yeah. [INAUDIBLE]
DAVID LAWRENCE: Yeah.
AUDIENCE: [INAUDIBLE] Apple [INAUDIBLE]
DAVID LAWRENCE: Apple's restrictions, yeah.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Yeah.
AUDIENCE: That's why.
DAVID LAWRENCE: Anybody-- any other questions?
AUDIENCE: [INAUDIBLE] talk a little bit about how you're doing your lighting?
DAVID LAWRENCE: Lighting?
AUDIENCE: Yeah.
DAVID LAWRENCE: OK. So, when you set up the site, if you use the template, you get the default lighting setup. And so, if you click on the Default Lighting Setup, over on the right side, you've got your standard lighting. And you can adjust your settings in here.
By default, it has the fog setup. I hate the fog, personally. I don't know if anybody really likes the fog that's built in. But I don't. If you set the settings and it's the right range, it actually looks really good. But I've never bothered to take enough time to set up the fog.
Your exposure settings are all in here too. One thing that you've got to build in, and I'm going to unhide them here-- so I've got some lights in here. But I've also got-- where are my light probes?
So, when you're building it, you actually can put in lights and reflective probes. So if you want to put in a reflective probe, you place it. And then you can adjust those. And so each of those probes then has the reflectivity setups for your falloff, light box. And you can bake that reflectivity into it. You also can adjust your skydomes and your lighting there.
I personally don't do a lot with the lighting. I'm not really an architecture guy. So I use the default sky lighting. Because most of my projects are outside, civil projects.
So there's probably going to be a lot more classes that'll cover a lot more of the lighting. Sorry. I'm not as advanced on that.
Anybody in here have good advice on lighting? OK. It really-- it's based on your project and your area of where you're working and what you're doing.
AUDIENCE: Do you have any examples of finished [INAUDIBLE]
DAVID LAWRENCE: Huh?
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: I don't have one with me. Sorry.
AUDIENCE: No images or screen grabs.
DAVID LAWRENCE: I don't. I know they're going to have the whole VR setup in the--
AUDIENCE: I don't care--
DAVID LAWRENCE: --the expo.
AUDIENCE: I just wanted to see the [INAUDIBLE]
DAVID LAWRENCE: Yeah. Oh, I do. I can show you something after-- I can pull it up. Anything else, anybody?
AUDIENCE: What about importing the asset from the [INAUDIBLE]
DAVID LAWRENCE: Oh. So--
AUDIENCE: Do you have to disconnect to be able to be able to [INAUDIBLE]
DAVID LAWRENCE: You have to bake the animation.
AUDIENCE: You have to bake the animation first, before you can bring them in?
DAVID LAWRENCE: Yep. You have to bake the animation. And then when you import, and you import your asset, you select it. And there's a checkbox for including the animation.
AUDIENCE: When you do the import [INAUDIBLE]?
DAVID LAWRENCE: Yeah. So here's a set of cars here. And so, if I import it, you've got your animation here. And if you already have the animation in there, it's going to import the animation, and the animation skeleton, and the other assets.
And so, you'll also then have to set up a flow. So in flow, so each level has a level flow. And this is getting a little more complex. But you set up your animation, get animation, clip resource. And then you set up your resource and go to your unit and get your-- oh, I don't have an animation clip in this, though. So I can't pull an animation clip. But, that's--
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Huh?
AUDIENCE: [INAUDIBLE] semantics between [INAUDIBLE]
DAVID LAWRENCE: Oh, yeah. So, you'll have to set up a trigger, on unlevel load, then play this animation clip. And so you set your animation clip. And if you give me a card, I'll send you a thing of how to do it.
AUDIENCE: [INAUDIBLE]
DAVID LAWRENCE: Yeah. And that's, simply bake it and export it. And then you just rig that level flow.
I think we're out of time. I'm going to call it done at this point, unless people have questions. I'll be glad to answer any questions.
AUDIENCE: Thanks, David.
DAVID LAWRENCE: Hope you learned something. Hope you like it.
[APPLAUSE]
Downloads
Tags
Product | |
Industries | |
Topics |