 Hello and welcome. I hope you watched my previous video where I went over my code Godot first-person shooter. It's just a very basic project with minimal code and scenes to have a third or sorry first-person controls in Godot I'm going to show you how now to import a doom level now if you just go online and Google Doom level whatever and 3d model you can find 3d models of the levels that people have exported from editors Online I have put one online for you. I've downloaded it The main problem with that is a lot of them the scaling was wrong I would have to resize it to fit the game properly and the textures Sometimes we're there sometimes weren't so what I did was I grabbed one of those exports and I compiled it up and I put it up on archive.org now Be aware that the textures and these levels are on the copyright So I don't know how long it's gonna be there There'll be a link in the description to everything we go over today But you can download the models from there You can download my project from my get lab page get lab port slash Melix 1000 Just search for Godot first-person shooter there and then you can just click this and click download the zip file now I'm gonna go through everything pretty quickly here but again, there's notes and actually at the end I'll show you a script I wrote to Get this all going pretty quickly, but here we go. I'm in my shell. I'm gonna move into a directory I have here. There's nothing in this directory So the first thing I'm gonna do is I'm gonna go download My Godot project. So again, if you go to my Godot page, this is the link here And we will download that so now you can see whoops that zip file is there I'm going to unzip that file Which unzips the project next we're gonna grab my Object of the e1 m1 so episode one map one of doom From archive.org. So we're going to download that and put it in a e1 m1 map zip So again, that's from this website again links to everything in the description You can see the 3d view right here when you go to the web page But we'll download the 3d model and all the textures that's scaled properly for my project Once we have that we can unzip it So we're going to unzip the e1 m1 zip file where we're going to put it we're going to put it in the project We're going to put it in the maps folder. So there we go there now. I can open up Godot And open up my project. So you have to have Godot installed So Godot 3 in this case and I'm going to just point it at the project that we just downloaded boom It's going to now import those assets the doom level and textures You can see them under here under map e1 m1 You can see all the textures and then we have two 3d models We have an object file and a dae file dae file is more of a whole scene So I'm going to show you what I mean by that And you can use either one of them, but I'm going to show you the the process for each one So I'm going to click scene new scene. I'm going to say it's a 3d scene and I'm just going to call it e1 m1 At this point. I'm just going to grab my e1 m1 obj. So object a 3d object file I'm going to pull it in here. It's going to import it along with the assets now We want to make sure that centered so we're going to choose that object And then we're going to say transform and they should all be zeros You can set it to all zeros by hitting that refresh button and again I've exported this specifically so that 000 is right at the starter player start position at this point I'm going to choose our e1 m1 here. I'm going to say Instance child scene. I'm going to import my player now if I hit f6 this time It's going to ask us to save it. I'm going to save it under maps. I'll save it as e1 m1 scene It will start up this scene But we will fall through the floor because we haven't set up any collision yet So go ahead and close that what we're going to do is now when you're actually creating a game We'll be a little more tedious when it comes to your collision detections You don't want to have too many because it can slow down the machine But you want to have the proper amount that you don't walk through anything or clip through anything But we're going to do for this. This is a very basic map And we're just going to choose the object here make sure it's the obj object we imported We're going to go to mesh and we're going to create Try mesh and a static body that will create a static body and the collision and set it to Basically wrap around that model now if I hit f6 you can see we are in the game now When I exported this I got most of the textures There's a couple of the textures that didn't quite export for some reason and I did it once or twice just to check And I don't know the the first time I did it I had all the textures and then when I uploaded it and then downloaded again I realized some of the textures were missing So I don't know if they got lost in the upload also doors. This is not I don't this is not a full game. This is just the the first person movements controls and camera in doom Doors are just walls That had been lowered down. So I just deleted the doors for now again This is just you know proof of concept something you play around with but we've got 99 of the level imported as far as the level itself Not all the objects all the enemies and barrels and whatnot. There's another door. I deleted We can go all the way outside here. There's no sky dome. So it just has like a default sky texture there And we can go all the way back up the stairs the stairs a little high for me to walk up So I have to jump up them. That's something you can fix with your collision detections there The exit signs are missing and there's our exit. Of course, we can't click it because it's it's just a wall texture there Okay, I'm going to exit out of that. So that was that one other thing we could do is like if I start this off again Hang f6. I'm facing the wrong way. I can choose my player and I can say transform rotate on the y 180 And now if I hit f6, I'll be facing out The way you would be normally in the doom game Uh, so yeah, so we have that another option. Let's say you wanted to use the dae file Double click it and say new inheritance And there we go. It has imported it. Again, we want to make it give a collision detection So we're going to choose the object within the scene We're going to say mesh and in this case again, I'm just doing the quick try mesh with static body You may or may not want to do that depending on your level. It's something you need to to decide for yourself um, and then we'll also Import the child instance of player And if we get f6, it will ask us to save it. I always call it e1 m1 underscore scene And here we go. It has imported it actually has the textures that we were missing in the room But you'll notice that uh, there's everything's like this shiny glossy Look and that's just got to be a materials thing the way it's uh, was exported or imported um, but uh, not all daes are going to show up like this I'm assuming it's just the way the model had exported And uh, you can mess with materials a little bit more to get rid of that Uh, but I just wanted to show you that you could import the dae file and it will have all the textures there Even though the materials are funky And that's pretty much it now That was too much for you if you if you couldn't follow along Well, you can go back and watch the video and pause it when you need to Whenever someone tells me I go too fast in my videos I wonder why they don't just pause the video But as I said if I'm going to I can quit out of this Let that close, uh, I'll move into This directory where I have a script which I put up online on pastebin I'll put this again in the link in the description Which will go through making a directory moving that directory downloading and exporting everything that we I did in the first steps of this. So I already have that here. I called the script doom in good o.sh We can cat that out and uh, if you download that and make it executable We can do doom in good o That's going to download my project download the 3d model map Extract it all and open the project. So if you already have good o installed and unzip installed There you go. You're done with that now again. You can just uh go to maps or sorry Uh, yeah maps e1 m1 go down to e1 m1 and you either go with the object or just double click the dae give it collision detection and Put in our player Save it and you're good to go. So that's how quick you can get this up and running at least with the dae Or you can again use the obj and get those textures fixed the materials fixed So again, just a little proof of concept something to play with we're gonna get more at uh different ways to import and different models We can import and how to Uh, work on the collision for them and how to design levels in future videos So if you are more interested in this project, uh, be sure to subscribe share comment all that good stuff I thank you for watching. Please visit my site films by chris.com There's a link to that in the description as well as a link to the notes for this project And as always, I hope that you have a great day