Unreal Engine 5 for Product Presentation - Full Beginner Course

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello hello hello and welcome welcome to a full beginner course in which I will teach you basic product presentation techniques be small scale or large scale in an real Engine 5 and I guess it's best for me to show you the final result before we actually begin so that you can see what to expect so here at the end of this course you will have a folder in that folder you'll have an exe file that anyone that you sent the file to will be able to open if you open this file and before I do so let me hide my camera for maximum immersion so once you open this file you will see the product being presented and here you will have the chance to change cameras also there's a little bit of a sound there maybe the sound is a little bit too high I don't don't know if it's too high I'm sorry changing cameras the cameras do move on their own a little bit some [Music] close-ups your product will be able to be exploded and looked at from of course different views constructed again you'll be able to change the style of the product [Music] and you'll be able to change between different environments in this case we're in the studio scene we can change to the interior scene just give it a second to load in right same thing for here there are different [Music] cameras I like this one there are different styles just give it a second for the um textures to kick in right and also here you can deconstruct and reconstruct your object and that's basically it that's the whole app that we're going to be creating so I guess we begin with chapter 1 actually before we begin just just a small little note it's also possible to send these files through the internet right so to open them up in the browser and I'll talk about that at the end of the video a little bit more once we actually have a project to send but this whole project is currently playing off of a browser and it works exactly the same way as how it work worked in um the Standalone version on on on my computer except that it does not require any resources meaning that if you send this or if you incorporate this into your website your client can access it even from a phone and it will not require any resources of the client's phone or the hardware on the client side which is very nice again it's it's called Arcane Mirage if you want to read up on it before we go on with the course you can but the whole tutorial on how to upload it to the internet and use it on the servers of Arcane Mirage is going to be at the end of the video now we're ready to go to chapter one before you begin with Unreal Engine you do need to have geometry that you will be showcasing in Unreal Engine Unreal Engine itself is not great for 3D modeling purposes thus you need to have um geometry created in either CAD software or non-cad software and I have two examples of that here I have my Rhino file on the right hand side and I have my blender file on the left hand side and I will be primarily using the Rhino file for exporting and so on but in principle the whole workflow is the same you need to have geometry that is properly UV unwrapped and is ready to go in terms of exporting it into Unreal Engine so let me first of all guide you through the blender logic right here I have this desk this form that is scaled to the correct scale that is important and also that is anchored to 00 0 coordinate of the world right so those are two key things if you're not familiar with either 3ds Max or blender or so on like in terms of 3D modeling I strongly suggest that you first learn how to 3D model and then start learning how to present your 3D models that would make more sense anyway so key thing here is to have the object in the correct scale and to have the correct units un real engine uses centimet as its unit base if you don't use centimeters in your exported file Unreal Engine will importers will try to um scale the imported object accordingly to what kind of unit was used for instance inches to cenm but honestly it's much much better if you just have centimeters from the start so here if I go to scene in my blender file scene under unit system I choose metric and then under length I choose cm and that's going to do the trick then all you need to do is just let's go for the side view just some um how do you call it making sure that you're not losing your mind right uh just measuring from one point you can see I made a bunch of measures beforehand from one point to the other I see 120 around 120 cm we're good to go with that it's okay it's ready to be exported to export something from blender into an real uh engine you use um fbx format you can use obj that is true but I notice that fbx tends to import more cleanly one thing before I forget also your geometry does need to be properly UV unwrapped so that the textures map correctly right so there's the whole UV editing tab where you can see the UV Islands these uh geometries are separate right uh they they they have been imported separately there the UV Islands overlap I there way with that being said to export this you go to file export fbx I'll just create a new folder call it export from blender double click that and here you can just copy the settings that I'm using I'm not sure if I've changed any settings forward is minus Z forward uh up Y is up um fbx does really like to flip your coordinate systems around so that seems to be um remapping everything correctly and that's it you export fbx one thing to to note is if you have any Transformations applied to the object such as scale move or rotate you should apply those Transformations before you export meaning if I select my object and I go to object apply all transforms now it's going to be exported properly if I don't do that the scale the rotate and uh everything else might not trigger and and it might still be in incorrect position as well as incorrect scale anyway now if I uh export again fbx like that um sure the name doesn't matter export that's it you're done you're ready to have this geometry imported into Android engine now for Rhino for Rhino it's the same principle right uh your model here let me hide the surrounding environment your model needs to be centered around 0000 coordinate right cuz it's much easier than to catch it and to find where different objects are and it's just uh less of a mess so make sure that that is the case then if you type in units here you can see I have set it to cenm if I measure distance from here to here you can see it's 120 basically cm it's less because of the bevel right and all of my elements in the Rhino file are separated into separate entities separate pieces as they should be in your um blender file as well separate objects that will later be moved in the real engine as you saw in the exploded diagram view right so that that's the reason why I'm modeling everything separated one more thing is every piece of geometry here is actually unwrapped if I were to show you this in let's say rendered view okay that part is glitching out don't worry about that this is literally UV editor or UV preview mistake um besides that everything else seems to be uh doing a okay if I were to show you this particular leg let's isolate it out UV editor draw a rectangle you can see all of the eylands of this leg drawn out here right so we have the front face we have the back face and we have the in between the seam right here right so if you're not familiar with how to unwrap geometries in unreal uh sorry in Rhino then I will leave a link somewhere here um in the video description probably uh showcasing that with that being said if you want to follow along uh this course without actually using your own geometry you can by download in all of the files I will make all of the files available that I use in this course in the video description below for patreon supporters if you support the channel you can follow along with the geometry that I have created if uh but of course if you have your own geometry just use that so all of the files that we do on this channel are available to patreon supporters again Link in the video description below now in terms of exporting this I will export it as separate two separate files I believe I will export this bench let me type in export enter I'll export this bench and let's go for new folder exports from Rhino right I'll choose fbx format as I should motion Builder fbx and I'll call this bench or T1 T2 T1 T2 means uh type wait uh table one type two it's we have a lot of designs in very good architecture company of many many different Furniture pieces this is one of them T1 T2 we then hit save it's going to mesh it for us automatically polygon mesh options we just go for the most amount of polygons we don't care and real engine will handle a lot of polygons easily hit okay and just give it a second for it to uh mesh everything for you the reason why it's taking so long in terms of meshing for me is because I have a lot of detailing going on in the apologies in the feet of this bench as well as the connecting dowel joints so if I were to show you the feet you know it's this kind of a screw in uh geometry here and then if I were to show you the dowel joint let's get it out here right it all also has uh some some geometry I think Arctic view might give it a little bit more Justice do it a little bit more Justice right so that's the reason why the um export is taking longer and then for this uh geometry this is our uh scene for like photo studio type of an environment white box in which the pictures will be taken this uh also gets exported also needs to be exactly in the same like that it needs it uses the 0000 0 coordinates as its starting point right uh for importing so as long as you don't move things around they will import into an real engine in the correct place and I'll just call this scene uh Studio fbx perfect save and we're good to go that's it right so with that being done we're kind of done with unreal uh sorry with exporting for Unreal Engine one last thing is um I probably should talk about the options for fbx that I'm using for exporting because you um yeah uh you couldn't see them because I have this always use these settings tick marked so in terms of options we're exporting me es only we're not exporting nerbs that's important we're also exporting materials as Fong not exporting any lights and not exporting any cameras or any views and I'm mapping Rhino Z to fbx Y so that it doesn't get flipped in an awkward awkward way again fbx really likes to rotate things uh 90° uh so XY Z becomes X zy right so with that done we're we're good to go we can export and uh carry on with with our lives one last thing in terms of exporting that I will cover later on is that there are these plugins that connect that have a live link between Rhino and un real engine I'm not sure about blender most likely blender also has them and you can find them by Googling for data Smith for Unreal Engine five data Smith SM SMI H basically these plugins right here that that you see here um Can export a data Smith file that has all of the information uh such as materials lights and so on that is needed and can construct a scene in much much more seamless way than just exporting ing it as an fbx there are drawbacks and that is the reason why we're uh currently using fbx rather than the data Smith once we get into exporting the interior scene for placing our object in it I will talk about more uh I'll talk about data Smith exporting more um right so we're now ready to go to our next chapter okay so now we the geometry being exported out it's time to actually create the Unreal Engine project to do so uh you open up your epic games launcher and here I assume you already have downloaded your newest engine version a real engine version which is under Unreal Engine Engine versions I'm going to be using 5.3.2 which is currently the newest release I'll click on launch which will open up a new window for me and for this we need to wait a little bit there we go so in this new window you will have the possibility to I either open up your recent projects if you have any or use any of the templates that are available for you so there's the games template and you can create like first person third person top to down games from these uh film video event template architecture product design and simulation clearly since we're trying to showcase our product we're going to be going for the automotive product design and Manufacturing template right here there is a photo studio template already available for you but I strongly suggest you starting from scratch and following along of course with this course starting from scratch so that you know exactly what different things do and you know starting from completely empty scene I believe is more beneficial than it is to start from something that is already pre-made for you because you know you learn more so we will choose blank instead of photo studio blank as our template Automotive product design blank project name um I'll call it YouTube produ YouTube product this is also by the way the uh Unreal Engine file is also going to be available for the patreon supporters again and project location I don't mess with the project location I hold all of them in my documents folder as per usual once you've done that you're ready to go you hit create it's going to compile a bunch of things and uh for you it's going to take a little bit longer because because it will need to initialize the shaders and so on usually takes around 10 minutes to do maybe less 7 minutes or so since I've already um pre-made it I guess um I've opened it up before it's already compiled for me with that being said the shading is a little bit iffy let me check now it's still calculating yeah so you will notice that when you open up Unreal Engine For the First Time Unreal Engine project for the first type it needs to calculate all of the mesh cards all of the shadows and so on so just give it a second to catch a breath and once it's done that then you will be ready to go okay there we go seems like we're we're quite stable so let's begin by me with me explaining you the navigation and what you see here in general General right what is it the how does the UI work in Unreal Engine and I also believe you will not be seeing neither this this or this this is going to be a little bit closer to what you to what you see right so un real engine project can contain multiple levels inside of it so there's the hierarchy you have a project that contains all of the assets all of the trees all of the settings all of the everything right in in your um that that you're going to be using and inside of that project you can have multiple levels think of it as yeah like video game levels literally multiple small worlds in which you can construct things from the assets that belong to the project so for instance a project can have chair a blue chair and you can have five different worlds you know five different levels and you can use that same blue chair in any one of those five levels because of this uh creating one project that will handle every single product presentation from now on is much more um economical so to say uh compared to creating a product project per product right because you can just have a level for a chair a level for a desk a level for a a car and so on whatever products you have in the list I hope that it kind of makes sense there's a hierarchy to it so currently our level name is called main right so that that's just the level that is created and this level contains assets or not assets but objects that are listed here here on the right hand side in the outliner so everything that you have here in this main level is listed on the right hand side so I can see there's some fog here if I select the fog I can tick mark this uh I icon and now fog is gone so now we can see the the void the black void the black nothingness underneath uh there's the camera actor this camera right here that is looking at the floor for some reason not some reason because it's waiting for you to give it some um some geometry to look at so we can hide that uh there's the floor this guy right here that I can move around I'll talk about moving a little bit later that we can hide as well instant uh instan foliage actor that is just the uh NorthEast Southwest uh come on the the the across the reason why it's now glowing like crazy is because it's reflecting the Skylight and it's white so it's over bright for our camera and the reason for that is because we turned off the fog if I turn on the fog again the camera Auto uh brightness will expose for the fog th making the um this asset uh not over bright you're always playing a balance between the camera Auto exposure versus how bright different elements in the scene are so I can hide that um actually that's strange that it's not hidden is it that no it's not that it's my bad it's a a foliage actor which is not being used right now so if that is ah okay it's the Sun and Sky um widget rather than the foliage actor widget so I can hide that and suddenly sun and sky are gone only clouds remain and then I can hide that the clouds there's also player start which determines where the player will start the game once you press play uh which I can actually show you now the in terms of navigation uh before we start the game in terms of navigation it's w ASD to fly around um while you're holding the right Mouse button down right Mouse button hold it down click and hold double uh d a w s q going down e going up and while you're still holding down the right Mouse button look around so it's different from uh Rhino or blender right you can still use the scroll wheel to zoom in zoom out but trying to drag the The View will not work you do W ASD movement just like in a video game you actually get used to it quite quite fast and it's in my opinion for visualization purposes it's more Superior than um rhino navigation of course for modeling it's less Superior clearly anyway to actually play this level and see how this level plays you can press the play button right here I play this bam now I am a player I can't see my my feet but I am a player that can walk around on on top of this uh plate and I believe I can no I can't um go through it there is Collision right so if I try to if I try to uh pass through it I can't there is Collision but at the same time I can fly right so I can kind of look around and so on it's a very simplistic um moving mechanism once you're done you just hit escape and you're back to editing view okay with that said I think further explanation will be done with actually having geometry in or with with kind of using the UI to do something rather than just messing around with the with the Set uh sorry messing around with the default map here or default layer here let us apologies let us create a new level and use that from now on as our starting level so in the content browser right here I'll expand this this is where all of your assets are going to be located every single one by assets I mean starting from geometry materials textures sounds fonts for for text um behavioral chains so blueprints we'll talk about blueprints a lot user interfaces levels as well like everything is going to be listed here in your content browser and will be accessible from any level that that's the point that I'm trying to get to so this is an important thing and I suggest that you once you've expanded this you click on this dock uh in layout top right corner Dock dock in layout and you just dock it to the bottom uh bottom area of the viewport I'll show you how it works if you take it uh by the name content browser if you take it and you kind of wiggle it around the screen you can see that it kind of wants to dock itself to different positions so we dock it at the bottom like that and we minimize it or not minimize it but we make it as small as possible yay okay now in this content browser the first thing that we will create is a few folders I think it's time to to to create uh a few folders that that we'll use so in the content uh under content right uh content folder here we have our main level and we have our default uh build or main build data and uh blank default we will be deleting this folder later on but for now we will keep it here I can click anywhere on an empty space here right click I'm sorry not left click right click choose new folder and for instance name it levels levels like that right so here you can U sorry I'm just checking if it's possible to yes we will be able to set color for different folders color coding things is useful so we have our levels forer folder now created I'll create one more and I'll call it geometry so right click uh new folder geometry right so all of our levels will be here all of our geometries will be here uh let's do one more materials materials folder okay so now on the left hand side I can right click on my levels folder rename or sorry not REM name uh set color set color and I can set the color of it to let's say my levels are going to be white white colored like that my geometry is going to be set color new color red and my materials are going to be blue new color blue there we go this will at least for me just visually really um helps me kind of catch what what I'm doing and where where do I need um to click right to get the the levels um oh sorry to to to get the correct assets so now we double click on the levels folder we get in here and here we will create a new level for us that is going to be completely empty so we start from absolute zero right click level we create a level inside of our levels folder we name it um I'll just name it furniture underscore or Furniture T1 T2 without underscore but you can name it whatever you want right your your level name my first level is fine as well hit enter to to name it and that's it this is now your new level that you have created double click it it's going to ask you to save the changes sure you save everything that you want and voila now your you are inside you you have left your um standard like base level that this particular blank template comes with and now you've entered the furniture T1 T2 level if you want to go back to the base level you can easily do that by finding it in your content browser so if I go back to this content folder here I can see that there's level Main and I can double click it and now we're back right so can jump between the levels quite easily I go back to levels for inure T1 T2 opened up this one all right so that's um kind of step one step two is to actually set up the the settings for our level right so no sorry not the level apologies very important not the level the pro project the project settings um are inherited by every single level in the project you don't set settings per level you set settings per project right so we will set up those right now in my um set here on the top right corner and it doesn't matter which level I have opened up because it's Global right so here in the top right corner I click on settings project settings I choose project settings and it's going to open up this menu for me these are literally every single kind of setting of the project right and you could spend days you know just just kind of going through them and trying to figure out what is it that um you want to you want to do um we will not we will be just focusing on the key point points key aspects that we want to change so description description G uh maps and modes we'll come back to this a little bit later or actually no right now maps and modes default gape mode this will be changed later keep that in mind but for now we leave it as it is but for the default Maps actually we want the map the level that we have just created the our Own Furniture t22 level to be the main level right so when we start our project it starts so editor startup map here I'll click on the Main and here I'll find my furniture T1 T2 as a level and I select it like that you can also by the way uh just click and drag it on like that that works exactly the same way as just select ing it from the list I prefer dragging for game default map we also do the same thing we drag and drop in our furniture T1 T2 there we go so now this according to this setting every time you start up your project it's going to load in this level we go further packaging that's fine supported Platforms in terms of supported flat platforms you need to choose what is it that you're going to be um packaging your project to you know what kind of um Hardware or computers will be able to open your project and in our case we're going to go for Windows machines so I'll untick all platforms and I'll tick everything except Windows technically Linux would be also nice but uh no no we we just go for Windows those of you who want to go for iOS it's trickier than that I suggest that you Google packaging and real engine five projects for iOS you do need a spe special license and so on uh to do so Windows anyone can do it that's why we use this okay next Target Hardware here you want to make sure that the quality is the highest possible quality that you can have so it's desktop maximum quality perfect we move on if I keep scrolling here right at rendering right here if I uh click on this you can see all of the render settings that um the the the Unreal Engine will use and the render settings here that that that we should focus on was going to be Global elimination that needs to be Lumen Reflections needs to be Lumen Lumen is a system that handles both indirect light or light calculation Shadow calculations as well as reflection calculations and it's uh I mean compared to every other system this is the strongest one that Unreal Engine 5 has and that's what we use if this wasn't a beginner level course I would explain more but in this case we we stick to what I just said um reflection capture resolution uh 2048 is a little bit of an Overkill but I think that's going to be fine so we stick to that um give me a second I'm opening opening up my notes so that we don't forget anything in terms of lumen settings themselves so Lumen has its own settings of course as a system Ray lighting mode instead of surface cache we hit we use headlighting Reflections those Reflections are going to be more accurate than surface cache but will require stronger Hardware high quality transluc translucency Reflections sure we can tick mark those in my experience does not make a big difference uh software rate tracing mode detail tracing Global tracing we use detail tracing more accurate very important that your Shadow maps are virtual Shadow Maps that your Hardware rate tracing is supported R Trace Shadows are supported you're using texture lods and just in case you can use path tracing to um just have it as stick marked I will explain what it does in later stages of this video um generate meas distance Fields all of that should be enabled nanite always enabled nanite is another system so all you need to know is Lumen and nanite these two systems that are very important uh also substrate but that's materials uh Lumen takes care of light in a very accurate way nanite takes care of very heavy meshes and REM measures them or reduces their polygon count according to how many pixels are used to show them on the screen meaning if the mesh is further out nanite will remesh it with will reduce the polygon count more and more the further it is away from the camera on the screen it's magic it works very very well and enables you to have billions of polygons on the scene without crashing your computer all right um then in terms of uh static lighting we will not be using any static lights static lights require you to build them basically for the computer to calculate for in real engine to calculate their position and how they're bouncing around and the moment you move them or you change something they need to be recalculated we will not be using them uh so I'll be UNT taking allow static lighting this triggers um you can see this triggers restart now uh button right here I will be clicking that once we're done with the uh settings so uh what else is there one second forward shading we don't mess with that uh translucency no that's VR this is not a VR course we don't we don't change anything there and then materials okay um so there is an old material system or a new material system called substrate by the way if you're having trouble finding things things uh that I'm talking about you can just type in the keywords that I'm using to describe an option for instance subrate substrate um so this is a new material system that is introduced with Rhino 5.1 or five Rhino 5 uh that is going to replace the old material system so it makes sense for me to do this tutorial with it currently it's still experimental but it seems to be stable enough for me to show um the whole process by using the system so I will tick mark substrate materials experimental it gives me a warning that it's experimental I hit okay and we tick mark um the substrate opaque material R refraction I will not be um actually one second h Advanced visualization shaders enable Advanced substrate material debug visualization shaders base path shaders can output such Advanced Data I will tick mark this as well this will make the rendering slower and allocate more memory please do not check in instead you could add H okay uh so this just says that uh this is an Overkill and you shouldn't do it that's that's why I was on the on the edge we will not be using the substrate Advanced visual visualization shaders we'll have this antict we're almost there almost there I promise now if I keep scrolling through the settings on the left hand side and Let's Escape out from or close down the substrate search if I keep scrolling down platforms windows so so we'll be changing a few things or rather checking a few things for um the windows platform for which we're going to be publishing this D3 D12 targeted Shader formats should be sm6 that will give you uh most stable results D3 d11 sm5 that's correct wcan Target we don't use wcan that that's whatever default r hi rhi should be direct X12 the newest one we use D3 D12 here and we will be using direct X12 scrolling down here nothing we need to change here okay that's it that's it now we have all of the settings all of the global project settings done and we're we have a new map done and we need to restart uh the project this is still complaining underneath you can see it's still complaining I will be clicking this restart button and once it has restarted then we will move on to our next chapter so let's go for it all right so now with the project set up and ready to go it's time to import our geometries that we are going to be presenting so before we begin actually in the geometri folder I'm going to create a few more folders so that we have a proper structure it's very important to have a proper structure within your assets so that you can later find what you're looking for I'll create a new folder right click new folder and I'll call this uh Furniture because that's what I'm showcasing here this applies to any um geometry that you would like to Showcase um so if you have cars you name this cars right and then I'll create another folder and I'll just call it supplementary or other other is fine right and in the furniture folder I'll expand this or open this up I'll create a new folder and I'll call this uh the name of the fure piece that I'll be um showcasing which is uh T2 T1 or T1 T2 oh no T1 T2 in my case right you can call it any like let's keep it simple let's call it uh desk or uh this is not a desk this is like seating seting easier okay open that one up and this is where we're going to be importing our fbx files so if I were to to open our folder to which we've exported the fbx files in the previous chapters we see here two folders named export from blender export from Rhino export from Rhino is the one that I'm going to be using but just to be kind of clear the process of importing is going to be exactly the same so you can see T12 blender. fbx is here and in I know we have T1 t2. fbx for the um table or seting furniture and scene studio. fbx for the surrounding environment right so how do you import well you drag and drop select the file T1 t2. fbx drag and drop it in here into the geometry Furniture seting folder here uh we are then present it with a bunch of settings and this does not look that bad Until you realize that there's also advanced settings senders I mean you can expand these right in terms of the settings that you use to import it's only a few a few things that you need to change build nanite should be turned on this will enable the geometry to be dynamically refreshed when you're moving away from it or or when you're moving closer to it so it's going to change the amount of polygons of your geometry I already talked about uh nanite in uh a previous chapter so I'll skip over it uh generate collisions we don't care about that we're going to do a different thing with this so it's doesn't matter if it's on or off um most importantly we will go to advanced settings right here and we will will make sure that combined meshes is not turned on meaning that everything every part of the fbx model that is imported Imports as a separate entity as a separate object that is a very important thing right because you will want to have them exploded later on in an exploded view besides that uh let me just kind of quickly go through here of course you can change where it's going to be positioned and what's its original rotation um you can force uh I'm trying to say blender it's not blender you can force an real engine to read what are the units that were used to generate um the fbx export and then convert them into cenm some most of the time works sometimes doesn't that's the reason why I have this unticked by default but if if you're um trusting in your nature you can have this stick marked and most of the time it's going to work besides that it's pretty straightforward we just yeah we just import all so the only thing is build nanite and and and combined meshes turned off import all we give it a little bit of a a moment we give it a moment it's in total is going to be 39 41 what are those those are not just the geometry bits but that's also the textures the materials and so on all of it right and here after it's imported you can see all of these different um well these are not errors these are warnings yellow is warning red is error so warnings uh which says mostly that we have a lot of or not a lot of but some very small edges in our exported meshes and that makes sense because these are uh transferred from nervs geometry into mes geometry meaning yeah sometimes it will make a very short Edge that is not an issue honestly um Degen degenerate tangent bases might be an issue um but we will need to check that to see like if if we visually can see that the shading is weird then we will know at least that object four um needs to be fixed in the 3D modeling software uh to to solve that besides that this is fine I clear this I close this and now we have a bunch of objects right here so what we have here are um every single part every single piece and I can double click on any one of them to actually see it and it's okay it's very hard to see it so here in the top until uh instead of clear sky we expand this and we choose neutral shared neutral background so that the hdri is not the hdri that is used is not to um dark I guess or it's it's shading properly because there are issues with r Tred hdri Maps doesn't matter neutral shared will show you the uh form uh you can see that it's completely black and it's it's very hard to understand what is it that you know um that we're looking at I know that these are the feet of the table but we need to change the material of it and honestly instead of of switching up uh switching up the material I'll close that I will change the material itself I'll try to investigate why the hell is it that this material is uh black completely black we will have a separate uh I double clicked on it by the way we will have a separate uh tutorial on oh that looks fine here uh we will have a separate tutorial on materials uh within this course in later chapters so um look out for that in this case I'm not going to show as much so the shading was actually fixed the material was fixed by me just simply restarting on real engine and letting it recalculate the material itself that's all it took if you're having if you're still having troubles with material showing up as black after the um the restart of Unreal Engine then double click on the material here untick cast R Trace Shadows right here I'll explain that again in future chapters and take that hit save right here so that it kind of triggers an update tick mark cast rate rra Shadows again and hit save again so it you're basically triggering a recalculation of the material which seem seems to be forcing like proper uh wrapping and then like proper um what's what's the name representation um on on the viewport at least okay with that being done it's time to actually get all of these parts into our scene so if I select all of my elements here holding down the shift key just don't select the texture nor the material just the parts holding the shift key first one shift click uh holding shift key click the last one select all of them and I drag all of them in just like that bam now my geometry is located in the world and it's completely black because you can't uh yeah you there's no light right it's it's only you can see here it's only the geometry that that is created right and I have all of it selected as well um I will be apologies um I will be positioning it so you can move it around like that or the moving axis that's the shortcut for the move tool is the W key e key is rotation right and R key is scale don't scale it and don't rotate it but you can move it around anywhere you want right now it's arbitrary because there's nothing in the scene so it's all relative except for its relation to the world 0000 coordinate if you still have all of these elements selected if you don't then you can just simply select the first element in the list here in your outliner scroll down to the end of the list holding the shift key select the last element in the list and now you have all of them selected you can reset all of their locations to fit on right on 0000 0 right so you're moving them back to 00 by simply clicking this little arrow right here bam you can see see it's now zeroed out you can also click that one you're basically resetting the location to the origin and now it's here um with that being said now it's time to for me to explain to you the difference between the elements that you see here listed here right and the elements that we have here in the content browser these are not the same those of you who are familiar with uh linking for instance Adobe in design links a file so there is a file somewhere on your hard disk and Adobe in design creates a link to that file as a reference that it represents that it shows that exactly that is exactly what's happening with the outliner here meaning that all of these assets that are imported into your project don't get duplicated every time you duplicate Assets in your viewport in your scene actually I'm going to switch this to wireframe so that you can at least see the the model so here in the top left corner instead of lit I'm going to choose wireframe there we go so these assets right here are references these forms right here are referen to the original assets that you have imported into your Unreal Engine project right um this just makes it much more lightweight the moment you start copying assets because all they need to do is link to the same um same asset right so if you have a million screws and there's all of the screws have the same form it makes sense to just have the form and then have million kind of references to that form rather than creating copies of the form itself um think of it yeah again uh links in Andre in Adobe in design or blocks in AutoCAD blocks in Rhino right that that kind of a workflow um very very effective very efficient way which also means that any changes that you make here in the uh content browser will be applied to every instance of these Assets in your viewport in any level where where they are used right so these are like global settings while any changes that you make you know by selecting the asset in the viewport under here will be applied to that um asset locally right uh just in that level just for that particular asset and of course the options ch change or rather you have different sets of options for for both right what kind of changes do we need to make I think right now none Let's uh so that you don't get overwhelmed let's first figure out the light and then we will continue on from there before we do so before we jump to the apologies before we jump to the light chapter there's two things that I want to first of all show and then do first to show I want to show the nanite in action so if I uh let's make the camera speed slower camera speed controls are right here in the top right corner um you can make it go fast or you can make it go slow usually with um Furniture sized pieces I do 0.1 speed right you can can see that if I look at this object right now this is the amount of polygons that I can see in wireframe View and if I zoom out you can see that the amount of polygons starts changing D dramatically right let me zoom in right so it updates the polygons for me I wonder why the hell this one is not updating what's up with that object four wait object four that reminds me we already had a warning for object 4 so it seems like object 4 has is is a little bit iffy in terms of nanite um that's not that big of a deal because that's not too many polygons in total but if you want it to be clean then probably you would need to look into why object four is different from from object 5 in the Rhino file and kind of rebuild it from there not the course for that so we're going to stick to what it is right but you can see the nanite being nanite working and remeshing um our our file in real time the moment we zoom out we will dial in the settings for it at later stages so that's what I wanted to show what I want to do is actually in my materials folder right here I want to create a new folder and I call it Masters or Master material uh then I create new folder call it instance and I create a third folder and call it other just other materials right and then also we need one more folder here called textures images right so new folder I'll call it textures there we go then uh from my geometry Furniture seating I will take my blue texture right here that I use for the bench right to see the tiling uh or how the edges flow and I'll drag it into the textures folder right here and I'll just choose move I'll take my custom material and I'll drag it to other materials other folder right here it's a temporary material so we don't need it to be under Masters we'll just have have them have them here right just so that the seat in um the seating for folder under Furniture only has um what's what's the word only has geometries in it and also I will set the colors to Red for furniture seating right and also for other and I will change the geometries for material um I kind of want to do it all at once so I'll see if it's possible doesn't look maybe right click set color blue nope okay we we set it one by one for these there we go that's done and then for other uh within the other folder under geometry I'll go go to my exports and my scene studio. fbx I'll drag and drop it in same settings exactly as what we used import all smoothing group INF for node that's fine we have our scene studio um this one is black again let's see should it be black No it should be white so it's not calculating let's see if the trick with cast rate race Shadows if turning that off saving this if that trick actually triggers yes it does you can see now it's white now turning this on again save that this will force uh white material to appear then I drag and drop in this my my studio I believe it's very far away yes so I reset its values you can see and that that that's why it looks so small I reset its values to 00 0 and now we're good to go we're ready to go and now you can even see the nanite in action even better right all right time for the next chapter let's go so when it comes down to creating lights it's pretty straightforward first of all lights are not assets as per you can have them in your um content browser technically there are ways with actors blueprints of how to have lights as Assets in your content browser but technically they are mostly they are created per level um as geometry that exists in the level and let's do do so I'll I'll guide you through this so anything that you want to create in a level um in real time um is is created through this button right here quickly add to the project we expand this button or click this button to expand the menu and as we're looking through all of these settings you can see here lights right there's also basic shapes where you can or no sorry shapes where you can add a cube a sphere and so on but right now we're focusing on lights Focus up there's Direction light Point light spotl rectangular rectangular light Skylight HD backdrop and sun and Sky system right in this case we're going to be using well let's start with Point light actually that's the simplest one right a single point point light bam there it is now you can't see it in action because everything is um shown in wireframe view right so I'll click on wireframe and I'll choose lit again bam and now there's light there are issues I I can see them don't worry I can see the issues we will fix the the issues so issue number one is this area here is indeed glitching out don't you worry we will I I I have a solution I have a solution issue number two is the all of these ugly Shadows okay this is actually very important since we are using R tracing in our project the Shadows are R traced from the light and also since we're using nanite in the project the shape is being constantly remissed to battle the flickering of the shape kind of constantly changing the form the light is actually calculated according to the lowest resolution mesh that um nanite provides and because of that these Shadows are you know not not accurate and they're kind of intersect with the shape itself um it's it's pretty hard to explain it but I wonder if it's possible with uh detail lighting no now unfortunately we don't have any tools to to represent this properly so you'll have to trust me on that nanite and R race Shadows don't work that well together but there is a way of how to fix it and that is by making nanite um calculate the remeshing more accurately so to fix the backdrop I will double click on our scene Studio asset right not here not in our level but globally so in our content browser double click to open the asset itself right here it is and you can see that there's uh same Miss issues that that are happening here as well right say exactly same same problems so to fix that I will go into nanite settings on the right hand side right here and here where it says fall back Target instead of automatic we can't trust automatic will expand and we'll say relative error so how much of an error can it make when it's remeshing and we will say no the relative error during Remish reduction of polygons needs to be zero you should know you should not make an error we click save or sorry we forgot to apply the changes you click apply changes save and now it's clean it's good to go right we also need to do exactly the same thing with uh our table and with that being said also this area right here this geometry is messed up let me show you a trick of how you can uh fix it without actually re-importing or fixing it in Rhino um since I know that this piece of geometry right here uh is clean and this one is not I can just simply delete it delete that one from the scene I can select this one and since I've exported everything centered around 0000 coordinate and this is a symmetrical design I can just simply make a copy of this holding down the ALT key I will drag it up like that make a copy of this and for its scale in the y direction I will give it minus one and then I will drag it it down it snaps to 10 cm interval so it's easy to drag but also you can change its location right so I deleted the faulty one I copied the correct one and I mirrored it into the correct position and now we're good with that being done uh we also want to go to the seating and we want to change the behavior of the Shadows for all of these geometries because if I if I were to zoom in closer uh can you is there like anywhere where we can kind of see it happening come on yeah you can kind of see it there I'm not sure if this is picking it up but there are shadowing artifacts the similar ones to what we saw here on the legs on any rounded piece of geometry honestly so so we need to fix that to fix that well you could open up every single piece individually and you know go to uh relative error and change the relative error to zero but that would take too long so instead we will select all of the objects here in our asset editor we will right click uh all of them right click go to asset actions and we will choose edit selection in property Matrix this opens up a window where you can edit the settings for all of these simultaneously at the same time so here all I need to do is just search for nanite uh no we don't search for nanite where's we just go to nanite settings here literally right here nanite settings fall back Target relative error it's stinking there we go fall back percent triangles or sorry fall back relative error not percent triangles the relative error is what we're changing to zero there we go bam that's done click save close we're good to go now this is going to be shading accurately it's going to cost a little bit extra but it's it's going to be accurate back to lights so in terms of uh now now fix the Shadows right so in terms now we can experiment with the lights in terms of the lights it's very very simple to to work with you can see the point light literally has all of the settings right here that I'm currently blocking with my face um all of the settings uh when you select the light are on the right hand side uh actually for any object they're on the right hand side and here we have the intensity in Candelas uh it doesn't matter what kind of intensity you you will use even if I use like 5,000 the camera exposure will expose for the correct intensity because it automatically automatically exposes right so going back to eight and waiting for the camera to reexpose it it's absolutely fine in terms of light color I strongly suggest not using light color but rather using temperature of the light tick marking that and then going call ER or warmer according to your needs don't go beyond 3,800 don't go lower than that don't go higher than 11,200 I believe no sorry that that was too much 9,200 was it something like that yeah not 11,000 9,200 right U everything out of these values uh outside of this this value ranges is a natural uh so for temperature I'm just going to use um 6,500 well 5,600 actually a little bit warmer right so also you get the nice Bloom effects we will talk about those a little bit later all right so this is boring like a single point light is boring and in terms of lighting you're scene that is not good enough photo atas don't use that so we delete it instead photo atas use where is it rectangular lights they use the soft boxes and rectangular light is like a soft box right so that's the one that we're going to be using Spotlight I will cover that a little bit later but basically Spotlight works exactly like U let's drag it in here there we go yeah exactly like you would expect it has a direction and it shines shines the light easy peasy right and with don't forget w e r to rotate and change U directions uh by the way if you want to focus on a certain piece of geometry you press f f key you select something in the scene you press f that's Focus so your camera will focus on on that particular object um all right so Spotlight no back to creating lights rectangular light right here um we have no idea where the hell it was created so I will just look at its transform its location and I can see this location is way off so I'll just going to reset it to 00 0 so that it's easy for me to fish it out and use W key to move it up and here it is right so as you can see the rectangular light has its own you know shape and that it it always goes 180° there are ways of how to control that I'll explain those in in a in a little bit but basically that that's that's how it works let's position the rectangular light in some a little bit nicer way because right now it's just right in the middle of of our oh also it's still making a little bit of a mess right there by directly shining it on the surface we don't care we hit e key and we rotate it something like that something like so we hit W key we move it back move it in right like that I I think that that might do the trick maybe a little bit further out e key again to rotate it something like so a little bit higher so I'm trying to find the key light the main light source for this uh um bench remember the name it's bench right then instead of Candelas I prefer using lumens so for its intensity I'll change from Candelas to lumens and it says 25 lumens no we don't use 25 it's 1,200 1,2 200 lumens will do the trick seems like the shading is also fixed by an appropriate amount of lumens then in terms of the size Source width Source height um let's think so this is in centimeters right so let's say the height of it is going to be a little bit higher than a human um 2.2 M 220 yeah that's that's pretty big that should be good that that that that seems good and then it's WID should be one 120 something like that uh maybe 100 it's a little bit too soft the bigger the bigger it is you can see um the softer the shadow becomes right that's important and as we move into look at the shadow you can see that the shadow quality is actually pretty good I messed up the attenuation radius I'm sorry we'll get to that so the width is again 120 Source height 220 seems to be doing just fine in terms of you know um creating a soft soft lighting scenario with a soft box type of a light um let's move it back as well just a little bit then uh you already saw me messing around with attenuation um oh now we're back to the shading being all weird so strange anyway uh you saw me messing around with the attenuation radius so if if we decrease attenuation this you can clearly see what's happening right it's only calculating inside of this sphere that's around the light so we can control how far does the light influence as it's being calculated I'll go for like 2,000 uh cm which is 20 M so that it calculates everywhere definitely in our scene uh then in terms of a bar door angle and bar door length you can see that if I change the angle we can focus in the light more or less right in terms of the length we can make it right into this this kind of a what's what's what's the correct word oh camera is having troubles come on you can do it there we go exposed properly we can make this into a very very specific scenario in terms of lighting damn camera is just losing its mind let's not so the length needs to be a little bit less right less Focus so we're not using a a laser for it and I'll open it up a little bit more maybe to something like 60 agre and barn door uh bar Barn Door length 20 okay that's done let's make two more lights uh we'll change the colors later ALT key move it in uh move it to the side um reset the rotation of the copied light again I copy it with using ALT key holding down the ALT key and just moving it to the side in the um viewport like that and let's uh I think we should make it smaller yeah this one should be like 80 by 120 this is a secondary light right so we make it smaller um I will e come on E key I'll rotate it something like so yeah I should do the trick and then drag it in just trying to find like a nice nice placement of this of this yeah something like that seems to be quite quite quite lovely okay great so we have that set up one more light one last Light is going to be right at the top so again alt copy re reset reset everything actually move it to the top e key to rotate 90 Dees going up um and this one should be big so again 120 to 220 uh with no bar Dorn angle or length so that it just kind of floods the floods the space completely or actually it creates this kind ugly seem so let's actually have a little bit of a length here with a little bit of an angle here yeah something like that that should be fine okay so that's the scene that's how it looks like I don't like those oh streaks H yeah seems like that's that's nanite being nanite as we are moving away it's still making a mistake let's see if we can actually fix it so how do you uh by the way a quick little tip to easily navigate to the object that you have in the scene in your content browser you select the object and then on the right hand side you click on this little um folder with a magnifying glass uh icon here po and it shows it in the scene double click on it okay so relative trim relative error keep triangle percentage everything seems to be very very nice H maybe we turned off nanite for this one because it's a single piece of geometry that is never going to be moved no no no we keep it we'll we'll fix it with uh certain commands later on uh that's going to be a good opportunity for me to show off a few uh special commands uh for you so those are lights uh in terms of um the temperature I believe we don't no we don't uh mess with the temperature also I want this to be a little bit closer in like that uh I will not mess with the temperature right now because uh you change the light temperature after you've applied the correct material so that it plays with the material nicely right without the temperature um sorry without the material you're Flying Blind in terms of other lighting scenarios or uh lighting types um you can always choose by the I have a whole course on architectural visualization for Unreal Engine 5 I'll leave a link to it in the video description below where you can learn about the lighting system that is used for architectural visualization completely different from this one but uh in in terms of product visualization I think you know for Studio lighting this is good for something a little bit more natural you could use hdri backdrop so let me show you this I just created the hdri backdrop we move it down right now our lights are way too too bright but you get what I mean right so you use this let me delete that I I I don't want it there um what else let's let's see now that's it in terms of the lights it's a very simple system that's it that's all we want let's move on to the next chapter all right it's time for materials so there are two ways of how you can get materials for your Unreal Engine project Unreal Engine 5 project one of them being the quixel bridge uh library or sorry quickel Mega scans library that you get to through the quickel bridge plug-in add-on that comes together with unre engine 5 uh second one being you download the textures and create a material by yourself in and real Engine 5 I will of course cover both of those um in in this video so we'll start with the quickel bridge because that's the easiest uh way to work and that's that's the go-to right so if you go here to quickly add to the project button right here you can see that there's quickel Bridge option right here you click that bam it will open up a new tab for you it might the tab might be there we go the tab might be just kind of free floating up up here I like to just dock it right next to my uh level tab so that I have both of them here you can also dock it right next to your viewport tab right here doesn't really matter come on takes a while there we go so after it's uh docked you can eh scroll down um you you will need to log in so here you just um choose sign in and you will use your unreal and or epic games account to log in to quicksell bridge from there on out every asset that you download is free which is nice so it has both 3D assets uh where you can get a bunch of like nice rocks and then stones and branches and twigs and so on very nice and also it has surfaces there's plants as well but surfaces right surfaces are the meesh uh sorry the materials that you can download so let's get a nice um what do we want well we want like a nice wood material right so I'm going to go in here I'll choose wood and we will be using veneer and here you can see the tick marks uh for the materials that I have all already downloaded and I think this time I will use ash veneer because uh in the example file I showed I used Oak veneer I'll use ash veneer this time there we go seems to be quite bright quite nice uh once you select it you can see it size 2x4 M uh that is going to be important once we deal with the scale of it and then for uh so that we know that it's it has to be scaled two times in One Direction compared to the other right the proportion matters and then here we have the quality either medium high or highest in this case I'm going to choose high quality uh almost never do I need to download highest quality materials those are 8K 8K is extremely heavy for your uh scene and the scene Will Will just kind of if if you have everything or at 8 K you need to have an insane graphics card to be able to operate with that so 4K is more than enough typically you operate between 2K and 4K once this is downloaded I will click on this add button and it's going to create two folders for me two extra folders for me one called Mega scans the other one called meas scans presets in terms of Mega scans presets we don't really touch this this is where all of the kind of underlying M uh functionality lies uh instead or Master materials and so on but instead we will focus on the mega scans um mega scans uh folder right which has our Ash veneer right here right with the with its three textures I'll here in the top I'll go back to my viewport one and I'll just try to apply Ash veneer to one of the geometries and you can do that multiple ways but the easiest one is to select the geometry that you want to apply the material to and just drag the material into this slot on the right hand side I believe you can also drag it just directly on top of the geometry yes you can give it a second to recalculate there we go and now we have our Ash veneer set up here in a very ugly tiling way that's fine we will we will fix this um very very easily so to fix the tiling we need to access the settings of the material itself because remember the UVS of this shape are already unwrapped meaning that you can't really mess with the UVS as much but you can mess with the shape uh sorry you can mess with the material so I double click on my ash veneer material instance right here and I can go to tiling and offset tick mark this expand it and here I see how many times does it repeat in X Direction and in y direction and I remember that it's 2x4 I believe right 1 second yes 2x4 M so its X Direction needs to be 2 times smaller than its y direction so I'll start by cutting it in half and then in half again 0.25 and 0.5 here let's take a look seems to be pretty close to correct scale it's still you know not not not the best uh in terms of tiling now I know I didn't use ash veneer but hey it's getting there and then of course the rotation of this is also wrong so for rotation angle I'll tick mark this and I'll choose uh if it's 1 it's 360° 0.5 180° so 0 .25 for 90° angle and now it's starting to look a little bit better right slowly but surely it's it's getting there so with that done we can save this uh material texture I'll change this to neutral so that we can actually see it no we can't what the hell is going on with the preview in the new versions I don't know doesn't matter doesn't matter as long as we can can see it here where we're fine so that is how we can then apply this this material to to here to to the legs and so on with that being said for instance if I want this material to be rotated on this uh for this uh leg right I need to have an copy of the material with rotation set to be a different number which is fine but that kind of brings us to um the second part of this chapter let let's just go with the second chapter of creating custom materials so let let's go to chapter six I believe all right so now in this chapter it's time for me to show you how you can create your own materials which will give you much more insight to the downloaded or the materials that use from quickels quickel Mega scans um they kind of go hand in hand so it's important for me to explain both in tandem that's why I'm kind of confusing between the two chapters with that being said uh first let's talk about where can you get the textures for your materials from and that is of course the internet but there are two main uh websites that I could suggest first one is called called poly haven.com texturewood but basically poly haven.com where you can get all of the different textures here and you can find like very nice uh in this case wood uh let's go for clean or rather indoor manmade laminate floor right pretty nice texture with a bunch of different assets here on the right hand side you'll see the different resolutions at which you can download this uh these textures uh should it be zipped or a blender file or anything like that of course it should be just zipped and you want it to be kind of just handed over to you and then you just click download and you get it right so that's how poly Haven works great uh resource second one is polygon you do need to register uh for polygon not every single material material is free but some are and out of the free ones for instance this one you can see that I have already downloaded it um it's great right it's it's it's it's a great texture it looks great on furniture so that's the one that I got uh in polygon you can choose the resolution you can choose the workflow is it metalness or specular and real engine uses metalness so it's better if you have it uh set to metalness if you still use specular that's fine as well they can be converted to specular materials not a problem or sorry specular materials can be used in a real engine through conversion that's not a problem and then here it shows what kind of maps you're going to get in this case we don't even need displacement Maps but we're going to get them anyway and you just click download I have already downloaded particularly actually this material which is uh H coincidence I guess um Underwood veneer White Oak there we go this material right here and it comes with let me close that it comes with all of these different textures uh metalness or sorry AO ambient occlusion uh color information displacement displacement 16 bit so more accurate displacement um metalness so how metallic the object is um normal maps and roughness Maps right so clearly some are more important than the others just looking at the size of the images here um but we will be importing all of them and just choosing the ones that we need so under my materials folder which is blue under textures I'm just going to right click and create a new folder and I'll call it V V Oak um yeah that that's good enough veneer Oak double click on that that's that's my veneer Oak texture and I will just select all of these jpegs and um pngs right here drag and drop them in just like that uh easy as that I hit okay to uh whatever that was and we're ready to go with uh creating a material from this so you need to understand the system of materials in Unreal Engine five the system is as follows um there is a master material basically a function from which you can derive all um supplementary or not supplementary but derived material so all instances so for for example you can have a color Master material that has a color set as a variable and then from that material that has color set as a something that can change you can derive red color or red color material you can derive blue color material green color material and so on so for materials that use textures you can create a master material that has all of the textures set to be variables right and then in real time you can switch up the textures uh by thus creating instances of that Master material I'm not sure if this is making any sense at all but hopefully the once we start building it up it it's going to make sense so in my materials folder under master material I'm going to double click and here I'm going to create a new material right click uh material right here and I'm going to call it uh textures or actually Let's do let's do a simple one let's do colors colors so that everyone's on the same page colors material we double click that this opens up this whole menu with uh like the not menu like node list no node node viewport I guess uh where we can create different inputs for our material creation so what you see here is a substrate material system right it's it's not based it it used to be node-based as well but in this case um it applies uh this more accurate layering of different textures to achieve a much more precise result compared to the old system that's why it's being upgraded and why it's being used even though it's unstable we're not going to be using it too in a too complex of a way just just the basics right so here the substrate you can see it has multiple inputs the main ones being base color metallic again you can see specular right here which is nice but we're not going to be using that roughness normal emissive color and opacity so let's uh usually what I like to do is I like to start from um without using the base color I like to start by messing around with everything else making sure that it looks natural you know the Sheen and the bumping of it and everything looks nice and then I add the base color last so let's start by messing around with the metalness right by how metallic the object is I will create a scalar parameter or wait no uh let me show you a quick shortcut you hold down the one key uh on your keyboard key that number one right hold it down and click your mouse it creates a node right this node is just a constant value um you can also right click and type in constant and choose it from here from this list exactly the same node uh you can also drag out from this and type in constant also to make it already connected right it's it's multiple ways but the fastest one is holding down the key one and clicking uh your left left Mouse button I connect this constant to the metallic like so let me expand this actually so that you can see better there we go one and sorry and I changed it from zero to one give it a second and now it's glossy or not glossy now it's it's it acts like metal if I change this back to 0.5 or sorry to zero it should be zero now it should be metallic does not look like it's changing as much though it is what it is um in terms of roughness that's the same principle I change this from um I I click one I press I press one I click on the viewport and I connect the value to refence nness now the value is set to zero it's going to be perfectly smooth zero roughness and if I make it hyper metallic yeah it it it is metallic it's just that it does not have anything to uh reflect so it's oh there we go if if I use the different preview here you can see how much it actually reflects right so let's change this back to zero from metallic and this is how it looks like um without being metallic but being fully uh smooth if I change this to like2 you'll see that it becomes more and more blurry. five very blurry fully metallic .5 blurry metal right you get the idea so that's the metallic and roughness both of these values uh I will I will set metallic to zero and roughness to2 as my starting uh points then for base color it actually cannot be a single number it needs to be uh it needs to be three numbers right RGB red green blue so what we will need to create I'll drag out from base color from from this input here drag out and I'll create a vector constant sorry constant three Vector constant three Vector bam and here now I can click on this or double click double click on this and choose any color that I want I'll choose pink why not hit okay this does not care one bit that it should be pink let me change this to neutral environment and now it cares I don't know what's up with the preview I'm sorry but I I can't control that part usually and honestly i' I've seen seen issues with uh R traced pre used before um part of the experience I guess anyway we have ourselves a pink color that is a little bit shiny and not metallic at all so This Is Us creating um what what's the word give me a second a base material like a master material from which we will say that the base color the metalness of it and the roughness of it should be variables actually and then any copy of this or any instance of this will be able to change the color the metal metalness and the roughness so I'll right click on the color input I'll choose convert to parameter and I'll call this color um yeah color I'll right click on the metallic input uh on on the Node um that is currently called zero convert to parameter I'll call This metalness And for roughness convert to parameter I'll call this rough rough there we go you can also uh make the maximum of metalness set you can set it to one by you select the node and then you access the settings of the node and settings of roughness you can set the maximum to one as well just so that you don't use like 500 roughness that will make no sense there's also a missive color so it can make your elements shine but in this case we're not going to be using that for now I save this material and I close it and now I have my colors material right here right this is the master material I can right click on it and I can choose to edit it oh sorry I can choose to create a material instance we don't need to edit it anymore create material instance if I make that I can call this um I'll call this red underscore color red color right and now if I double click this red color material instance you can see that the menu is completely different and it's only these three settings that I can change here right so I can tick mark metalness and I can mess around with the metalness right here I can take my Mark roughness change the roughness right here I can tick mark color and I can change color right here right that it doesn't end here it's it's actually even cooler than that let me apply it to um these two areas oh by the way one one thing important see how my camera is clipping into the geometry when it's close by to the geometry you can make it not do that by here in the command line writing a very specific um command if you write near clip you will see a suggestion R do set near clip plane you click that then you write space bar and let's go for 0.1 which is 1 mm and hit enter 0.1 for near clip Lane means that now the cutting of the geometry will only happen if your camera is closer than 1 mm to the object so you can zoom in much closer for you know value I don't know um for precision I guess and now I can take this red color which is incidentally blue right now and I can drag it drag and drop it on the two sides here that I want to be colored in in blue color I'm sorry that I'm wiggling the screen too much the camera is too fast I'll make it even slower there we go so now I can see these kind of two blue colors right here if I open up this um menu here or for for this material now I can change the color of it in real time and I can find a color that I like so I'll go for something like let's go for darker darker darker something like that and I can even make it metallic or non- metallic I can change the roughness of it so I'll go for 0 point five something like that in terms of roughness there we go we have our red color material set up now um actually let's move it to where it belongs because this is a folder for master materials and this is a material instance I want it to be in the instance material folder so I'll just drag and drop it in to instance move here now it's here I'll make a copy of it crl Ctrl V and I'll call this light gray color double click drag and drop it onto the backdrop right here and change the color of it to well light gray so our wait how does that work we go full white and then we mess around with this slider to get like a proper yeah that that seems to be okay and its roughness I want it to be really high so something like 0.75 and that's it now we have ourselves a light gray material as well now on to um for now that's enough with the colors right I think it it it proves a point of how how this whole thing works now it's time to move on to actually uh working with the textures that we have imported right the veneer Oak textures that we have here so under my master material I'm going to create a new material and I'll call it textured material material that uses textures open it up and here here for the base color for the metallic roughness emissive no not emissive sorry normal color uh we will be using textures right and this is going to be opaque so we're not going to be dealing with opacity right now so I will go to the textures folder veneer Oak and this easiest way I mean we can always right click and type in texture sample uh texture sample here select this note scroll down here and here we have the texture and then I can drag and drop in for instance the color texture into the texture sample node sure we can do that but I think a faster way is just to drag and drop in the texture from the asset browser like that so I'm going to get my uh base color texture in here I'm going to get the ambient occlusion color in here like that um let's just have it there uh that is called displacement 16 displacement just displacement we will not be using displacement uh that's too heavy uh so we skip over that uh metalness we will be definitely using metalness uh normal map for sure we'll be using normal map and that is roughness roughness is very important we'll be using roughness as well is that all that is all okay so we have all of these textures here now we need to connect them properly so ambient occlusion easy peasy just connects to ambient occlusion right here then the base color or actually let's connect base color last because I want to see how it's going to um how it's going to work without the base color you know once we connect all of these so let's connect the metalness RGB to metallic right here just like that let's connect the roughness so roughness goes in here to the roughness input like that oh yeah you can clearly see that the roughness is uh yeah that works nicely that that is starting to look definitely like uh proper wood texture and then let's connect the normal map to the normal map input here give it some time to calculate it can we do clear sky maybe that's going to be nicer now clear sky for some reason is is acting acting weird I know I'm repeating it but uh I'm just sad frustrated about the preview not not working properly anyway uh the neutral uh preview at least works just fine and you can see that this definitely looks like a pretty decent wooden uh texture even without the um color information itself that is how you know that um the geometry that you have or sorry the textures that you have are placed correctly and are um working correctly then I connect the base color hopefully it's still going to look good seems like it's still going to look good once it actually loads in there we go nice so those are our uh textures and we have our material set up now we want these guys to be variables right because what if we want to have a different material in the future I will right click on the text sample right here and I'll choose convert to parameter and I'll call this AO Ambat occlusion right click on this one convert to parameter uh diffuse this one metallic uh that's a roughness uh and that's going to be a normal map there we go easy peasy so with that done we can save this and you would think that it's it's we we we call it a day but there is going to be one issue and I'm going to actually make that mistake and then we will fix it just to prove or not not to prove it's going to be a teaching exercise so I have this master material material ready to go texture material uh copy paste or sorry not copy paste I'm stupid delete that um right click create material instance right we're making an instance from it and I'm going to call it Oak veneer right I'm going to drag the instance where it belongs to the instance folder move here I'll just drag and drop it onto my uh table toop um desktop not desktop how is it called God damn it bench on my on my bench and you can see it's kind of okay I mean the reflections are really nice and so on the tiling is wrong though and I want to change the tiling how do I change the tiling well if I open up my Oak veneer texture no sliders to change the tiling that's a problem we need more variables we need to somehow control how often do these materials get tiled so I'll skipe out of that and actually we will go back to our Master material textures texture materials like that and I will um here for the UVS that is the tiling that is what's going to be what the tiling is going to handle for the UVS I will create um proper variable that controls the X and the Y uh the X and the Y tiling right that's that's the that's the idea at least so first thing that we need to do is create a texture coordinate uh node which reads the coordinates of the geometry on which you will be applying this material on that's good and then we will uh multiply this coordinate node um should we multiply it separately or not separately one second I'm thinking I'm thinking I'm thinking no let's keep it simple let's multiply it non separately so multiply I drag out from from the node and I just use the multiply icon or you can type in multiply and here this number is going to be the amount of repetitions right so this will have to be a variable so I'm going to click one and uh click the mouse button or right click constant constant also works that's fine fine um connected here and for the value I'm going to say well the default value should be one it shouldn't change but this should be a variable so I'll right click on it convert to parameter I'll say tiling X and Y X and Y both controls both and then here for this particular node I will say that the minimum value should be zero or rather 0.01 very close to zero and for the maximum value it shouldn't be larger than a th I think anything larger than a th000 will be stupid so we're just giving it hard limits something like that so now if I connect this here here here here so we're taking UV and we're basically multiplying the UVS uh by a value and I save this material now I go back in here we look at our zoom zoom zoom zoom instance Oak veneer texture or Oak veneer uh instanced material [Music] uh now we have the tick mark for tiling X and Y I can tick mark that and I can increase it you know to make it more aggressive or decrease it right now it's very um the range is very very high so it's all over the place so I'll need to type it in actually 0.5 0.25 0.2 that actually starts looking kind of right but again the orientation of it is wrong so we need to keep creating the master material now I need to change the rotation okay sure we go back to the master material and let me just dog this next to here so that I have like three tabs My Level my master material and my uh instanced material right here so now we've done this but I want to also rotate the texture right so I will make a custom Rotator I think it should be for texturing clearly texturing custom Rotator uh asks me for UVS I do have UVS right here I can connect them asks me for a rotation Center so around which point should it rotate the texture it should be the middle point right so we need to give it like 0.5 in x 0.5 in y for this I will create a constant 2 Vector constant to vector and the x is going to be 0.5 Y is going to be 0.5 there we go that's the rotation Center and for the rotation angle we will be using oh it says between zero and one okay we will be using another constant um node that we connect here and the value or rather right click on it convert to parameter rotation and the default value should be zero but the maximum should never go beyond one cuz it's 360° at 1 so it doesn't make sense to keep spinning it more than that and now we have our rotation values here and actually let me holding the control key let me disconnect it I want to you can hold control key and disconnect the wire I want to show you one uh one nice trick so now we want the chain to look like this first it multiplies the texture coordinates and then it rotates them right along the middle point so to do so uh we would need to reconnect everything like the UVS and so on but it's too many wires so a faster way is just to hold the control key disconnect and connect it here like that so you can disconnect a bunch of wires and reconnect it to a different uh node I wish grasshopper and Rhino had that and then we connect the multiply to the UVS here okay so now our chain is looking like that should be nice I save this now Oak veneer has one more input here which is called rotation and if I set it to 0.25 you can see that it rotates 90° and here it's also rotating 90° easy peasy lemon squeezy okay we're almost there almost there with the custom material creation one last bit is going to be to create material um to create an offset for the materials and the reason why we need it is because now if I apply the oak veneer for this as well you can see how perfectly mirrored it is and that is bad that that is not what you want so what we want to do is we want to have the possibility to offset the material left to right or top to bottom right so that it's not mirroring so so bad and things are aligning nicely so for the textured material we will do one little thing beforehand and we will just say to this I want to add I want to add something so I just in between connect this this uh this node and something that I want to add will have two values X offset and Y offset so that's just going to be constant constant right click convert to parameter X offset right click convert to parameter y offset default value zero maximum one zero maximum one these two values need to be appended to a same list so I'm just going to use append uh is it aend many I don't remember I think it's just aend no aend many let let's go nope no absolutely not give me a second I'm bad at this yeah it's just under math uh append it's it should be under math we use append Vector like that connect the two and connect the result of a pent to the addition right so we're going to be adding an offset in X and Y and adding that to the texture coordinates right here with that chain done we are done with our Master material completely well opaque Master material hit save wait for it to calculate go back in here let's uh drag out the oak veneer now we don't need to see the master material anymore I'm going to close that um tick mark x offset y offset right here and as I'm changing those you can see that they are offsetting properly right there's a a slight hiccup a slight issue and the issue is no matter what I do it's always going to be incorrect right it's always going to offset um it's it's always going to be mirrored right so what this means is that these two instances of ometry need to have two different material instances with different offset values right so I'm going to reset the offset values for for this initial Oak veneer uh to 0 0 and I'm going to close it and actually I'm going to rename this to Oak veneer um one and I'm going to contrl Ctrl V copy paste and I'll apply Oak vaner 2 to the other side right here double click on it and here I'm going to mess around with the offset values so that you can't see yeah I think that that that looks just fine also we can use 75 so it goes in the opposite way y something like that I think that that's going to do the trick save that and we have the top of our um desk not desk table it's either a table or a bench I not sure uh we have that done now it's time to apply more materials right here uh that this one clearly needs the group Rin to go in a different uh Direction so I need one more Oak near three double click that and the grain for this one needs to be rotation Zero Save that hello what the hell oh okay did I apply it incorrectly no that's fine so Oak veneer 3 now has correct uh Let There we go correct grain uh Direction then for these guys uh we do pop that is actually pretty damn close yep I I I like the way it looks and this one I like the way it looks great so we have this done then for the the feet that is actually going to be a cut color that we're going to be using so I'm just going to copy paste and instead of red color I'm going to use F2 I am going to use um white or actually we already have white color here why don't we use that one instead it should be glossy right yeah white glossy like that change that to never use Pure White by the way Pure White is bad so always use light gray uh when you're creating bright materials Pure White is is a bad idea just slap it on that's it and there are inside last pieces these guys that you see here that require their own material but that one is going to be actually downloaded from quickel meas scans library that is just uh going to be faster I'm going to go here to Bridge and [Music] Underwood actually let me go to my local materials and here I'll find it chipboard I believe that's the one that I'm using I hope I'm going to get chipboard here yeah medium quality added to the project remember that we are still using uh you can still use Bridge Mega scans uh materials right chipboard I go back in here uh to my folders under here I see chipboard there's the material instance the master materials of these live in Ms presets we don't touch those so this chipboard material um I will only be using it for these pens so I will make it work bam that seems to be too big of a grain so I'm going to open it up and for tiling I'm going to say nah let's do 0.3 in terms of tiling something like that that that seems to be much more reasonable don't really need to change anything more than that the leg goes back to the original position don't forget that uh reset button that's a LIF saer this goes out we mess around with the pins here uh you can also select holding down the shift key multiple pins and you can then drag the material on to the materials slot right here bam nice and then I I just wonder yeah there's there there's a hole there okay that's that that's good to know good to know and then here I just reset the position of it back to where it was and we have ourselves a finished textured model which looks nice and clean and it's happy and we're happy and everyone's happy and there's a light what a day okay that's it for now I need to take a breather um I will I will continue this later for you it's just going to be the next chapter right for me it's going to be a whole night's sleep actually actually I have one more in me let's do cameras once we are done with cameras then I can um then I can rest so in terms of camera creation and really engine that it's it's pretty straightforward um here under quickly add to the project you have your cinematic Tab and under the Cinematic tab you have everything that the cameras need so camera Shake Source actor so you can apply camera shake to to your camera which we will not be using in this particular course um cinematic camera actor which is what we're going to be using in this particular course camera rig crane camera rig rail these two we will replace with our own customade tool that is going to have more flexibility and will be easier to call to I'll explain this a little bit later and then a level sequence actor we will not need that um in this case so Cinema Camera actor cinematic camera if I select it just plop it in there I can see it's somewhere there there we go zoom zoom zoom zoom zoom zoom and I just position it you can see that it's we can as long as it's selected we can already see what it sees right and there is blurring going on and there's a lot of different things going on with it I'll explain that as much as I can um actually right now so first thing that we do is we find a nice position for the camera to be placed place then I'll reset everything uh reset the location and the rotation for it I will rotate it around Z to 2 270° move it up move it back back some more something like that and move it a little bit higher up this seems to be okay now uh before we start changing any settings of the camera first thing that I want to do is I wanted to focus on the bench the bench that we have and to make it focus on the bench there are two things first one is actual looking at an object and second one is the blurring the focus of the lens onto the object right so we'll need we'll be um changing uh changing both of those so step one is here under as long as you have the camera selected um under current camera settings look at tracking settings I'll expand this and I will tick mark can you see it well hope you can see it enable look at tracking this option right here I'll enable it right now it does not have anything to track so I have no idea what it's tracking I assume it's yeah it's tracking 0000 world's uh 0000 position which is fine uh but we need to give it an actor to track actor to track you can choose anything in the scene and it's going to track it but I think the best way the best methodology is to actually create a separate object in the scene that the camera should look at and that object should be called an actor because actors don't show up when you actually um bake or present the scene through the camera so I'm going to here in the quickly add to the project tab I guess um I'm I'm going to click on that and I'll choose uh basic actor an actor by itself is just a point in the scene let me reset its position is just a point in the scene that has a weird icon that you can make the scale of it smaller so I'm going to say 0.1 uh let's go for 0.25 a little bit bigger and that is going to be an object that is that this camera tracks so how do you do that well you select the camera again you choose actor to track select actor in The viewport you click on this icon right here and you select the actor and I believe that that should be it no it's not okay never mind pick actor from scene that's going to be faster pick actor from scene and here I believe then I click on yeah I I click on the actor and now it's tracking so actually to showcase this I can move this over and if I move the actor around you can see the camera is constantly looking at the actor right so now I need to see what is it that I want to focus on what is it that I want this this camera to focus on and for this particular camera it's the front of the bench right and the middle of the bench as well it's right in the middle in terms of the X on on the x axis but it's a little bit too high and the problem is that we have this 10 cm snap snapping turned on to turn it off you go here to the top right corner and you click on this grid icon enables or disables snapping by the way this is for the angles this is for the movement right so I disabled this and now I can drag it freely and I'll just position it right on the edge somewhere here okay from now on no matter where I move the camera it's always going to look at that particular that particular point which is very nice okay let me reset this to zero for its X location and its uh rotation now doesn't matter because it's is always looking at the object and now let's do another thing actually let me zoom in to here so that you can see the problem see what the problem is the problem is called my view um is blurred right because I am tracking the point but I'm not focusing on the point so you also need to okay let's compress this and let's find uh Focus settings uh which should be yeah it always always takes a while um it should be under lens lens Focus hello is it depto field no uh one second oh my god oh there we go l lens lens settings uh no Focus settings oh my god there it is instead of manual focus we will choose tracking and for tracking Focus settings we will choose actor to track is going to be again pick actor from scene Let's uh go to the click on it and now this is always going to be in Focus which means that things that are not it are not going to be in Focus right they're going to be out of focus at this point this uh view is a little bit too small for my taste so I want to have a full view of the camera on my full viewport so I can go uh here to perspective and instead of perspective I can choose Cinema Camera actor that's our camera click that so this is what we have by the way we are currently piloting the camera so if I zoom around or I move around you can see that the camera is uh constantly kind of locks into that point but I am able to move it by just double using WD Keys okay we're we're getting there we're getting there so our look at and our um focus is is done uh which means that now we need to move on to the actual Framing and the actual light intensity blurring intensity and so on uh let's get to let's get up close to here a little bit too much yeah there we go so in terms of framing here we're almost there I mean it's pretty close um I can also make it a little bit nicer by going to perspective and instead of using default viewport choosing to use cinematic viewport which immediately jumps away from my camera God damn it uh Cinema Camera actor we're back to it right so this is how it would look like when it's presented in the app and here I can then start making decisions on the wideness of the shot and so on in terms of uh the widness um I always like to use like actual correct settings that that are realistic in the world so for film back I will go for a 35 mm full aperture lens like that that is 3x 2 I believe either 3x two yeah it's 3x two proportion right then uh four it's let's expand this sensor yeah we don't mess with the sensor for lens uh 4 by th000 by 1.2 yeah that's all good but to change the aperture to wider one we can do um we can mess around with the squeeze factor which is basically a crop if you will only reversed right it's you're expanding the aperture to the sides so I'm going to go for 1.66 not aperture sorry the proportion so I'm going to go for 1.66 which gives me a cinematic uh cinematic lens which is nice then instead uh in in in terms of diagram blade count that is when you get these kind of nice bouquet effects how many sides will they have I like five or six I don't like seven so I'll go for five in this case I don't think that in this shot we will ever see a bouquet effect but hey if we do then it's going to be nice then so that's our lens settings right then for our Focus settings we are already set and ready to go we don't need to do anything here I believe one second we actually do that's my bad I'm sorry current aperture this this dictates how um these two numbers actually dictate how close you are zoomed in or rather yeah what's the focal length of your lens so the smaller the number the more of a fish eye lens you will have the larger the number the more of a orthographic lens you will have and you can clearly see that um the blurring also increases in terms of the focal length right so it's it's a balance between these two because the F Uh current aperture the aperture also can um control the blurring or not can it does control the blurring in terms of the aperture the smallest that you can go realistically is 1.2 this amount of blurring in terms uh of the focal length if you're going for 1.2 aperture there's no way that your uh focal length is anything more than 30 mm right so this something like that maybe 40 but not nothing nothing more so I'm going to go for a little bit more realistic uh View and I'm going to say my focal length is 60 mil a 60 mm camera which I need to zoom out a little bit to make use of there we go and then this is too much blurring uh so uh current aperture 1.8 yeah that's much more much more reasonable right okay that's uh that's that in terms of blurring then um I don't think we need to change the exposure here I think the exposure is fine and honestly I would suggest uh not changing anything more in the camera settings themselves everything else should be unless you want to change per camera settings per camera then you should but generally speaking I would say it's it's better to have a global setting um through the postprocess volume that I will cover I promise later down the line rather than per every camera CU it's very easy to lose track of the settings okay with that done now I will rename the cinema camera actor f i press f2 key or you can right click on it and choose to rename somewhere here it should be somewhere here there's no way that it's not here right all righty then so you F2 you press f2 and then you can rename it and I'll name it um cam One cam one the actor that it's focusing on remember the this guy right the actor that it's focusing on is going to be named um how should I name it something something simple like Target right T caps lock Target One cam one and Target one is right at the bottom right there in the list there we go so we have ourselves a camera set up we will make more with this but for now this is uh this is good to go next up we're going to make it so that when we press play the level is shown through this camera okay so now we have ourselves a camera but there is an issue the issue is called when I press play this is not the camera that I see you know this is something something else and if I press W ASD I am able to move around and it's all a mess and it's weird and I don't like it and this should not be that right um how do make the camera your eyes when you press play well you need to Define that in a What's called the blueprint system in the level blueprint to do so um I'm just going to save this real quick and I will go actually let's stop piloting the camera this is weird that we are constantly piloting it so I'll go to perspective um and I'll just choose perspective or you can just click on here toggle um actually are we still pting yeah right next to that little camera icon that that was the button that you press to exit the camera piloting mode um so now we're we're good we're back to normal and also instead of cinematic viewport we'll choose default viewport so that we can actually see where the camera and the lights are and so on so to make this camera your active camera when you press play you need to do the following you click on this um blueprint icon I guess on this icon right next to you quickly add to the project click on this and you choose open level blueprint this is a chain of commands or nodes if you will that run add let's let's go for add the start of the level you can see here event begin play when you press the play button something should happen in the world right or rather in this particular level so this open level blueprint opens up the logic of what's happening in the level we will be not using event tick which basically triggers something to happen at every millisecond well not millisecond but like every tick of the game like multiple times per second because we don't need it so I'm going to delete this node but event begin play when we start the game that is something that we need to do right uh or something that we need to use to actually we start the game it should fetch this camera and it should say that from now on The View should be through this camera so event begin play we need to get this camera in here so I'm just going to position this blueprint like so I'll select camera one I'll drag drag it in to the blueprint like that this is by the way only the level blueprint is where you're able to just drag an object from the level and reference it this way uh other blueprints are not as forgiving any object can have a blueprint of its own and have a functionality that's how you make doors open and lights turn on and and so on right that's all blueprints or C++ uh coding but we don't do that here in this channel we just do blueprints all right so we have camera one then I want to use a command that is called set View um let's go let's drag from event begin play set view with uh sorry set view Target with blend and you can see that it's not popping uh popping out because it does not um register as this command being context sensitive right so this s Mark is preventing it from in if I untick this suddenly you can see it right here right so make sure that to contact sensitive to get the set view Target with blend bam we get ourselves this whole damn note here that gets triggered by the event begin play these triangles and this bright wire means that um think of it as electricity almost right impulse so this triggers when you press the play button and in turn electricity flows through this wire and triggers this node and this node starts calculating or doing what it's supposed to do once it's finished then it can trigger further nodes along the chain that's the way it works right in single line fashion uh when it crashes it's kind of easy to find where it crashed all right so now the question is where well we have where should it uh blend The View towards that's our camera one New View Target should be camera one just like that that's easy the target who is it that is blending towards that camera whose view is it that is blending well that is the player right the the the person who played the game who's playing the game so I'll drag out from Target self I'll type in get player controller get player controller just like that hm I don't like this I don't like this Target self I think there should be a better one let's try again get player controller oh yeah it was under player state it shouldn't be under player State let's keep scrolling until we see there we go game player get player controller it's this one I know it's confusing right now with the what's a player controller what's a player and so on um I don't know what to tell you it's going to become easier the more you use it and the more small bits and pieces of this kind of puzzle you kind of get into your head and start understanding how the system works at a beginner level course it's close to impossible for me to kind of cover every single aspect of it so player controller is basically an entity that controls the WD keys and um is the object that looks at the scene and presents it onto your screen I guess that's that's the best way to explain it at least for for me then we have a bunch of uh of these other uh settings here that we don't really care about uh blend time is how long does it take to look through the camera in our case it should take zero seconds it should be immediately looking through the camera and function is a straight line so it is a linear function I think we're we're good let's compile uh you you do need to compile it so that it kind of registers the changes and then you save it uh we can close it and then we press play and now when we press play it's looking through the camera right once we're done we can press stop simulation and then it's going to stop the game uh if you want to open it in a separate browser or a separate window you can click on these three little dots here and you can choose new editor window click that and now it's going to you know every time you press play it's going to open up not in the viewport but rather in the oops in the new editor window that is quite I find it to be quite useful if you want the editor window to be a little bit bigger then you can click these three dots again go to advanced settings and here uh for new viewp resolution you can change the resolution of the viport 2 let's say 1920 by 1080 you know most used uh resolution out there close that press play again now it's a bigger screen very nice Escape closes it of course all right so in terms of the level viewport I hope uh sorry level blueprint I hope that kind of explains the basics of it the gist of it it's something that like a chain of events that happen in the level and that you can use to control different things usually uh it's a good idea to have the level blueprint as clean and as empty as possible you don't want to bog it down with too much functionality but stuff like changing the camera and so on it's it's fine to to have it in the level blueprint with that being said now I think we are ready we're ready to move on to our next chapter which is going to be oh that's it's going to be a tricky one that is going to be creating a blueprint that explodes this bench should be fun all right everyone good morning it's time for our chapter nine in which we're going to take this bench and make it into a system a blueprint system that is able to be exploded so you can get an exploded view of um the the geometry of the bench itself so every single part is separated before we begin I want to actually address an issue that we had throughout this course with the uh material preview in this version of andreal engine it seems like the Skylight calculation so indirect illumination calculations together with rrac shadows seems to be broken not working so if I look at my uh textured material preview right here you can see how messed up it is to fix this we do need to use a command line um Command right here in the bottom you'll see your command line where you can type in any kind of a function that you want to change within your project so this is is per project not per uh level so hopefully you only need to type this in once if we will see that it kind of repeats we will bake it in into the project settings by hand but for now let's just type it in r dot rracing dot Skylight Skylight One Word r. rracing do Skylight spacebar zero right hit enter and then if I take a look at my material right here it recalculates into something that is now absolutely fine and absolutely usable right so what we did with the zero at the end of that com command line was that we disabled the the Skylight calculations in R Tred mode right meaning that it would use a more like not necessarily older but a different method for calculating the indirect elimination thus actually not breaking itself okay that's the workaround and that's the command that you should use if you're encountering this problem if not then hey good for you uh we move on so in terms of this table right here all of the parts that we have or bench I keep interchanging Furniture piece in terms of this furniture piece right here all of the parts that we have are uh separated out as they should be but it's very hard to actually animate them just a little bit of coffee if we were to keep them all separated in our SE like that it's um yeah it it it won't work so what we need to do is we need to create an actor a blueprint if you will that would take care of that remember when we did the level blueprint uh which is right here chain of commands that says when we begin the play um the camera should shift to the eyes we will create a similar blueprint that EX exists in the level that we say when we press a button the bench or or the furniture piece should explode and we when we press another button it should contract right that's that's the Hope okay so before we begin we need to go to our content folder this is the main folder and create a new folder called blueprints or BP BP very useful to to have it there in that blueprint folder I I'm going to open this up and I'll create a new blueprint class right there and I'll choose actor because that is um the like a static object that does not need to have any additional functionality such as a character does so actor there we go and I'll call this T1 T2 uh because that's my the name of my bench that's what I've decided it is called I'll double click on this and I will actually dock it right next to my level so I'll click on the name here or name of the tab and I'll just kind of drag it over um next to to my level name there we go so there there are three main um tabs inside of this blueprint there's the viewport tab that contains all of the geometries that the blueprint might have or not might have that the blueprint uh will have uh not just geometries also um all additional stuff for instance sound and blah blah blah then we have the construction script tab right here this is what happens what gets triggered before even before you begin the game right so here you can say that well for instance the construction script can say um whatever geometry we have in the viewport should be copied 50 times uh along the X AIS you know so it takes care of that even before the game begins right so in your viewport you would would see let's say a box so you would see 50 boxes uh just kind of copied automatically by the construction script the event graph is what happens during game runtime uh you are already familiar with event begin play that is a single trigger that happens when you press the play button so it's excellent for loading in information and for doing something once then event actor begin overlap that happens when you when the character kind of reaches the object and overlaps with an invisible box next to the object so imagine you come close to a door and the door automatically opens up in the video game we will not be using this in our um course uh this time so I will just delete it and then we have event tick this is what happens at every millisecond or kind of subc of the game so if you want something to be triggered constantly for instance a character constantly is checking what is the closest box out of a million boxes next to it and that box is going to be colored red if you wanted to constantly check at every given millisecond of the game then you use event tick because if you use event begin play the character at the start of the game will only check once you know okay that's that's the closest box and then we'll never check again right this happens only once this happens constantly um we do not need anything to happen constantly yeah there's no need to check for things constantly we will be triggering explode and construct by the Press of a button so this is not necessary we deleted okay back to the viewport let's let's construct our uh table right here and give it like proper um colors uh not colors textures materials so I'll open up my content browser right here it's still there even though uh when I change tabs the docked one the docked version is hidden but the below browser is still there so oops so I uh open it up I go to Geometry Furniture seating holding the shift key I select all of the furniture pieces and I just drag them over here to the left hand side bam my desk is built um notice that it does not have the wood texture and also um we still have that that problem with the texture mapping of this particular piece because the export was broken that's fine we will heal it just the way we healed the previous the the previous one um one second thinking yes that should work yeah there is no reason why it wouldn't work so we are just going to delete this one and we're going to make a copy of our object one and I'll just rename this instead of object one let's call it uh top one renaming is F2 button you can also right click and choose rename right here uh so top one I'll just select it crl Ctrl V to make top two and while I still have top two selected here on the right hand side I will flip it over because again this is a symmetrical um symmetrical object right so I'll flip it over oh my God the camera is way too fast there we go I'll flip it over to The Other Side by uh giving it a scale of minus1 just like that you could also rotate it 180° that that would work as well around the Z axis um right so now we have a mirrored version okay now it's time to clean things up actually uh a little bit because I don't want everything to be um listed or not not listed sorry um give me a second I don't want everything to be just kind of cramped into one uh list here because it's going to be hell when I need to figure out which one of these is belongs to the legs which one of these belongs to to the feet and and so on so it it's a good idea to either either um is this crashing okay where were we it it crashed I I had to restart so we need to make this system this left hand side system a little bit more user friendly a little bit more readable and to do so I'm going to add a few more components and I'll parent uh so I'll create a hierarchy of this almost you can think of as groups so a group for the top of the desk or of the furniture piece for the legs uh and for the dowels as well right so to do so let's let's uh let's think really quickly first of all I need to think how it's going to be exploded okay first of all uh let's let's add the two tops uh tops of the desk uh into one one group and with that being said I need to make sure that these guys right here the red red pieces right are also added to that group so that we can easily move them up and move them to the sides right that that's the plan so I'm going to go to the left hand side here and I'm going to add a scene a scene is basic basically uh a point around which you can construct a bunch of or not construct but to which you can anchor a bunch of other geometry it's very useful for that so I'm going to create a scene I'll name the scene um top and caps lock right so I have the scene here that is said that's called top now I'll take top one which is my um top top of the this plank right here top two and I'll just drag them on top of top scene so now we can see that if I select the scene and I start moving it around both of these geometries that are parented to it are going to be moving with it this is very helpful later on when we need to model things or not model things but we need to move things as groups um then I'll select this one object six that is also going to be part of the top I'll select that one this is object five also part of the top uh I could start renaming these but I think just grouping them up will will do just fine okay so top is done now I'm going to make another scene and I'll call this leg or legs one legs one right and for legs one um which ones do we do maybe we do the let's think yeah let's let's do the left hand side first so these guys right here so for Lex one I will connect of course the main uh and I'll just name name it actually main uh or L1 Main L1 main for the main wooden part and then we will have also the dowels that are inside here and to find the dowel joints actually the fastest way is just to skip through yeah there we go there is one you can can you see it I hope you can right it shows up as Orange right like that so that's going to be dowel one and dowel two is I assume going to be like 15 or something no 16 11 okay of course of course not it would be too easy let's go through oh 13 okay uh just like that and that's going to be it for the legs one uh the wooden piece as well as the two dowels right here then we do exactly the same thing on the opposite side add SC legs two and I'm recording this and I'm showing this to you because I feel like it's very important to not just show just the pure functionality you know Snappy fast fast fast of how we construct things but also to ingrain into you that it's very very important to have everything set up in a clean way so that if you need to go back to it in a month you still understand what the hell is going on in your scene trust me that saves time a lot of time so that's that's one thats 15 that's correct and 16 I guess yep that's correct and the main one I'll rename to L2 main there we go okay so legs and the top are done now we can also do the dowels in the top so if I were to remove the top from here These Guys these guys right here I want to you'll be able to move them as well so let's um actually I I can show you this this way so I can take the top and I can take it off yeah I can move it up then I can create a new scene and call it uh top dowels top dowels and I can just select holding down the shift key no I can't never mind I need to do it one by one so I just select that dowel put it in the top dowels uh scene select that one object two that's great that one object 10 that's great and that one object 8 perfect okay so we have all of the top doels done now what's left is oh yeah and and also we need to not not to forget to select the top SE and move it back to zero height so you you control it here zero it's back to where it was now what's left is this slab right here I will not put it in the scene I'll just rename it into [Music] slab like that and we have the feet so we have I'll I'll just name it uh foot L1 this is going to be foot L2 I'm not putting them into groups foot uh right two R2 and foot R1 okay that's it the preparation is done we're ready to move on with the actual logic creation um let's compile this and save this just in case for another crash so that we have it um saved in the system and let's first of all go to the construction script so that I can show you a little bit more easier the principles of how this whole thing works so going back to the construction script we have this single um note that triggers before the game starts and from this note let's say I want to do something very simple as an example I want to move um the top yeah I want to move the top up by a a certain number you know by by a certain amount so first things first I want to take the stop scene and drag it into my construction script so you just click and drag drag it in here so now we can do stuff with it from it I'm going to drag out a wire and I'm going to write set relative transform um actually we just need to move it so location is fine set relative location right this immediately gets connected as the target as it should and then we need to trigger this note to work that for which we use the construction script right I just draw out the wire right here there we go and then for the new location um we need to understand that at the beginning the location is 0 0 0 for all of these pieces right so anything that we add to the Z is going to move it up by that amount in cm so what can we do I can one second thinking I can take uh let's go for um number H we can for now just as an example just right here like 20 Z 20 cm compile save look at the viewport it's moved up right it's moved up by 20 it's not actually 20 I believe this should be 40 given the the offset that you have from the starting point because they accumulate so we will need to work with that uh every time when you use uh sorry every time when you use set relative location compared to set World location you need to kind of shift your mindset of how it works and I have a whole video about it I'll leave a link to it in the video description if you want to learn a little bit more on relative rotations locations and so on where we do moving architecture but in this course uh we you'll need to trust me on that in this case we use relative location and we use um let's say static static values static values is a good good word to use in this case I'm I'm moving it back to uh zero I'll look at the viewport and you can see that it didn't change and the reason why it doesn't change is because it's not compiled yet if I compile it then it recalculates and it feeds it gets that information from here and then it moves the top down to zero okay so now what I want to do is I want to create this uh almost like a slider a number that goes be between zero and one and is able to move um the top in my viewport so in my viewport I I want to be able to select the actor that I place and in the uh op options here I want to have a number and if I type in zero it's the top is where it should be and if I type in one the top should be moved up by a given amount right so we need to do that to do so we need to create a variable a variable that will be called like explode percentage or something like that right that that we will be able to change and thus influence the location so to do so I'm going to go here on the left hand side and under variables I'm going to click the plus sign to create a new variable right and for the variable I'm going to say uh what did I say explode percentage or percent doesn't matter explode percent right like that any variable in an real engine can can have a flavor to it what type of variable it is so by default it's said to be Boolean true or false right Boolean is either yes or no right that is the type of variable no our exploit percentage needs to be a number between zero and one with a lot of digits after the comma possible kind of variations after the comma so if I click on this bully and I expand this you can see the most used variable variable types are here and one of them is called float um if I just kind of quickly go through this bully and is true or false bite is we don't use bite we don't care it's it's a 8 bit number it's a very kind of lightweight number we don't care integer uh we do care about integers uh those are full numbers that don't have any digits after the comma so 5 8 28 and and so on then integer 64 it just is able to be a very very big number but we don't need it then we have float float is a number that can have digits after the comma so it's more precise number and then we have name String I will cover these a little bit later once we construct this further so for now we're using float right because 0 5 is a float number it has 05 part to it there we go select float and I'm going to now drag this variable into my uh construction script right here when I drag it in it asks me would we like to read this variable would we like to get the information from this variable let's say we typed in for the variable that should be 0.5 so should we get that 0.5 number or should we set it to something else in this case I want to get the number right so get uh the explod percent there we go and then for the explod percent we want to somehow convert it to the movement in Z right so I can say well for this this is a vector you can see XY Z anything that has three values is a vector so I can drag out from here and I can say um make Vector wait I'm thinking I'm thinking do we need to yeah sure why not make Vector something like that and we choose this option right here for make vector and then if I just directly use explode percent into the Z that does not really translate that well because this is going to be we're going to use this as if it's a value between zero and one meaning that it translates to Z if I connect it like that like that it translates to Z to be between 0 and 1 cm that's not a lot of movement right so instead I will take this value and I'll actually multiply it multiply by five and then connect it to Z this should give us a much much wider range let's compile save go to the viewport and nothing happen clearly because our explode percent if I select this um variable you can see here it's set to be zero what happens if I set it to 0.5 it opens up a little bit you know just just just a little bit but it does if I set it to one it opens up even more even further right so now we're we're getting there with um having some sort of a control some sort of a slider that influences the height of the table top the problem actually let's get this into our viewport we want to see it here right so in the viewport it's very simple we go to our blueprint and we just drag and drop it in just like that right and the problem is that when I have this blueprint selected remember that I said I want an option for that explode slider right here I don't have it I need to fix it so I go back in here into my actual blueprint and for the explode percent there is this little I right here that is closed right now an eye socket that is closed if I click on it and I make it open and I compile and save this becomes available for anyone to change in there it is make sure that it's selected by the way but it's it becomes available to change in the browser uh viewport in the viewport right so now I can increase it slowly decrease it and it moves right great so we have a way of how to control and how to check uh the movement that that that we're introducing also why is skillability set too low epic we're going for epic style here actually I should save after changing epic uh you probably don't don't don't see that option so don't worry about it all right still have a little bit of time so with that done I kind of want to is is it possible to yes it's possible if I select explode percent here you can see value range I can Define um the max the smallest and highest values for both sliders and uh values so I'm just going to hardcode in that it should never go beyond zero and one right slider range 01 value range 01 make sure that the variable is selected it compile save now if I mess around with it yeah you can see I can't uh it's impossible for me to drag it more than um one great back to the construction script it's time to build it up and I think uh before I do so I will take a little bit of a break so that I don't skip over steps so we we'll we'll for you it's going to be instant okay let's move on so now we have a top that is raising up by not a lot by 5 cm at the maximum so I'll in I'll increase it to 10 cm so that it's a little bit more of a lift and now we need to think about what is it that let's look at the viewport what is it that we want to do in terms of the animation for this and I'm thinking of raising all of these elements except for the feet a little bit up from the um yeah from the feet right so so that basically the feet stay where they are and everything else is lifted a little bit up at the at first so in the construction script it's not just going to be the top that is lifted up but also it's going to be everything else as well right so let's think we lift the top dowels and we'll we'll sort it out later I I know that this is not optimal but it's a good way of of thinking about it so top dowels I drag that in legs legs one drag that in legs two drag that in and I just connect everything into the target uh what else is there slab slab also needs to be dragged in so everything except the the feat compile uh in the viewport I select this I increase this to one and this is how it looks like right so it gets uh exploded upwards just like that okay let's say the feet are fine and the Gap to the feet is fine now we need to well actually maybe that's a little bit too much is it isn't it let's do five instead of 10 I think five was actually okay compile again yeah that that that's okay um then then then then we need to raise the top away from the legs and the slab right so I only want to raise the top of this so what we do is we grab the top uh scene again like that and after construction script triggers this set relative trans uh relative location we will um trigger another node which is going to be called not set but add relative location add relative location the reason why it's called add rather than set in this case is because the top already has some uh location set right in in terms of the Z height right here and we want to add even more to the Z height that that's how we're going to be doing it uh so so we're going to use top for that as our Target and for Delta location I think we can just use uh I kind of want to use um like a vector that is two times longer so Vector in Z that is 10 rather than five so what I'm going to do is I'm just going to drag out from here from this Vector out and I'm going to multiply this vector by two and here you can see it's a little bit annoying with the with the math uh or not the math but the input but you can easily right click on this pin and choose I hope that you can still see it to float single precis to float single Precision like that and and then I can just say uh two right here just write two and use that as my uh Delta location right that should that should do the the trick I compil this and now if I look at the furniture uh sorry at the level you can see that everything is raised by 5 cm and then the top the table top is raised by 10 cm even more right so even more loc location transform is added to the table top okay now we move on now we do uh I want to extract this uh let me zoom in um one second near clip set near clip plane remember that one yeah 0.1 there we go so I want to get these dowels uh also extracted and moved up that's why I have top dowels right here uh grouped up into one scene so I drag it out top dowels and I will be adding add relative location to those top dowels like that bam and by how much actually the Delta location for the dowels um that's just going to be 5 cm is because the tabletop is raised 10 cm so the dowel should be raised 5 cm so we're going to be using the original Vector I could make another Vector but uh it's just nice to reuse the same node so I'm just going to drag out from here from the make Vector right into Delta location of the top towels in terms of wires and the wire kind of cleanliness cleanliness um you can see that now this long ass wire is crossing over multiple nodes which is hard to read so I will just uh double click on the wire anywhere which make creates this kind of an point and if I hover my mouse next to it you can see that there is this kind of move icon and if I click it and drag I can position the wire in a a little bit of a cleaner way this does nothing except for cleaning up up the the script okay so that's done we have ourselves uh let me move this a little bit to the side o didn't catch that and select that or rather just move that one away so we have uh we should have yep the towel dowels are now floating in space that is perfect that is exactly what we want to see now I want to do um what do we do I want to separate out the H one second let let let let me think for for for a second I want to move this top portion right here to the left this top portion right here to the right this leg portion right here to the left and this P leg portion right here to the right I want to do that so we will have more uh add or Set uh relative locations for them right so going back to it's scalability low again no epic we go for epic so going back in here into our blueprint um I could keep on creating the chain here over and over and over again like a very large chain but I feel like it's it's very annoying to then scroll through you know a long line so instead we were we're going to use a nice note that that is called sequence sequence sequence of events right so construction script connects to the sequence and then the sequence first fires out from the zero output so we connect that to our set relative location the first one right and the way it works it it sends out a signal through here trigger set relative location add relative location add relative location again it triggers these three and then once this is uh finished calculating then it goes back to the sequence and then it fires out from from the second output right here which enables us to have um a little bit of a cleaner construction so to say of like vertical more of a stacked vertical construction of our blueprint which is just nice okay with that being said let's let's keep keep going all right so right now we will not be moving the groups anymore the groups have been moved as much as we need them to be moved now we're going to be moving individual objects so the first thing to move is going to be um this object right here called top one together with its uh coloring mesh like remember the red color the nice red color in between uh let's show you that that so these two need to be moved like that and these two need to be moved like that that's that's what we're aiming for right so I need to know that okay this object five and top one are belong to the same side I go into the construction script right here and for object five and and top one holding down the shift key select both of them drag them in I will somewhere close to than one of the sequence I will create set relative location setting relative location per object basis rather than the group and don't forget to connect both of them into the target okay so we drag out the trigger from the sequence like that and then in terms of the location itself uh well we need to do some uh thinking first of all it needs a vector right so we will make one make Vector that's easy we will make a vector then it needs uh some sort of a sorry I'm thinking in need needs a y value yeah it needs a it's going to be moved in y direction here on the left hand side I can see the the green uh icon in the bottom left corner and I can see that this part needs to be moved in a positive y direction okay that's what we're going to be doing positive y um by how much well we need to use the same explode percent first of all so I drag out the variable again get explode percent and we will multiply it again multiplication we'll multiply it by how much do we do 10 again I I think we do 10 Again 10 cm and I just connect it to Y I think that's going to be enough let's compile it and let's take a look yeah perfect just does what we needed to do that's excellent now for the other side we we kind of do the same thing right so I am going to First grab both of the other sides uh top elements so it's going to be object six and top two in construction script in construction script I'll drag them in set relative location set relative location for them connect them as our targets and then for the new location we actually don't even need to make a vector we can reuse this one except that it needs to be other way around right it needs to move opposite from where this one is moving hope that makes sense right this part moves to the left this needs to move to the right so in negative Y how do you do that well you take this and you just multiply it multiply this vector by minus one this is again we need to change the flavor of this by right clicking to float or integer doesn't matter I'll use to float minus one and connect that to the new location here compile look at it in the viewport per Perfect by the way if you want to see it in the viewport in the blueprint here as well uh you all you need to do is just set the explode percent the default value to one right here then you'll see it exploded right that that that's how it works a little bit crashy anyway so I'll compile this again where we're good to go we continue on back to the construction script so now we have these two done I need the legs to move out in Negative X Direction and positive X Direction uh so we we go on we we move on with that so in terms of the legs give me a second I'm I'm I'm thinking in terms of the legs we just just let let's just take one L1 main I know that that is going to be the the ones on the left so they will need to move in Negative X um on the negative X Vector okay so L1 main we get it here as per usual add or set set relative location like that and then we make a vector make a vector um do we kind of use the same value uh from exploit percent I think we should use a different value so let's get exploit percent we multiply it by not 10 but let's do a little bit more let's do 20 and connect that to X right compile check the viewport and it's bad because it goes in the positive X right we need it to go in the negative so I go back to the construction script and here this Vector will need to be multiplied by minus one to float minus one I know I'm speeding up but I mean it's it's a repetition so hopefully that it's not that big of a problem that I'm going a little bit faster now compile save now this looks fine time for leg two L2 main where is it there it is L2 main set relative location bam and for this one we don't need to uh multiply by minus one so we just use the original Vector from here right cuz it goes in the positive X Direction check that one out now this is moved this has been moved out last bit uh in terms of static movement uh that's going to be the pins right here or the dowels right here so we will need two more uh two more of these relative location and rotation values so let's first get uh the dowels so from leg one this one and this one those two are the dowel joints um set relative location like that like that and they need to move so we're we're talking about this side so they need to move in Nega X but they shouldn't move by um exactly this Vector I think um this Vector that is used to move the the legs is is too big right they should move like halfway there always so we just take this minus1 multiplication and we divide it by two like half half of the length of the vector so divide as per usual change to float or integer really doesn't matter divide by two like that and use that as our Vector right here for these dowels we're almost there I promise viewport you can see the dowels are now sticking out right on this side we need to do exactly the same thing come on like that set relative location for the dowels like that and in this case the vector should not be negative it should be positive so we will be still using divide um note so I'm just going to copy it contrl c contrl v I'll connect that to the new location of our final two dowels on the right hand side but since they need to use the positive value of x we don't feed the uh minus multiplication of minus one buty we just simply feed the original Vector like that bam uh that that's fine doesn't look that nice but uh that's for now that's fine that's it compile save look at it looks nice uh select it change the exploit percent to zero now it's constructed now it's exploited 0.5 it's half exploited works like a charm okay with that done um there is a a little bit of a problem and the problem is called well there's no way for us to uh when we press play there's no way nothing for us to press here or any button here to make that uh bench exploded that's one thing second thing is the textures are wrong right this is nice this is not nice so first let's fix the textures and then we will fix the um we'll map some sort of a button that that we have on the keyboard to exploding and reconstructing this all right so first of all uh let's do texturing back in here in our blueprint under viewport we can now easily select the objects and for instance this one and apply a material to them right here uh which material you might ask well we can always check Oak veneer 2 Oak veneer 1 okay so this is going to be Oak veneer to I can just find the material here under instance uh that's going to be two actually that's going to be one that's going to be red and that's going to be red you can do this for multiple elements as well if you just select for instance all of the dowels here um the floating dowels here in the on the left hand side um you can override all of their materials all at once by just uh while fishing out where the hell the dowels are Mega scan surfaces chipboard and just using that like that dragging it in same thing for the dowels right here so so 1 2 3 4 chipboard drag it in like that the feet same thing foot foot foot foot uh I think it's under instance light gray color or white glossy let's go for white glossy for the feet um a few last bits the slab the slab I don't remember what the slab used I'll check with the original uh Oak veneer 3 was used both for the slab as well as the legs okay so slab L1 main L2 main uses Oak veneer 3 bam that's it compile save now these two objects are virtually identical except that this one if I now type in one here it explodes congratulations you have made it um time to delete this one uh we don't need it anymore uh so I'm going to just find all of the bits of it in the on the right hand side here in the outliner and I'll just hit delete to get rid of it then I'll select this object right here and I'll get make its location 0 0 0 actually I'm I'm going to give it like um 1 mm of an offset maybe less uh 0.05 mm of an offset so that there is a little bit of a contact Shadow right underneath it it's just nicer that way if we press play yeah same same thing as what we had before nice right now on to mapping our keyboard to the transformation of of the object that is important so T1 T2 up until now we were working in this construction script tab right but now we will be moving need to delete those we will be moving into the event graph because that is what happens when the game begins right so a very easy thing actually actually very easy uh thing to do is to just select everything EX accept the construction script don't do that but select everything else just like that and copy crl C go to the invent graph crl V copy and paste and then drag it I don't know some somewhere here somewhere nearby so the functionality that we're going to be using for the movement is going to be identical between the two right between what's happening after you play the game or during the game time and before the game time the logic is exactly the same so that in our event graph we need to create an like an animation basically that would play when you press a button and an animation is made by using what's called uh oh my God I'm blanking out uh not sequencer that that's the sequence timeline timeline timeline add timeline and let's call it uh like T1 timeline underscore timeline something like that okay so this thing right here inside of it can have um multiple tracks that play out your animation right and basically those tracks um just increase or decrease in our case will just increase or decrease a number guess what that number is that's our explode percent we will replace our explode percent with a number that is being increased by the timeline it's going to make sense uh very very very quickly I promise um let us specify that the track length that is going to be added will be 1 second long the explosion or contraction needs to happen in 1 second and let's click this plus sign for adding a track add float track means that the value that is going to be increased is going to be a single number and that's what we want right so add float track and I'm going to call it step one step one uh I I'll explain why it's called Step One in just a second but basically we're going to have two two timelines two tracks and for step one let's create two key points uh on this timeline so I'm going to right click add key on this line and right click here add key it doesn't matter where you click as long as you're adding in two Keys click on one of the keys and here specify that the time should be zero and the value uh that is being pushed out at that time should be also zero for the second key specify that the time should be one 1 second right at the end of the timeline and the value should be one then you can click these two icons here to zoom in properly into into the timeline if you wish so okay compile and here click on the event graph again so notice how you have after you double clicked on the timeline you have a second tab or fourth tab um that's necessary right that that's the functionality of this one okay so now when you play the timeline and we'll talk about playing the timeline in just a second but when you play the timeline in a second a number that is pushed out from here from Step One is going to increase from 0o to one right so what we do is one second uh yes one second thinking do we still use a sequence we should use a sequence uh what we do is we when the timeline is being updated you know when it's running it it should run the sequence so all of these nodes should constantly check what the output is from here and instead of explode percent here we input step one like that so I just literally deleted explode percent and replaced it with a wire from step one right compile technically I would say we're good to go but we're not because nothing triggers the playing of this timeline right there's no input here technically you could say that event begin play triggers the play of the timeline but I feel like in 1 second that would be just opening up once and too fast uh let's see event begin play Connect that to the play compile save go to your level and press play here yeah you can kind of see it raising up so that's how it works right it raises up then actually that was not that bad right we we complete this again yeah when the game starts this thing triggers the timeline it starts playing a 1 second not animation but like it's increasing the number and all of these values at least this part um get increased by an ever increasing number from here uh here this is still using explode percent so we can what what we can do is we can delete this one and replace it with step one as well compile press play and you can see that something's funky let me press play again and notice the movement of the top H it moves at an angle right and the reason why it moves at an angle is because it both translates in the Z the top plates are translating in the Z and they're also moving away in the y direction right so they're kind of going at an angle we don't want that we want them to First translate up and then slide outwards this is why I call this step one or rather let's go back to the timeline that's why we are using this track that is called Step One M we're going to use two tracks a little bit more advanced so I'm going to click on this plus track sign here add float track and we're going to call it step two step two step two track is going to also have two keys one and two and it's going to actually one second let me think yeah it's going to first it moves up and then it moves to the sides so Step One is moving up step two is moving to the sides so step one this furthest out key the maximum should already be finished before step two begins right because moves up that's the maximum and then it starts playing to the sides right so this point should actually click on it click on this point right here this point its time should be 0.5 it should be finished by here right and then in your step two your first point in step two its time should be at 0.5 it should start from here and then its end should be at one with value being one as well like that yeah yeah yeah so this increases and then this increases right so when we translate this into our event graph by the way now we have step two so instead for for this whole second part we will not use step one instead we will disconnect it with control key by the way to disconnect a wire control key drag backwards we will use step two and connect it there compile save Furniture T1 T2 Play Perfect have you do you see the difference like that again going up going to the sides going up going to the sides that's important um looks more natural and also zero collisions when it's being dismantled very important okay now this is awkward the event begin play is awkward I want to be able to press a button for now on the keyboard later we're going to do the menu but for now on the keyboard I want to be able to press a button so with control I remove the wire um that will enable me to play this animation and also to reverse this animation so I will say um I don't remember key event keyboard event keyboard event and here uh it doesn't really matter which button you choose let's choose S button whatever S button because you can easily select this node so this this can be any letter you want you select this node and you can edit what the input key is right here so you can um click on this keyboard icon and then whatever button you press is going to to be the trigger button so I'm going to go for Z button Z and I'm going to crl Ctrl V because that is going to be to play and to reverse play in Reverse is going I'm going to use x so input key X for this one there we go so if I press Z it's going to play we connect it like that if I press X it's going to reverse compile save Furniture play Z does nothing X does nothing Y is it that does nothing well I'm glad you asked the reason is because this blueprint cannot read what you're um writing what you're what you're giving it right it cannot read your keyboard and to it's just an optimization because if every blueprint can read your keyboard then it becomes quite heavy and it's unnecessary so you need to specifically say that when the blueprint is in the level when the game begins it should be able to read what the player is inputting so event begin play we will use from this enable input node right here where the target itself it's uh the blueprint itself is enabling the input or rather the blueprint itself will receive enabled input um functionality but the player controller I believe it won't work as without specifying the player controll let's see if just this works let's press play Z q no okay so the player controller also needs to be defined which is pretty simple drag out from here get player controller like that compile save play z x z x z x z okay we're we're done we're we're happy okay we have ourselves so working now this is done our blueprint uh for this bench is done now we need more functionalities from everywhere else to um make this work even better but well good good good going for now good good going um I I think we are on the right track also I really want this explode percent to be zero it's weird to see it exploded uh from the get-go compile save right on to the next chapter let's go chapter 10 camera rail systems so we are going to do a little bit of a unique take on them because if you go here to the uh quickly add to the project button uh under cinematic you can see there are camera rig rails available already for you and I can easily place it here anywhere bam like that and I can take my camera from here and just drag it on top of the camera rig rail so that it's parented and from now on if I select this rig and change the current position the camera moves as you can see what camera sees moves an issue with this is that I cannot access this um setting or this variable uh through for instance user interface or anything like that only uh in special occasions can um can this be used so what we're going to do is we're going to make a custom rig by ourselves which is not going to be a big deal it's just keep keep that in mind that there is an available version of this but it does not work that well within the blueprint system so we're going to make our own okay I'm going to contrl Z until the camera is unparented and I'm going to delete my camera rig rail from here all all together um now now now now I need to create a new blueprint that I'm going to call camera rail or Cam rail so in my blueprints folder here in the bottom I'm going to rightclick blueprint class actor and I'm going to call this actor or name this actor cam rail just like that enter I have my rail blueprint right here double click it to open it up dock it as per usual and start working with it so a rail initially essentially is a a line right either a line on or a curve anything that you want it to be a line in un real engine is defined as a spline sp sp l i n e spline we can go here and add a component and we can search for spline not spline mesh just spline like that and we leave its name the way it is it's fine and this is going to be the only component that we actually use in this blueprint because that's the rail we will anchor our camera on a point along this line and this line by the way can have multiple points and you can move move it around I'll show you I I'll show you how to do that for now we keep it as simple as possible compile we move on we move on to the construction script okay so in the construction script what needs to happen is we need to take the camera in our scene a specific camera in our scene and we need to place it on the rail right and same thing will need to happen of course in the event graph because we will be animating it's it's the same procedure or what we did with the bench with with the furniture piece first we make it static in the construction script we see that it works when we change the number and then we make a dynamic in the event graph with the um not sequence the the other one the timeline the timeline so construction script um we will be grabbing a camera how the hell do we get a camera in here well you could create a camera from uh somewhere here yeah there we go SE a camera right there but we don't want to want to do that because we already have a very nice camera here already set up and ready to go so instead what we're going to do is in the cam rail um the blueprint we're going to add add a variable create a variable so click the plus sign and we're going to call it camera just like that and that variable is going to be uh the type of that c the type of that variable is going to be called Cinema Camera actor so I expand this instead of blueprint which is yes or no we change this to c camera actor object reference not class reference object reference right so we're going to be referencing a single object in our level um and that is going to be filling in this variable right here of course it needs to be the eye needs to be opened for this to work remember the ey this makes it so that we can access this uh let me compile I'll show you when the eye is open that means if I take this cam Rail and drag it into the scene anywhere there's our line by the way um and on the right hand side here you can see this uh variable being shown and I then I can choose I can choose uh to fill this variable with any camera that I have in the scene so I can pick actor from scene like that I can choose the camera and now you can see that it's connected to my camera rail just like that I can also choose to take this camera one and just drag it onto camera rail just like that uh so that when I move this particular uh rail the camera moves moves together together with it that might be that might be useful we'll see for now I'm not going to be doing that actually for now let's control Z let's have them disconnected right uh here but if I select this uh blueprint you can see that I have camera one picked as my uh camera to be used okay back in the blueprint now I know that this camera is the camera cam one in my scene so I can drag it in bam and I can choose to get camera just like that then we um what do we do we should position it right one second I'm thinking we should position it on top of the spline According to some sort of proportion along the way of the spline so let's get the spline in there as well bam and let's get spline length let's ask how long is the line right the curve how long is it we get a number then we can multiply multiply that number well actually let's connect it there going to be cleaner we can multiply that number by a proportion and for that we're going to create another variable press the plus sign here that is going to be called position POS space bar on space bar rail position on the rail right and it's not going to be of course a camera so we change this to a float value and exactly the same thing as what we did here with explode percent for the um table desk bench thing we use that ex exact procedure for or variable for this position on rail it's going to be like zero start of the rail one end of the rail 0.5 right in the middle of the rail position on rail compile don't forget the slider range change that for from zero until one from zero until one here easy peasy get position on rail in here drag drag and drop it in get and connect that to the multiplication so we're getting the length and we're multiplying by let's say 0.5 that's half the length right uh we multiply it by 0o we get zero we multiply it by one uh we get the full length so then what I need to do is get this planine again and say get location at uh distance I guess distance along spine get location at distance along the spine and distance should be just this you know the the output of this again full distance is when we multip by one half of the distance multiply by half and then so on coordinate space actually we are going to be using World coordinate space not local so it's going to be POS we're going to get a position in the world uh rather than locally in the blueprint so then for this camera we need to set its World um location set World location um that feels weird yeah that that's fine it translates automatically so it gets the camera and it well actually it gets the camera component I kind of want a root component can I get a root component get root component use that instead instead of camera component like like that perfect and then connect the location to the new location and don't forget that construction script needs to trigger this for this to work like that bam compile now if I look at the viewport immediately the camera does not care anymore what its position is actually it just did that's weird oh no never mind the moment I move this uh blueprint the camera snaps to it again right so I can reset the camera position and I can mess around with it as much as I want the moment this blueprint is recalculated for instance by moving it it me immediately snaps to the starting position then if I don't see the variable camera rail blueprint position on rail the eye is uh not open I need to open it up compile now I see position on rail variable here if I change the variable the camera moves along the rail that's all we need that's it we're done there there's the rail um a very simple method but uh Hey that that that works so now with this set up uh we need to make let's make a at least three cameras right we we kind of want need to so one from the front one from the side and one from the closeup one close-up camera so I'm going to take camera one and I'm going to just copy it crl c contrl v to camera 2 and to camera 3 just like that and I will position camera 2 or sorry camera 3 rather right in the middle and it's only camera one that is connected to the rail right now so it's it's fine um the positioning will not change to something like that maybe a little bit further out yep something like that then uh for camera 2 I'm going to move it as close as I can to the to the surface right here actually yeah some some something like that right and then of course my two other cameras need to have their own targets right now I only have Target one so I'll make copies of that as well Target 2 contrl c contr v Target three so I have one two three targets uh Target Two um is going to be used by this camera um and actually I'm going to now uh properly connect it right so so that it it is used by by this camera so look at tracking settings right here instead of Target one we use scroll scroll Target two and then also there should be focus focus focus where was it okay fine I will click on this little gear icon here and only show only modified properties so can I can only see there it is which proper only the properties that I have been modifying that's just makes it easier to find it uh to find the tracking Focus uh actor to track setting there we go so now camera oh damn it this is camera 3 camera 3 needs to track Target three makes no sense to track Target two so we do that and actor to track Target three there we go and Camera 2 needs to track Target two here and focus on target 2 all right we're almost almost almost there we have three cameras three um three targets now uh what we can do is take a look through camera three and click this little pin icon right here pin to preview like that then select Target of the camera just kind of position it a little bit lower something like that right so that it's it's that the composition is a little bit nicer uh then actually no that's fine and then for uh camera 2 we do exactly same thing we can unpin camera 3 now and pin camera 2 and it's Target Target 2 needs to be moved over to here actually to maybe a little bit lower could we cop m kind of want to focus on that area right there I think that that one is nice and just move it down uh the placement of the camera right now does not matter because it's going to be controlled through the rail so instead I'm I'm just kind of positioning it positioning it arbitrary arbitrarily then this camera rail I'm just going to rename it to camera ra one so that I can contrl c contrl v r c contrl v camera ra 2 and then crl C contrl V camera rail 3 camera rail 2 will oh actually let's turn off only show modified properties now um camera rail 2 will drive camera 2 camera rail 3 will drive camera 3 just like that so now if I move my camera rail 2 to somewhere here and actually I'm going to reset the X position of it to be proper and I select the camera I I need to wait that's camera 2 I'm I'm stupid uh it shouldn't be there sorry um cam rail 2 is uh actually a closeup somewhere here we will deal with that later for now let's let's focus on camera rail 3 so if I move my camera rail 3 to somewhere here changes location in X to Zero so that is directly centered just like that all right select the camera pin the view select the rail again see how it moves when we change change the position and now we can actually start messing around with the uh with the rail with the rail itself so notice how I can select uh either this point or this point right um and I can just move them around so I can well that's x uh X is stupid uh let's just move it somewhere here just like that and now if I change position on rail is going to zoom in zoom out right so for these rails you can position the camera anyway any way you want or or rather you can position the rails any way you want if you want to create more let's move it up something like that if you want to create more um points or more difficult how do you say I'm I'm going to get it more complex rail system can always add add more points by clicking on the rail here and add spling Point here so you add a point and now you can make it curved right and also there's every Point has these handles I personally don't like curved rails because I feel like they are a little bit I don't know looks weird weird so I I personally uh Delete uh get rid of them and just use two points also for the points themselves I prefer to uh not use uh Cur curv linear uh control points but rather use um linear uh control points what I mean by that is if I go to camera rail viewport I select this uh you can see that uh the control points that are here I believe I can change them here I hope I can right click sply Point type instead of curve we choose linear instead of Point here we choose linear and now it's always going to be a straight line between the two points it's never going to curve I think the movement movement like that is nice um right Let's uh let's check let's let's position the cameras properly so this one uh select the rail whoop whoop okay that's good let's see how it looks exploded mhm that is a little bit too far yeah I think that's that's better okay so we have our camera three then what about our let's unpin this uh pin camera one what about our camera one select don't forget to select the rail when you want to move it not move the camera itself exploited is a little bit on the boring side so let's see see uh perhaps oh actually first of all how does it look not exploded like that okay it's first of all it's looking to high up so perhaps if we move this slightly like so mhm actually that's that's oops that is me messing it up uh we need to move the rail itself apologies bam maybe here something like that and then this could go here let's see position on rail something like that could it go higher okay and it should look at let's let's see Target one look at somewhere somewhere here okay let's move the whole thing out a bit and a little bit higher and this target is a little bit lower explode the The View here it's not bad I mean it hides a little bit but I think that's reasonable I think that's fine let's see other angles this one is not good so I need to select that particular point and find like a nicer position for it I think something like that and then this could be even higher or lower let's do something like that yeah uh okay and then when it's constructed is it yeah that that's fine that that that places itself quite quite well okay so this is done as well and last one right here we unpin this we pin this camera this one is actually very close to succeeding uh let's see the rail yeah that's way too too much movement from a closeup still too much maybe and then when this explodes we only see uh we only see that part that kind of sucks honestly I mean that that's too too too much um let's move this back like that get something in here something like that mhm and then this back to zero maybe a little bit lower or maybe the target can go a little bit lower where's the target the target is here can we focus on this I'm looking at the crop right here there we go completely wrong like that rail rail two yeah that should be fine and this exploded now at least gives you a little bit more information all right okay we have ourselves three cameras uh that are placed correctly and that uh have the capability of animating with that being said right now if if I press play Nothing moves nothing enemies I mean I can still explode and construct right from previous part but the camera doesn't move and that's because the camera rail in the event graph has nothing to do right nothing happens so what do we do well we do take the construction script right that that that that we have and we just copy everything into the event graph just like that and of course the construction script start does not transfer then for this event begin play blah blah blah we don't uh no we don't do those we don't do those what we do do do do what we do do is we create a special event that we will be able to trigger from anywhere from the level blueprint from the user interface by pressing a number whatever you want so we will create a custom event so let me delete that and let me here under event dispat patchers right here create my custom event press the plus sign and type in uh I don't know trigger animation uh trigger anim like that and I take it take this and I drag this in here and I choose event trigger animation event there we go so now now when um this event is triggered by anything else um we will use level blueprint to trigger it uh when this event is triggered by anything else what's going to happen it's going to fire out from here right and it's going to play a timeline yes we are creating a timeline again I'm not going to name name it even and it's going to always play the animation from the start so every time you trigger it it's playing from the start and then when it's okay let's create a timeline first uh how big should the the the animation be how long should that animation be well I think it should be like 50 seconds something like that so that it's kind of very slowly moving back and forward let's create a track it's going to be float again and I'm going to call it a sinus wave the reason why it's a sinus wave is because I want it to go [Music] um up to the end so from zero until one and then from one until zero back again so it needs to be this nice curve so what we do is we create three three points at Key at Key at Key create three points first one is going to be at the time of zero it should be zero right so at zero value is zero then the last one is at 50 50 seconds the value should also be zero but the middle one at 25 the value should be one and let's focus in by pressing these two buttons bum bum and it creates this Jagged line I don't like the jaggedness of the line I think like it stopping and playing back is going to be not seamless so I'm going to right click on these points and choose Auto like that auto like that Auto like that and now this curve is nice and smooth right so that's it from the timeline going back to the event graph the sinus wave is going to in the time of 50 seconds is going to spit out a number that is going to be between zero and one and then back to zero again right so we need to uh use that um as our position on the r simple as that we connect that like so and then we use the update trigger to set the world location just like that that's all all you need to do compile save um and then if I press play nothing happens again why well because this trigger animation event is not called is not triggered by anything right we just created an event event that does not get triggered ever because there's no button that I can press or anything like that so I I think the simplest thing to do is to actually go back to the level blueprint and make it so that when we start the level the camera through which we are looking through its rail should start moving right I I think that that that makes sense at this stage so what we're going to do is we're going going to [Music] say I'm I'm thinking if this is too complex for you or not no it it's going to be fine trust me so we're going to open our level blueprint and then before we look through camera one we want to also play the how is it called the trigger animation event for the rail of camera one so what we're going to do is we're going to get all actors of class and there's a problem um when I get all actors of class and I here I choose uh rail cam rail camera rail there is a little bit of a oopsy and the oopsie is called well we have three of them and all three of them are identical so the level will have no idea which one do we actually need so as a way of how to specify which camera actor is which we will use a tag system t a tag a tag system so for camera um rail one I will search I'll select camera one and I'll search for what's called a tag option actor Advanced tags and I'll click this plus sign and I'll give it a tag right here I can just write anything I want cam one right the tag for it is going to be camera 1 cam one then I'm going to get camera Real 2 I'll call it cam 2 or give it a tag cam 2 uh Caps loock c I don't think it matters but still cam 2 camera rail 3 add tag cam three and now I can stop searching for the tag U name right right right here so I'll click the plus sign with that done now uh it's easy for us to fish out which camera rail are we talking about going back to our level blueprint instead of using get all actors of class we will be using get all actors of class with tag this tool right here and the tag is going to be called which one which camera are we looking through we're looking through cam one when we start the game so we will say tag for it is the tag that we wrote for rail one which is camera one actors is going to be cam rail right actor class is Cam Rail and we just trigger it and what it spits out it spits out a list in this case the list is only going to have one single rail that has that tag but it still spits out a list of actors you can see by the icon that all have the tag cam one and also that are um derived from the blueprint camera rail that we just created so we need to get uh a single item from this list so for that uh and we know that it's only one because we wrote the tags right so what we're going to do is we're just going to get a copy get a copy and then we're just going to get the first item on the list index zero and it just gives us the you know the correct Rail and then for this now this is going to be easy we just trigger animation uh trigger anim event trigger animation event right we trigger um this this we trigger this right like that don't forget to constantly connect the trigger the wires and connect that to set view as well all right so now what happens is we press play it gets every single uh camera rail in the scene and then it filters out only the ones that have tag that's is specified camera one it gets the first item on the list which doesn't matter because there's only one item on the list so technically this does not even need to exist but it converts a list into a single item so we use it so it gets the correct Rail and it triggers the event this trigger animation event for the timeline in that particular rail so that it starts playing and then it looks through camera one compile save press play and now this is moving all right that's how you that's how you control it so let's say you don't want to look through camera uh one let's say you want to look through camera three right also let's unpin unpin so in our level blueprint you can here change to camera 3 tag and also instead of camera 1 let's make this uh blueprint smaller just drag out the name right uh we can drag in camera 3 in here like that just connect it here compile save play now we're looking through camera 3 three neat isn't it and don't forget that you can always Z and X all right so that concludes our chapter 10 I don't even know let's move on to the next one all right so let's talk about UI in terms of of creating UI in a real Engine 5 it's actually it's not difficult but it's a little bit annoying because everything needs to fit on different proportion screens and so on so uh all of the elements of the user interface always need to follow with certain relation rules to other elements right so when you resize the screen the UI does not user interface does not mess up too much uh before we do that I want to show you one issue that we should solve and that is um if I now press play this is fine right everything is in order but if I zoom in right here to the middle portion of the bench and I press play again there's this sphere here right that that appears if I then zoom in to the uh right hand side of the bench right here the sphere is on the right hand inside this is actually your actor the player character that is traveling on in the scene it's regarded as a sphere in this particular template we don't want it here it's annoying to have it here so what we need to do is we need to change a few settings in our project settings so here open up settings project settings there we go open up that uh there we go then go to maps and modes and here under uh default game mode you can see that it's set to Game Mode Base by the way if you don't see the selected game mode um roll out just expand it game mode base and here's our default Pawn class and it's set to default Pawn that's the sphere we want to change this but we can't we can't change it uh because all of the default game modes are locked in right the the settings for them are locked in we need a custom one to make a custom one I'm going to go to the blueprints tab uh folder and I'm going to right click and choose to create a blueprint class and here in the blueprint class I'm going to first create a game mode blueprint game mode mode base uh yes game mode base like that and I'm just going to call it uh my blueprint or or my game mode my game mode just like that and then here instead of using game mode base I'm going to use my game mode which unlocks all of these um different settings so the main one being default Pawn class we need to change this and to change this I need to create my own character that has no form that is a ghost it does not have a sphere so I'm going to right click blueprint class and choose Pawn a pawn is an actor that can be possessed and receive input from a controller in sure we create a pawn and I'll call this my Pawn like that and default Pawn class is going to be my Pawn just like that and that's it uh I think now if I press play there's no sphere here if I look at the middle of the bench press play there's no sphere here we have solved it no more issues there okay now for the user interface that's more fun first of all let's create one so in the content browser content folder in the content browser we will create a new level uh new folder sorry new folder that is called UI user interface expand that and inside of that folder I'm going to create um no let's just create the uh UI inside of that folder so right click uh blueprint class I believe it should be widget blueprint so let's see blueprint class is there a widget all classes that feels like we're user widget that that feels like we're going at it in the wrong way so I'm going to stop that and instead we just right click and create it from user interface of course user interface uh you don't see it no you do you do right at the bottom widget blueprint bam a widget enables us uh we will be just using the common user widget for this bam give it a name I'm going to name it GUI double click it and this is a two-dimensional screen that can be placed on the player's screen right so anything that is done here can be uh placed I guess or or can be pushed on the level so the first step is always to create a canvas panel and if I search here or rather editor no input no I always suck with this the panel canvas panel drag and drop it in and here on the left hand side you can see that now canvas panel has been placed this canvas panel can be resized to any uh proportion that you want and what we're going to do is we're going to find 1920 by 1080 I think that's that's a that's a good proportion at this point but basically you will use this to see how all of your uh text changes according to different different sizes and different scales of the screens since 1920 by 1080 is the most popular one we're going to use that so we have ourselves a canvas panel now in the canvas panel I want to create um how many actually maybe two for now let's create one horizontal box so here I'm going to in the canvas panel I'm going to find a horizontal horizontal Box means that everything that is stacked uh inside of that box is going to be stacked horizontally along a horizontal axis um because I want text here I uh text to be placed here I want text to be placed in the bottom I want a line to be placed here so horizontal box there we go it's under panel dragon drop it onto the canvas panel like so there's our box of course there are settings to be changed uh with with our horizontal box main one being the anchoring so this particular horizontal box should be filling always filling the full panel because we will be placing smaller boxes inside of it and stacking so in this case everything needs to be filled to do so uh as long as you have horizontal box selected you can go to the anchors here and choose this fill uh option right here right which basically anchors the box to the four corners and then you just need to deal with the offsets from the corners so you can see that there's large offset on the right and the bottom if I reduce those to down to zero now the box is filling in the whole um the whole Space and you can see if I if I'm increasing or decreasing the offsets you know you can control where the box is for now for this one we just wanted to fill the whole di screen all right with that done now it's time to actually start adding in the elements first one is going to be a vertical box right on the left hand side it goes from left to right right so vertical box on the left hand side bam like that right here that vertical box will do we use it as one second I need to think I think we should use it as a color box that would make sense right so we will use it as a color box meaning that is going to be the size of this vertical box will be set to automatic um but the padding how much of an offset it gets will be changed I want it to be a little bit off from the uh left hand side so the padding for the left I'm going to do like 20 pixels like that that that that should be good and uh nothing else really matters as much in in this so we're we're going to yeah we're just keeping it this way inside of this box I want to make a line a nice line going through it right uh so for this vertical box I'm going to create well actually there's multiple things that you can color uh I think we will use a border because border is very easy to color so here under common we use border to draw a line so that gets anchored into the vertical box right here and it's it is there it's very small right so we need to um fix a few a few things with it first one being um we fix the padding right the padding of it needs to be huh one second I'm thinking if this is filled should the padding then be changed or not okay sorry the first thing being we instead of automatic size it needs to just fill uh the vertical box completely as much as it can right so it just fills it up like that then in terms of padding we want to have it um offset from the top right so we don't want the line to start right at the top of the screen we want to have the same Gap as we what we have here so that's going to be 20 like that and then from the bottom we want it to be higher than 20 like 100 or so like that so we're offsetting it away okay and then for the content itself content color and opacity I think white is fine do we change the alpha no we don't we don't we we we did we we we keep the alpha as it is but instead we change the padding cuz the padding right now is 4 and two um that is too much I think the whole padding on all sides should be 0.5 so that it results in one pixel cuz 0.5 + 0.5 is one right this is a weird way of of making it but uh it it works it works so padding 0.5 is there anything else honestly I think the brush color like this might be a little bit too intense so for the brush I'm going to use like a well actually let let's just change the alpha so for brush color I'm going to use Alpha of 0.66 66% like that so it's just a single line with that line drawn actually let's let's see it on the screen right I think that's going to be more interesting let me compile and save this we have our user interface and I want to draw this line onto our screen right here how do we do that well you do that in the level blueprint open level blueprint like that and in the level blueprint you will have have um we already have this chain of the camera control you know where where the camera is uh made and so on or not made but rather animated and looked through uh and afterwards we also want to draw on top of the screen so what we're going to do is we're going to say okay when we press the play button it should create uh UI create widget create widget it should create widget with the class being uh how was it called GUI I think I called it yes GUI that's the name of the widget that we use GUI so it creates it but it does not show it we need to show it and that is going to be called add to player screen and the target is of course the created widget like that if I compile save this and now press play you'll see a beautiful one pixel wide line right on the edge congratulations now you can write anything you want on the screen and it's going to show all right let's move on let's create the menu so coming back to the user interface right here we we finished with the uh with the line let's create another vertical box but that box of course will be placed in the horizontal box right we're just kind of adding them vertically so in that sorry give me a second I'm searching for vertical H there we go vertical box I'm going to drag it on top of the horizontal box just like that this is our second one right this one uh the second one needs to have um a little bit of an offset I think cuz right now it's resting right on top of this uh this line so I think from the left hand side it should have an offset of five pixels from the top it should have an offset or actually sorry um instead of Auto no Auto is fine uh we don't we don't deal with auto so from the side it's five pixels from the top I think I Ed 20 yes 20 pixels from the bottom it's going to be 100 I think 100 pixels and from the right hand side it doesn't really matter I'm just going to use 20 just so that it's clean uh visually visually clean everything else is fine here okay we have our vertical box inside of the that vertical box we're going to start adding the menu items right so that will require us to do some text let me drink in terms of creating the text is it's pretty simple um actually do we need to First is going to come the name right we're going to do the name so for this vertical box let's create a horizontal box see what I mean by tedious and annoying let's drag a horizontal box on top of this vertical one so it lives here in inside of the vertical box and this horizontal box should have automatic filling uh actually we don't do anything with it it's fine the way it is inside of it it there's going to be two text items uh so I'm going to drag a text from here into the horizontal box one is going to be a company name and the second one drag another one I messed up I messed up abort abort Mission uh horiz uh drag on top of the horizontal box there we go and second one being the um Furniture piece name right so the company name is very good architecture company.com if you want to check out what we do very it's it's very nice very good uh architecture or rather no it's not going to be very good architecture company it should be the name of the series right so very good Furniture very good furniture for this text and then for this text is going to be the name of the the the the the name of the furniture right so we will use um sorry Dash space bar I already forgot T1 T2 uh bench type one a bench type one I'm bad with names clearly right so we have ourselves a little bit of a a little bit of a text right here then there's more stuff that I want to change here in terms of the font uh the default font is Roboto which is actually pretty nice I'm just going to make it light um right here so that it's not um too much and I'm going to change its size to like 16 so that it's not too big like that I think that looks pretty neat and I need a space bar after furniture There we go so now you can uh make this into variable and you can change it any way you want but uh that's maybe for the intermediate course now um after this horizontal box is done uh we need to give it a little bit of breathing room right and then start listing camera 1 camera 2 camera 3 camera 4 and so on so I'm going to create a size box size box right here drag it on top of the vertical box not horizontal vertical box so that it's right below the title and the size box is honestly only going to have padding ing on the top that's all it needs to do is just have 150 pixels of padding between the text and whatever is going to come after the size box that's all we need um that we're done with the size box then we need to create a button we need to drag a button into our um um vertical box right so let's find where a button is right there there's a button drag it onto the vertical box it's going to look ugly don't worry about it so for the button what do we do with it uh first of all I want to rename it so I'm going to rename it to button cam one because that's going to be button for camera one and then inside of that button I want to add a text object drag and drop in like that you can see it immediately slaps it in and for the text object I'm going to just change I think um what's the size uh 12 14 something like that so I'm going to change the size of the text to 14 it should be light and it should be um camera one like that camera Uno and in terms of alignment I honestly think it should be something's off one sec give give me a second I need to check well we'll be able to I'm looking at my notes we'll be able to change the alignment anyway we want later down the line but I just don't want it to be centered I want it to be aligned to the to the left which is may be fine um all we need to do is just select the text here and click on this horizontal alignment and it's just going to snap in place as it should uh with that being said it's weird that it's not snapping in place immediately anyway so for the text horizontal alignment uh should be to the left and the padding should be all zeroed out right so that there's there there are no kind of weird offsets or anything like that then we don't want this button to have any any color right so when it comes down to appearance the background color should be fully transparent so Alpha we reduce to zero like that I'm thinking if there's anything else the padding there should be like additional padding of the button because I can see the there's a gap here that I don't want to have and a gap in the top so I'm going to quickly go through the button settings style is it under style there it is normal padding pressed padding uh so all of this needs to be zeroed out zero zero okay now this is this looks much much better right right so now with this done uh with the button ready to go we can just copy it um two more times contrl C right here contrl C come on contrl C contrl + V and contrl V again and then we just need to with F2 rename it to like proper button cam 2 button cam 3 expand this uh change the camera one to camera 2 text change camera 3 to camera 3 text there we go we're we're we're Gucci we're good to go so in terms of um camera buttons it's it's ready to go we're we're done now we need to change the uh what's the word the exploded the explosion button or we need to make make one uh so I'm going to make another size box which is our spacer right we we use size boxes as spacers in in this case it's going to be under the vertical box size box and this time I'm going to say from the top give me like 50 pixels then give me a button control c contrl v um and I need to drag this button underneath the size box and notice that there there are many ways like when you're dragging things there are so many ways of how you can uh where you can dock so this icon with the little arrow sticking upwards is what you want you drag it like that and now the size box is between your camera 3 here and well this button right here that we will rename right now so I'm going to call this button exploded and the text for it is going to be uh explode construct explode SL construct we have two space bars between the well near the slash okay almost there now the final thing is going to be we also want to be able to change the color the materials of our bench right so there's going to be one more size box right here sorry under the vertical box like that that spacers uh maybe we do 50 again right like that I didn't write it for some reason 50 there we go then we do another button drag it down rename it to button uh mat one material one and just change the text of it to style one did I mess up I messed up uh you need to copy paste button mat one change it to Mat 2 and it name should be style too okay so close so close all right so now on to the in in in the bottom I want to be able to change the or actually no uh since we have a nice line here I want another one right here on the opposite opposite side so we're actually going to create another vertical box in this hor this large horizontal box we have one here and one here we're going to make one more here right so vertical vertical vertical box drag it on top of the horizontal box like so it's placed right here and we're going to uh for this we're going to use fill so it fills like that uh we're going to give it padding of uh 20 from the right this time not the left so that the offsets are correct from both sides we're going to say that its alignment should be horizontal to the to the left uh sorry to the right and vertically it should fill the whole the whole space like that perfect and inside of it we are making a border to draw the line you already know this we already did this so border drag it into the vertical box missed it drag it yep there we go there's the border for it which is to fill it's way too fat so we go into the padding and we change the top padding to 20 right that's the offset that we're using the bottom is 100 that is again the offset that we are using um then we change the brush color if I remember correctly uh we used 66 for the alpha uh 66 0.66 uh for the alpha what else padding uh that should be 0.5 right I think we use 0.5 for the pad adding and then and then then then then then that that's it that's it we have ourselves a line nice all right vertically we're done horizontally we still need um one last or rather two last bits one is going to be um a horizontal box with two buttons scene studio and scene interior and below it we're going to have another nice horizontal line that's at least the the idea so where should this horizontal box be placed I think it should be placed right on the canas panel I think this one right the one that we have now um does his job and should we we are not going to mess with it anymore but this one below should yeah it should be right here at the bottom that's going to look nice so I'm going to make another horizontal box drag it on the canvas like so I'm going to say that it should be anchored to um let's see um now we're anchoring it right through the middle right like that I think so let's see no it should be anchored at the bottom sorry that I'm I'm I'm lagging here I'm I'm I'm just thinking if I do 01 and then one one then it anchors to the two bottom ones which are coincidentally this this one right here right so we're using this anchoring method um uh there we go and then in terms of the maximum we don't CH change that for the offsets we don't change those position needs to be zeroed out um completely right and the offset also zeroed out perfect this is what I want to see and then in terms of the size and Y that's 30 that's fine now the question is how do we do we change the alignment I think we changed the alignment and here for the Y we can just slowly move it up until we see a position that we that we like uh let's go for some clean value 1.75 and this is where we want the box to be all right inside of this box uh of this horizontal sorry inside of this horizontal box we will have a Gap a button a Gap a button a gap I think yeah that that that should work so uh we will use size box right here bam like that then I'm just going to borrow one of the buttons from here uh control c contrl v and just drag and drop it onto the horizontal box like so uh then another size box then crl C contrl V another button and then another size box okay so let me explain we will have a gap here that is controlled by just using the fill uh option which always tries to fill the full space then the other side the gap on the other side right here is also going to always try to fill the full space positioning these two right in the middle right uh the middle size uh box is just going to be uh used for padding right so so we're just going to say um on the left give me like 25 pixels and on the right give me 25 pixels it just kind of separates out the two texts that we have here and then everything else is just left for the buttons so one button is going to be uh let's see let's see let's see let's think one button is going to be just called uh button uh scene studio and the other button is going to be called button scene uh interior okay and then the text of these buttons is going to be uh do we Center them kind of want to Center them but I don't know if I should no they should be um rather centered they should be anchored to the to the left uh to um sorry this button should be anchored to the right while this button should be anchored to the left I think that's that's the game plan and now we just change the names uh scene Studio okay that looks fine I guess seene interior in interior that seems to be off Cent or maybe it's not is it off center it's hard I'm I'm getting tired it's hard to tell do we care that if it's off center or not not so much honestly not not not so much this is to the left this is to the right the buttons are the size of the buttons are automatic and the button here could be to the left and the button here could be uh to the right and here to the left besides that that's fine I mean they they do what they need to do they're kind of centered should be okay yeah let's move on let's last bit uh creating a line I'm just going to yeah uh just going to create a line right on the canvas so canvas panel select that and drag in the where is it border border border hello am I am I losing my okay I'm going to search border there we go drag it on top of the canvas panel like that border lives right here and we just mess around with it um with its anchors so the anchoring of course should be the bottom portion right so we use that uh so it's anchored what the hell is going on there we go it's anchored right here uh the position of it should be zeroed out for now I'm going to zero out everything like that the size of it I can just change the size so I'm just going to say the size of it should be one so we're using one pixel for the thickness and now let's let's just get get the offset correct um right so the offsets on both ends let's let's use like 300 300 by 300 for the left and the right and the height uh let's use I wonder if it's going down or up yeah it's going down so it needs to be negative I guess um 25 something like that does that seem good that seems okay all right what else oh yeah yeah and also the uh the color the brush color needs to be 66 right don't don't don't forget the the 66 wait wa did it save yes okay compile save [Music] play ah there we go everything works nice so we have ourselves a user interface that does nothing but at least you know everything is in the correct places now if I uh change the canvas panel size to something like this I can see how this whole thing re reshuffles and everything seems to be still you know centered and nice places and if I change this to something very small still we are getting pretty decent results so that's great that that's what we want to see we can move on with the actual functionality of our uh user interface so how do you make buttons work well um here we are in the designer Tab and we have been in the designer tab uh for this uh user interface there's also here at the top you can see the graph tab yes yes if you click on the graph tab you can see you know the the good old blueprint the blueprint system is everywhere in andreal engine so in this blueprint you can call for uh what happens when specific buttons are clicked so for instance uh let's let's delete this if I need these events I will uh create the nodes again so you can just easily delete them uh that's not a problem um for example if I want my yeah uh if if I want my uh button for camera one by the way these buttons are right here under variables if I want my button for camera one to do something I can just select it here and I can choose what kind of event I want to happen so on clicked if I press plus sign here bam it gives me the event of button camera one on clicked so what should it do well it should switch to to to the camera right so what I'm going to create is I'm going to create um H sorry I I need to think uh one second no uh we all we need to do is is is going to be pretty simple um I'm going to get all actors All actors of class with tag remember that we will already used this and I'm going to say give me all actors that have uh camera rail that are camera Rail and that have tag cam one those are the tags that we wrote cam one all right so it gives me um all of them and from from them it's actually only one but from them I get a copy I get the copy okay then I need to uh trigger that the animation plays for that camera trigger animation event like that and connect it okay so when we press uh the button camera one it's going to at least start playing the animation for that camera camera the camera is going to start moving but then we can also um let's think we can also get all actors of class again with tag again but this time I'm going to say get give me all Cinema Camera actors Cinema or C camera actor in the scene that also have the tag cam one like that for this to actually work right um if we look back at our scene uh there's three uh Cinema Camera actors 1 two three uh neither one of them has the tag camera one only the rails have the tag which means we need to give them proper tags if I select camera one and I in the options of it in the details of it I search for tag here there's tags and there's actor so under actor under tags I can click on this plus sign right here keep in mind not camera component not scene component actor Advanced tags I press this plus sign and here I write cam One camera one all right then for camera 2 same thing plus sign cam 2 for cam 3 plus sign cam 3 that's it we're done uh now the cameras are properly tagged and can be used or rather found very easily now back to our user interface uh blueprint now this will actually fish out that camera but we do need to get a copy you always need to do that if an output is an array which is is here you can see from the Icon get a copy and then you can um use the same thing that we used in the level blueprint which is set view Target with blend so we will use uh set view Target with blend if it doesn't show up you untick context sensitive and then you will find it bam the target is not self it's actually the player controller so get player controller and it's not under player State it's not this one it's not this one you scroll up and you find the one that is under game player get player controller like that and then for the Target yeah that's that's the new view Target that that that one's easy right so this functionality now should switch to camera one compile save press play the scene begins we press camera one bam we switch to camera one nice no way to switch to camera 2 or three though so we need to work on that back in here we have this oh not here sorry back in here um we this this user interface blueprint we have this functionality set up we kind of want to just copy it uh two more times right for camera 2 and Camera 3 so we we're actually going to be doing that but uh you can't copy this event you need to to create events for button of camera 2 and button of camera 3 so we're going to do those first button cam 2 onclicked press the plus button cam three onclicked press the press the plus sign select all of these notes crl Ctrl V nice crl Ctrl V nice connect uh accordingly you know cam 2 triggers this chain of events cam three triggers this chain of events and then just make sure to change the tags uh also correctly cam 2 cam 2 here there are ways of how to make this cleaner you know like just making it into a function and so on but I I feel like we're um we don't want this video to be any longer than it needs to be compile save test it out this is what we get camera 1 camera 2 camera 3 camera two camera 1 camera 3 works okay we move on back to GUI now we have this button exploded right when the explosion needs to happen and then reconstruction onclicked again we use the event of on onclicked we somehow need to uh let's let's get into that blueprint here BP T12 double click event graph when the button in the user interface in the user interface when this button is pressed right it needs to trigger um this and when it's pressed again it needs to trigger this it's going to be a little bit more tricky but we're we're going to manage so first of all let's delete Z and X we don't need them anymore in our bench blueprint T1 T2 blueprint and instead we're going to again create an event event dispatcher right so we're going to make a custom custom event that that works for us and that event uh dispatcher is actually going to have uh should it have two one second I'm I'm thinking one second yes there should be two events yeah let's do uh let's do two events one is trigger explosion and the second one is trigger explosion reverse reversed explosion right so under event dispatcher we press the plus sign and we call this trigger explode and again we create another one we call it trigger reverse there we go the trigger explode drag it in event choose event trigger reverse drag it in choose event explode event connects to play Reverse event connects to reverse clearly all right so now we have these custom events that we can call call out to by simply fishing out T1 T2 in our uh GUI blueprint in our user interface blueprint so when this is pressed we should get um I I believe we should still get all actors of class right yeah we should get all actors of class and it's only one uh one bench in the scene so we don't need a tag for it it's only one so get all actors of class like that and we choose the correct class T1 T2 that's our blueprint name we still do need to get a copy still need to do that but then from it we trigger explosion event trigger explode event like that that's it that's it we compile we save we press play and now I click on this deconstructs the problem is that when I click on it again it not doesn't reconstruct and that is because um this only triggers the exploit event rather and it does not trigger the reverse effect event when we press it again right so what we want to do is we want to use this node that is very useful it's called flip-flop flipflop first time you press this button it's going to fire out from a second time you press this button it's going to fire out from B third time a again uh fourth time B again right so this can be used very in a very very nice way by um first triggering the explode event and then crl C contrl V delete that trigger reverse event the second time you press it and then explode again the third time you press it and so on so we can have this kind of functionality compile save play explode construct change the camera EXP explode construct change the camera um to something more interesting explode construct there we go we're getting there okay now it's uh I think it's time for us to go for short break and then continue on with the user interface and making um making sure that we're able to change the materials of this uh of this bench currently we only have one set of materials so for that we will need to create a second set of materials which is not going to be a big deal where we're going to we're going to manage but for that I need to uh take like a 10 minute 10 minute break and then we continue okay then it's time to change some materials or or create material options style one style two these two buttons need to do something um with that being said also I noticed that when we play um this this game or this app and I click inside of the screen there's one little issue my mouse is not shown anymore we need to change that mode of of gameplay into uh something that is able to show the mouse constantly I'm I'm getting tired with my explanations the mouse needs to be shown at all times during the app when the app is running uh to make that functionality or to to to have that functionality all we need to do is go to the um our level blueprint open level blueprint and here after we we add the widget to the player's screen we also want to set input mode to uh UI only meaning that it's it's it's going to be only only Mouse um only Mouse uh input is going to be registered uh we will use uh the player controller by get player controller and that's it no need to focus on any widgets okay and then also this make sure that the mouse is registered and then we need to also set or sorry uh first get player controller again uh from the game and then set show mouse cursor like that and tick Mark don't forget to tick mark that it should be should be shown and that's it uh after I compile and save and press play now it doesn't matter where I click the mouse is not gone and I can switch between the cameras quite easily and it just Works nice all right moving on Styles so first of all we want to open up our blueprint for T1 T2 like that and we want to um be able to change the between the Styles manually right and for that we use construction script as per usual to do the manual change we will need to add one more pen to the sequence add pen you know so that it first kind of explodes everything and then it does the material change and then we will use uh very easy or simple method of um sorry give me a second simple methodology of switching between materials which will require us to use a branch Branch um and the branch will have a condition yes or no if yes it fires out from here if no it fires out from here and for that Branch we will create um variable here and we will call that variable uh type toggle or whatever you know so change type so I will write right click on this condition and I'll choose to promote to variable that's a faster way than just clicking on the plus sign here right right click promote variable bam creates a condition variable here that we can now rename here as we want um type toggle type toggle and I will just open the the I right here type toggle I opened so that we can switch it uh any anytime we want right with that done now we have this true and false um statements and let me show you the basics of it right if this is set to true then this will fire out and I will choose to set material uh let's see for top one for or rather it doesn't really matter let me just delete and just drag anything from here let's go for actually sure let's go for top one where was it top one top one is our uh let me show you this this item right here right so for top one that's the target we change the material to um what is it using right now give me a second top one is using Oak veneer 2 okay so if this type toggle is true then it's going to be using Oak veneer 2 you know nothing changes but if this type is false then let me copy paste crl c contrl v connect false to this it should it should use I don't know like let's let's go for or red I have the where is it uh red color oh my God how is it called red color yeah it should use red color there we go you can also drag and drop in the colors into here that that works as well or materials into here okay I pile I save I press play oh yeah I doesn't matter I don't have it hooked up to the button yet so we work with this in the uh viewport I select this object and here I have my type toggle tick marked and if I untick it then this changes the material to Red I tick it again it's uh wood right Oak so so that's how you change materials guess what we are going to do now we're going going to go through every single thing that uses the same material and we're going to construct um set material logic to it so top one sure uh then we do top two which I know uses a different uh type of a material here um I'm just going to delete the bottom chain for now uh we're just going to copy over uh top two us this Oak veneer one can I drag it over here no I need to let's do it this way like that then we will have um L1 main uh L2 Main and slab all three of them we'll be using uh Oak veneer 3 so let's find them L1 main L2 Main and the slab bam get them in there connect connect connect and they use veneer 3 there we go easy peasy but a little bit annoying you know um lastly we want to change the the dowels don't change we we don't mess with the dowels but we will be messing with the foot so foot R2 R1 L2 L1 all of the four feet here are going to have their materials set to well in this case it's going to be I believe glossy white something like that white glossy great that's kind of it for for the uh version one or option one then I copy paste all of this and then we figure out option two so option two needs to be dark I think right so we we have a bright wood here so maybe dark wood or or something something like that I'm actually going to go and download from the bridge because I'm getting tired and I don't want to create another material from scratch so we're going to just download uh some material from the quickel bridge um and that's going to give me an opportunity to also showcase it too let's go for veneer are there any nice ones we can do what garnished Walnut I [Music] guess I have that one that one might be nice let's let's look into Old varness Mone Burl veneer sure medium quality as well yeah it is what it is so we download that um we see that it's very red and very glossy we might need to fix that I'll show you how to but uh for what it is uh I think it's going to be fine I will actually uh select this material instance right here and I'm going to contrl C copy it go into my instances folder and I'm going to create a new folder ah I messed up I'm sorry I'm sorry I'm going back to my materials instances that's the new folder that I've created I'm going to to rename it to version 2 open that one up and contrl V paste the material instance into here so that we can have like multiple copies of it and it's all going to be neat and dandy okay so for this material instance the first thing that I want to do is make one two three three variations of it so or or rather three types of it do we do it now or later well give me a s second just a second um dark wood I'm going to rename it first dark wood one underscore no no no need to underscore dark wood one double click um r. rracing do uh Skylight zero there we go I don't know H it's it's very annoying um at least this this fix seems to to be working so it's it's very shiny but it might be pretty cool okay let's Let's uh make this a little bit smaller and let's actually apply uh Darkwood one onto our top one um version to uh how do you say that of our T T1 T2 uh desk Furniture piece let's let's apply the Darkwood one uh to the top one element of it like that compile save that sucked go back to viewport and let's select this and untick type toggle there we go so now we can actually see the material and the nice thing about it is that as long as I I'm I've double clicked this so I have its options I can change its options and and kind of just mess around with it until there's uh everything's nice and neat and dandy so first things first the tiling the tiling seems to be kind of off uh I think it's too small I think it's too too dense so I'm going to change the tiling to like 0 2 on both ends which brings it to a little bit closer let's see the scratches the scratches is will will say the most I think are the scratches big enough or small enough yeah I think that those those are realistic okay the tiling is still uh still visible so I'm going to make it even smaller 0.15 but I don't want to uh mess with it even like make it even smaller than that I think that's that's good next thing is it's very red uh so I don't want the redness to show so I'm going to go to my albo colors tick mark that and for saturation I'm going to drop it to0 one to make it gray something like that um you can also apply a tint but I don't don't want to mess with that in terms of the brightness of it I think that that is doing just fine so we won't be uh changing that uh and then for the roughness I think it should be just a little bit rough rougher cuz it's very glossy right now so for maximum or sorry minimum roughness I'm going to say actually can you be like 2 or uh1 0.15 something like that that so that it's not as um yeah it's not as uh glossy shall we mess around with the normal strength let's increase it to like three or to two don't don't don't go overboard with this uh if you go overboard with the with the strength of the glossiness then it it uh sorry the normal strength then it starts making mistakes actually 1.5 and minimum roughness point1 yeah something like that then it'll be the controls the brightness I'll drop it down to 0.9 or. five point six yeah something like that should should should work just just fine okay that's it we have our Darkwood one now let me make two copies of it Darkwood 2 dark with three and apply them to uh top two and these guys as well so Darkwood 2 connects to here Darkwood 3 goes on to uh be replaced for L2 main slab and L1 main compile let's take a look at them okay first step uh the mirroring right you can clearly see that the texture here the butterfly effect of the texture so Darkwood 2 uh that needs to have like an offset to it on both ends so that it does not look mirrored um for Darkwood 3 I think we're kind of good to go right H that seems fine yeah we're good we are good okay so now we have um an object a table oh yeah I forgot the feet the feet need to become red it's going to look nice so um instead of white glossy the feet are going to actually get the red color that we already have like that nice all right so with this done after I press play I can actually see it from different camera angles very scratched very scratchy that maybe it's fine I think that's fine looks more solid I don't know but the buttons still don't do anything right so we need to actually make the buttons do something and that uh happens when we for our that that's the level blueprint we close that uh for our um table for the material change of the table we're going to actually um take this and in the event graph we will need to copy it into the event graph right I'm just thinking how do we do that one second cuz you press it once you press it twice uh do we also need to use like two triggers seems to be an Overkill with with the two triggers um give me a second I'm I'm just really quickly thinking yeah I I think we should we we should just make two triggers right so for T1 T2 uh first of all I'm going to copy all of these nodes that we have here that we have created here contrl C and then in the event graph I'm going to just crl V paste them here and we're going to use two custom triggers um material change one material change two right so under event dispatchers I'll press the plus sign and I'll say material one change and then material 2 Mat 2 change there we go two triggers event drag out and select event drag out and select event connect connect compile save this is ready to you know change its materials any anytime time um you trigger it now going back to our UI we actually need to trigger the material change so we will choose button material one and we'll click this onclicked button here button material to onclicked button here okay with that done we will [Music] choose wait thinking yeah uh with this done we just uh get all actors of class um you know we we need to get uh that T1 T2 actor our our uh Furniture piece get a copy we get a copy and we uh how is it called trigger mat one change mat one change event there we go we do that bam and then we kind of I'm just going to copy this for button two instead of mat one change is going to be uh Mat 2 change event connect that like so compile save play style one style two style one explode style two style one construct camera 2 style one style two okay we this whole side of functionality is done and we can move on oh so nice all right so the next step is to actually um have the last two buttons uh scene interior and scene Studio have those last two buttons uh work uh so we move on to the next uh chapter okay in this chapter we're going to cover create a different level and using the user interface to jump between uh levels right that is how we're going to uh actually jump between scene studio and scene Interior right here right those are going to be two separate levels because having everything in one level just increases the loading times too much so under my levels actually I want this to be tick marked so at my uh on my levels folder in my levels folder I have this furniture T1 T2 um level already kind of done I I would call this done and now it's time to move on to um creating the interior space for this level right so oops so I'm going to select this level contrl c contrl v copy paste and I'll rename this to Interior Furniture T1 T2 Interior right so now notice that I can easily double click on it save selected uh let it save and I just open up this level instead of this and I can switch between these two levels as I please right and to just prove a point I guess uh let me just delete uh the environment and now switch between levels and now you can clearly see that there is a difference right so now we have two levels that are different let's start with that let's start with uh being able to switch between those two levels in our user interface and then we will build out the Interior Space level so just switch between levels all you need to do is first of all in your user interface blueprint right so open up your user interface get to its blueprint uh you have these two buttons button scene interior and button scene studio right so we will choose the onclicked function for the button scene interior and on click function for button scene studio and I'll have Studio first uh so studio in the top and interior in the bottom like that okay with with this um buttons uh once once we click the button we what we want to do is we want to get we want to understand what which level are we at right now so get level name names name I think it's wait get current sorry I'm stupid get current level name get current level name it spits out it spits out the name of this level Furniture T1 T2 right or if you're in Furniture T1 T2 interior it's going to spit out that then I want to ask okay is this level uh name since we press the C in studio button does this level name match matches wild card does this level name match um t uh sorry Furniture T1 T2 does it match this for sure T1 T2 and if it does then we know for a fact that it's the same level in which we add right so we're going to create a branch Branch Branch Branch going to create a branch and use that as our condition so uh I'm pressing buttons so what happens is you press a button it reads the current level name and it asks does it match with the level name of the studio and if it does then this gets triggered if it doesn't if it's a different level then this gets triggered so for both of these options let let's think of what should be done if you are in the studio level and you want to get into the studio level right so you're pressing the button nothing should happens right so this should be empty you know it just fires into nothingness but but if you are not in the studio level then you should open level uh by object reference that's easier by object reference and the level should be T1 T2 Furniture T1 T2 the studio level right like that then for the other one the the the interior level um let's let's do it again get current level name get current level name see if we're already in it matches Wild Card see if we're already in it so it's going to be Furniture T1 T2 uncore interior uh that is not an underscore let's try to write underscore again there we go interior Branch that's the condition and if we are in the interior level nothing happens but if we are not then it should open level by object reference and it should be the T1 T2 interior level right compile save press play now we have two buttons here Studio I click on it nothing happens I click on the scene interior bam we switch to the interior level where I just deleted the background so that we know that there's a difference back to Studio back to scene interior I'm switching to scene interior constantly switching to Studio constantly [Music] right here oh actually why is in interior still triggering I should not do anything when I press this that's weird let's investigate open level h we get the level name it's a scene interior and it just triggers there so it should not do anything else but for some reason it triggers the event ah whatever it's fine it's fine no one's going to be constantly clicking on that that button we leave it be right so with this functionality we are done with setting up for level change in our blueprint and we're ready to go to our next chapter all right so now it's time to construct our interior scene and while doing so I will be showcasing data Smith so my interior scene that I have here and that you will get access to if you support the channel on patreon uh my interior scene is made in Rhino and it's you know a portion of a bigger house in rhino and you can see that it contains a bunch of BS or polysurfaces and some meshes for the fabric and so on let me switch to shaded mode you can easily use any software that you want and you just use the fbx export method for the interior scene as well in this case I'm using data Smith just to Showcase that for architectural visualization um that as long as most of the stuff is kind of static data Smith mostly Works truth be told um I prefer using fbx methodology of exporting but it is what it is so to use the data Smith plug-in with your um scene all you need to do is just select is that a curve no that's a open polar surface never mind so what we you need to do is just select everything in you in your scene that you want to export uh beforehand of of course you need to texture it and uh like apply proper UV unwrapping to it and so on but once you're ready to explo uh export you select the objects you assuming that you already have data Smith plug-in downloaded you choose to export 3D view right here if you don't have data Smith plug-in um let's see if I can quickly show you for for Rhino T TN motion uh I think it's both both the same thing but oh that's yeah uh using data Smith toolbar one second I'm sorry this is uh this is getting a little bit annoying data Smith for Io download there we go that that's going to be fine no that's not fine are we there yeah there we go finally so out outad desk 3ds Max exporter like there is so many different exporters even arat has one that's very nice does rabbit have one yep there it is nice anyway RH now exporter you download the exporter and then you have your data Smith plugin that you can use so you select your objects you export 3D view um and you get your U data Smith file right here um for this I will create a new folder uh data Smith export like that interior space you data SMI that's fine hit save and it's going to do the magic really really quickly actually exports really fast um there is also a connections tab where you can connect to Unreal Engine directly so any changes that you make here will immediately be shown in Unreal Engine I hate that with a passion and I will not be teaching you how to do this um every half a year or every year I will be testing out for stability issues uh with data Smith plug-in when using this remote connection and the moment that it's stable enough for me to show it to the public I will start using it immediately I think it's useful but it has messed up so many of my projects that I would not recommend the live link instead just use the export you know static export of 3D view you get the datm file you get it into unreal Case Closed okay with that being said um under my my my my geometry I'm going to just create another um folder and I'll call this interior data Smith or whatever interior data Smith should work interior data Smith and here I will just go Um well make sure that you're in the correct uh one second I'm thinking in the correct level make sure that you're in the correct level and also oh sorry forgot the units as per usual as as always need to be in centim notice what I've done here millimeters right not centimeters but millimeters I want to see uh if data Smith actually even recognizes that because fbx does if data Smith recognizes that I messed up the units um so going back into Unreal Engine B data Smith here I can click on this import button or actually no sorry we click here sorry again we first change the level to our interior scene and then we click on the quickly add data Smith file import right um with that being said if you don't see data SMI file import then you do need to go to settings plugins search search for data Smith and make sure that data Smith CAD importer is Tick marked right here right so then you restart and then you get that functionality okay data Smith file import um we search for where the hell was it exported so it's going to be under Furniture export data SMF export and there's our data Smith file right we hit open and it asks us where where would you would like to have it copied and we have prepared a folder for it we hit okay uh asks us what is it that we want to load in I know for a fact that the materials and textures are bad so I will not be importing those um instead I'm I just I'm just curious not curious I just want the geometry for the advanced settings for advanced uh or sorry static mesh settings these are all the settings that you get how the light mass is computed sure I I I guess seems Seems good why not hit import it does its thing slowly Imports eventually like that there's going to be a lot of stuff that's going to pop up here give it a second okay it's being built out as you can see nothing uh you can't really see anything uh so let me change this to unlit uh so that we can at least see this in an unshaded mode but the building is actually or interior is actually actually here and now I'll switch to LIT again and you can you can kind of see it right and everything seems to be textured fine okay so those rectangular lights don't work anymore U are not nice anymore so we'll need to fix those and there's going to be a few a few changes to be uh that that we will need to that we will need to make but basically um in terms of the what's the word anatomy the anatomy of data Smith scene is that you have the scene um actor as the main core so here interior scene this is the main actor and and if I move it the whole Dam scene moves so I'll just make sure that that actor is set to 00 Z and then that actor contains um all other actors that are inside of the or all other uh objects that are inside of it right uh easy as that so that's what's happening in the viewport what's happening in the content browser is that in our interior data Smith folder interior scene was created another folder was created inside of that we have the data Smith scene itself that I can double click no I can't that does not care I can just repport it I guess and it's going to do its magic but uh more importantly it has all of these geometries here that we can use right and that are being used and automatically placed which is very nice so all of these geometries that we that we see here are um just static meeses same as as importing fbx files and we can deal with them as static meeses so when you're importing multiple elements the first thing that you want to check is um here under lit uh you want to change this to nanite visualization triangles to see if the objects that were imported are nanite if they were they would be remeshed just like you see with the bench here but they're not being remeshed so that's not good so we want to fix that so I'm going to select all of the static meshes that I have in my interior scene geometries folder just shift key uh by pressing first one and last one right click on them on any of them once they are all selected asset actions edit selection in property Matrix like that then here I will search for nanite settings I will enable nanite for all of them this will take a while because it's it's a lot of them so give it a second basically while while it's doing this I can I can talk uh when you're enabling nanite you're saying that every piece of geometry that is important should be remeshed dynamically uh so that it's it's more lightweight for the for the computer right so if you're not looking at an object it's going to be reduced uh it's its mesh count or polygon count will be reduced dramatically also if it's far away but remember we had a problem with the light uh so here under uh fallback Target instead of automatic we will use relative error and we will say that we do not tolerate any errors so once this is calculated we'll see that the to relative error is should be zero uh if it's not zero then the light especially retraced light that is being shown on on the object is going to be calculated against the lowest possible resolution mesh that nanite can render or generate and that usually just makes a whole lot of nonsense right so fall back relative error this one not the percent triangles relative error this one zero once that is done um the shading is going to be fine and the scene itself will be much much faster click the save button just in case why not close that we're good to go everything is nanite congratulations uh let me show you this in action see I'm zooming out I'm still zooming out the mesh is increasing or decreasing in its uh density very useful why the hell oh this is is a camera never mind cameras cannot be Nite clearly okay so that's done that's that's uh very easy that's very easy to do time to um get some get some Textures in here I guess so in terms of textures there's not uh no real uh tutorial there you know you just download textures from bridge or from from quickel bridge or from the internet and you just texture the whole damn thing right um the only thing that you kind of want to do is you want to um make sure that the interior uh textures are Dynamic meaning some some of the Interior textures are Dynamic meaning that there's going to be areas that are going to be replaced by actors and I'm going to do that of course uh in this in this video um but a little bit later later down the line for now let's just check real quick if we haven't made any mistakes yeah of course the the camera is in the freaking bed and so on but that that seems fine and then we switch to Studio Studio is lovely that works really well we switch back to Interior yeah that's nice okay so now I think it's time for a time lapse of me just uh texturing this whole damn thing so let's let's do let's do a timel it's going to be a repetition of what I've already [Music] done [Music] [Music] [Music] okay we can continue with this so a few key points first one being if you're interested more in this Arc this whole situation I have two courses that are already on the channel just Google or search for AR with andreal engine 5 course and you'll you'll find them I'll leave a link to them Theos description as well um two things that I don't show in the architectural visualization courses that I did here were first one being I'm using a skylight uh Skylight right here to kind of color the the sky and I'm using exponential height fog with a specific in scattering color um to make the background bright white and the only thing with the fog is that its color is not just white no no no it's white to a high degree so if I were to search for fog here and I show you fog in scattering color this one is said to RGB values are at 100 rather than 111 meaning that it's 100 times brighter than just the color white because of this it can fight or it can battle battle it out with the lights that we have here right rectangular lights that are shining through the curtain material speaking of which I have created the curtain material I just downloaded the map from poly Haven I believe uh all of these textures and for that I had to create a new master material here that doesn't use metallic instead it uses specular and it uses the opacity map for transparency and for it to use opacity map properly here under blending mode when you don't have anything selected in in this uh material under blending mode we want it to use translucency gray transmittance right so that it's uh it has opacity information in it so that was uh those were the curtains I'm happy with how they look like I think they are pretty then in terms of this rock thing situation that is just a surface that we had that is displaced right now and you can see the displacement Happening Here of course the displacement you know does not have any information vertically uh which leaves us with these uh with that mess but to generally to displace an object you select it you go to instead of selection mode you go into modeling mode you need to go uh to the mesh and actually remesh it there we go either here or where's it under model no it's it's under mesh you remesh it to give it more polygons you saw me give it 50,000 polygons and you go to the form and choose this place right here um at that point for from this rock clip that I have downloaded from quickel bridge I have taken this o Rd texture o Rd stands for opacity reflection displacement or RDP rather I think it's opacity it seems like it's opacity so red green blue channels are coded into uh opacity reflection or roughness and displacement so for us uh I had to take out the blue channel the displacement tool here actually asks you which channel you want which is great but at the same time it didn't like me using virtual texture so I had to make a copy of this here and I had to right click and choose convert to regular texture and then it was happy and it worked out you saw it in the um time skip thing uh that I've done time lapse thing that I've done so now we have you know a little bit nicer material here let me go back to the selection mode now uh this is a little bit too green I feel like but actually no no let's let's keep it the way it is let's press play and see what other things we need to fix of course the camera position needs to be fixed four actually camera 2 is fine that that looks okay to be I like the Sheen and so on yeah that looks just fine to me uh camera 3 is horrible bad camera one is behind the curtains that needs to be fixed so let's work on the camera positions I will just fish out the rails camera one rail let's get it in here and the positioning of the camera is exactly as what we uh what we've been doing so far um sorry what we've been doing in the previous scene right uh we just select the camera we pin the view we get the rail we select the points and we position the points properly on our scene something like that and per perhaps uh the camera here it could be a little bit wider I it seems like it's it's a little bit too focused in in this case so current focal length for this camera I'll change to let's go for 30 mm uh that's a little bit too much let's go for 36 mm something like that and then this one right there scroll scroll scroll yeah that seems to be absolutely fine okay so camera one is ready to go camera 2 I was already happy with it so we I think we're chilling with camera 2 let me just move the rail a little bit lower um and maybe a little bit further out something like that I really need to pin the camera to view of this and and pin camera three I think this will be a pretty cool look mhm and then uh if this is one then o sorry um that point I need that point of the rail come on give give it to me that no that point there we go that point I want it to be kind of there I think that's going to give a nicer Outlook a little bit too much maybe yeah I think that's that's going to look nice and last one is oh my God this camera right here okay so let's let's look through it let's pin it in let's unpin that camera 3 does need to oops uh we move the rail not the camera so camera 3 does need to start from here definitely deeper in it looks through the glass so it can kind of go into the wall that's not a problem something like that move it around yeah that seems like it's going to do the trick and then for the camera itself I want it to go wider so instead of 60 again 35 or 36 yeah something like that that looks fine that looks good exploded H why is this not moving away oh we'll need to investigate what what's up with the leg was this always this way oh no oh no okay let let's investigate that uh if I select this and we increase this to one uh that works here so that means it's something in the event graph so for T1 T2 yep there we go explod percent here is used instead of the actual step two so I need to draw out the wire like that it's an ugly long wire which is bad but but it is what it is so step two was only triggering the motion of top one and top two here but it wasn't triggering the motion of these four now if I compile this and save this and press play Let's construct it or exploited there we go constructs perfectly yeah that that's what I want all right so we're good to go scene Studio seene interior nice the only problem is now um or rather last thing that we need to do is this requires the interior qualities to change together with it right so our um style one style two needs to also Drive the interior qualities to do that uh let's change that back to zero uh to do that the interior part of the Interior needs to be rebuilt into um what's what's what's what's a good word should be uh rebuilt into uh one object uh or one um God damn it entity the the the word is the the word is uh one actor right um and that actor should be able to change its materials according to um what kind of material is set for this um with that being said I'm not sure if that is necessary for for this particular course because you already know how to do it from the um T1 T2 right it's it's exactly the same procedure as what we've done here uh we create a new actor we give it two material changes events and we just give it two material sets for one and for the other right variation and then inside of our GUI here we just say that it's not where is it it's not going to be just the material one that is going to change um it's it's color but rather it's going to be both materials uh sorry it's not just going going to be uh T1 T2 that it's going to change its colors but also that new actor that we have created but the whole chain is just a copy of this as well as the copy of this right um so for that I don't think we uh we should do this because that just makes a video longer by just repeating the same thing over and over and over again right which incidentally makes it so that our um in scene like the interior scene is finished it's completed um I do want to do a few things here uh first thing being uh where is it I want a spotlight to shine on this area right here so that it catches the Shadows are being caught nicely uh so I'm going to create a new light spotlight I'm going to position it to 0000 0 so that it's easier to fish it out there we go bam move it in here something like that very hard to see with that billboard in the way um I guess that should be at zero get that in there there we go okay so something like that then the intensity of it needs to be much higher so let's do like 300 and then let's start messing around with different different kind of angles and so on to to to see um how we can make it just generally nicer so attenuation is how far it reaches it should be like at least 4 M right uh inner cone angle that's how where where the sharp light hits and outer cone angle that's where the soft light you know the gradient between the sharp and the soft uh then in terms of the rotation of this we want it to rotate towards our rocky rocky wall situation here and I believe that is kind of it this look good looks fine uh we need to dial in a few things and also in the example I had more U objects here more rocks here that I just downloaded from from uh quicksell Mega scans I guess I can show you how I would do that as well so in my um one second there we go so in my uh quicksell bridge I already have downloaded uh under 3D assets should be like uh Icelandic um how do I call it call It Rocky assembly formation rock formation ground if I were a rock what kind of rock would I be Rocky assembly clearly that's going to help no that does not um well crap Icelandic there we go this one Rocky ground I want this I think yeah that this one looks looks the best I think well this one also looks kind of good um or this oh no oh no okay let's get this one uh or actually let's get this one in this this one looks quite nice uh and I'm just going to download that Medium quality we don't really need it to be that intense in terms of of quality or that heavy also I can't afford to have a very heavy uh 3D model here due to recording um I I I still want to keep it at like 60 frames per second at least um so with that rock done I will right click it nanite enable nanite you know the the the typical the typical things that we need to change fallback Target relative error error zero apply the changes hm ask yourself the question why the hell is it black okay at least in neutral it it Shades properly so that's good like the quality here is is really poor but uh we are never going to be looking at it up close so that's that's fine back in here I'm going to add it in rotate it 90° scale it down apologies scale it down here move it in um and perhaps the scale should be a little bit larger something like that but a little bit more pushed in so actually the Z scale should be half of everything else W to move it move it in reposition get it up in there and so on right so so you just uh mess around with it until you you find like a nice um nice placement for it um something like that should do the trick then I can make a copy of it rotate it let's do something like that place it there move it in a little bit further right so your whole um kind of assembly of these these type of rocks is just um taking the asset and just copying it around until you you see some nice uh effect right this one let's say I want it to be a little bit more further out 0.25 then this area is sticking out so I need to push it in but then everything gets pushed in so I will maybe move it out all together like that yeah that that actually does not look that bad I will now lie about this light and I'll move it a little bit closer but rotate it a little bit more downwards like that and it should be like 200 300 is too much so that it hits that that particular point it's never going to show up here like like in these uh in these views but maybe you um you will be creating you know some different camera angle and then then it shows just wanted to point it out that uh you create interest through repetition of simplistic things and they don't really need to be that high of a resolution to work I completely forgot one thing we need to make the colors match what the hell of course we do so this is too Brown is too green um just selecting this object and going it into its material right here I can apply um tint color and for that I will need to see the object albo tint and what's opposite of green magenta so we can apply just a slight tint of magenta and you can already see that it's getting towards that that kind of brownish brownish color that that that we want right and then for this uh for these colors I can also zoom in here look at the material and here I will just drop down the albo saturation to 0.8 save that yeah that that seems to be much much better so now it's it's a little bit more brownish um yeah that that that's that's what I wanted to add all right so now it's time for final packaging yay finally uh with a bunch of settings I'm just opening up a few folders with a bunch of settings still left to be um adjusted we're not out of the wids yet but now at least we can see see the end of the you know we can see the Finish Line quite quite coming in quite soon um there are a few things that I still want to teach you first one being the how do you add sound to the menu right so when you click on something it makes a sound it's actually pretty simple let me create a new folder and call it sound or audio audio folder and here I'm just going to drag and drop in any um audio file that that uh has a WAV WAV file so audio wave file that I can find so I'm just really quickly skimming through I'm sorry for making wait I have a bunch of um effect files here and I'm just going to use um multimedia with plank flick what the hell is that let's see let's see that oh that's MP3 never mind we need WAV file so Apple Mouse click sure oh that's an MP3 again a electronic drum can we use that yeah sure I mean that that this is a little bit of an an annoying sound effect maybe there's a better one I'm just going to get a bunch of those in uh there's a lot of free ones that you can download from the internet there's a lot of expensive ones that you can download from the internet Jesus Christ that's not bad that's bad sure let let's use the poor this one um so we're going to be using this one I'm just is going to be let me drop down the volume a little bit more yeah should be fine so we'll be using this one every time we press a button so here in our um UI system we can just simply once the button for cam one is pressed we make sound no uh play sound play sound is it 2D I think it's 2D uh let me actually double check or play audio No it should be play sound and then we select the asset and we just drag and drop in the asset I'm sorry I'm I'm getting tired I guess uh so we just take this and we drag it in here let's see if that's going to work compile save press play camera one okay so then we just need to do this for every single one right so you just inject this play sound into every s in between every single one of the button presses not that big of a deal honestly um afterwards once we're done with the sounds I will also show you the postprocess volume that uh should be used in both levels but we're only going to use it for the um or actually maybe no we should use it for both levels that that that's going to be cleaner the post-process volume overwrites the exposure controls it overwrites uh a bunch of things really um you can overwrite a bunch of things in our case we will use it to control the um like special special effects such as vignetting and then so on so with this done now I can press play and now right and I can switch between different scenes and so on everything works great let's increase the quality dramatically so I'll go to my um initial level Furniture 222 save everything for for this level and wait for it to load in and here I'm going to create a post process volume so quickly add to the project volumes is it volumes I I guess it's effects visual effects postprocess volume right there W key move it up or rather let's just zero out the location of it move it up and just decrease the scale uh so that is a small little box first thing that you do um in this postprocess volume is you make it Unbound so that it affects the whole level rather than just the area inside of it Unbound infinite extent Unbound you tick mark that second thing that you want to do or not second thing but now we can go through all of the settings in the postprocess volume and see which ones are there that we actually would like to work with right so for example um Bloom I could make everything no sorry no we don't we don't deal with Bloom here everything has soft light so nothing will have a bloom but for instance the local exposure we can um the camera there it is the exposure of the camera we can force uh exposure compensation meaning we can force a brighter scene or a darker scene if we would would so choose I personally like the way the scene is right now so I will not be changing that here um in terms of lens flares I usually tend to decrease the intensity to like 2 0.3 uh just so that it's not so over the top because Unreal Engine likes to make lens flares over the top instead of in case of image effects vignetting intensity I do enjoy venting quite a bit you can see the darkening on the edges so I'll have it as 0 . 5 maybe something like that sharpening we don't do that here um then in terms of color grading there's so many things that you can change but I mostly just play around with a white balance until I see you know um temperature that kind of works in this case again we're using neutral white color light in a white color environment so the wide balance is not really necessary to change we will be changing it in the other level though um in terms of Shadows and so on that we don't need to change that um Global elimination uh you can choose to use Lumen for Global elimination it's already being used so you don't need to change it but uh in terms of the quality here um you are able to change um how well this whole thing is calculated so scen SC d detail you can increase that to like four or two uh depending on your Hardware lighting quality increase that to two finer gather quality also increase that to two so now Lumen is calculating much more accurately right um also for where is it no it's not here not here sorry give me a second it's under reflection there we go reflection also method Lumen quality as per usual two very hard to see any difference but let's do 0.25 right in terms of lumen Reflections right there and two you can see that that kind of grain in the top is almost not visible or maybe you don't even see it due to YouTube's compression trust me this helps helps if you want it better just increase it to four but this costs a lot so we keep it as two um reflection bounces you want more than one so we'll do like three reflection bounces you can see that immediately uh more light gets in here in in this area nothing else here translucency motion blur rate racing translucency priority nope nothing else to change here so hopefully this explains what postprocessing volume does let's create one for the our interior scene as well uh add here visual effects post process where is it there it is Bam Unbound I like to create created last uh because I tend to overdo post processing if I create it first so I tend to create these days the post process Volume last so that I don't mess with it too much um in this case for these views that we have here it's a little bit too let me just log this one in uh so that we can kind of check it from two angles um it's a little bit too yellow I feel like because the interior is too yellow right so what we want to do is we want to find uh first of all we want to select the postprocess volume and we want to find our temperature color grading temperature white balance and we just want to decrease the temperature ever so slightly I think 6,000 will do the trick right so this is before this is after before after I'm looking at this color and this color and I want it to be a little bit closer to White maybe 5,800 yeah something like that before after before after okay so that that is taken care taken care of then in terms of global elimination same thing we do SC detail up to two seene lighting quality up to two final gather quality up to two much more importantly under reflection quality up to two uh maximum reflection bounces up to like three or four uh four will will will do the trick um do I want to make this darker I don't really I I think the yeah the brightness values are fine so we don't really need to mess with it too much there's still a little bit of grain going on there but that that sound there's a little bit of grain going on there but besides that everything is fine right it it just works so we're we're happy with that all right what else is there we vetting the postprocess volume in this case I didn't Vette uh vet yes vignette intensity just give it a little bit of viting 0.55 maybe um just darkens the corners a little bit more so that your focus is on the center of the screen just a nice effect okay with this all of our settings are now finished when we're ready to actually publish our project you know to actually export it sweet so file save everything save all and go to platforms and now we're publishing just as an exf file that is going to be used um but that you can send to anyone uh so that they can open it this is not going to be the publishing for the internet that is going to be a little bit different but as an EXL file you go to platforms Windows uh either development or shipping doesn't matter I'll go for shipping and then you package the project it asks you where do you want to save it I'll save it to to desktop no I actually uh let's save it to furniture package and I'll just call it YouTube select it makes a nice sound and it starts packaging your project this takes the first time you package it it takes a long time right so it's going to go through all of the different things that you have in your scene is going to condense them see if there are any errors and so on and eventually it's going to package everything this uh might take up to an hour uh to do almost rendering right but once it's done then we will continue the video and I'll explain um everything from there on out we are done it took us 10 minutes to do which is considerably faster compared to the previous publish that we've done and now with um our YouTube product. XE ready let's let's take another look at it shall we works exactly as expected I believe yes changing the camera as well as the explode construct does trigger the nice sound now uh changing the Styles Works jumping into the interior scene works all of the cameras are stable and now we also let's change the view to here we also have the little x button here that we can press to turn off our app and for all intensive purposes we are done with the course I hope you enjoyed it with that being said there's also um one small addition the Arcane Mirage service I'm not sponsored by them they're not paying me to say this I just find that service to be quite useful it's basically where you can upload your files to be shown to the public on the internet so all of the heavy lifting is done on the server of course you need to pay for it so you create an account with them you uh register uh let's see your register I suggest that you register for the cheapest plan that they have which is $25 per month and for that you can host up to three projects with them uh having 350 tokens per month tokens are basically used as minutes at a server right so think of it that way so when a client looks at your project it's basically uh one token per minute for a week server two tokens per minute for a average server three tokens for a pretty powerful server right um right on the client side so you can have let's say for from a powerful server around 300 minutes of showing time per month per client if you need more then you can buy more tokens but I have a whole video about Arcane Mirage on my um on my channel I'll leave a link in the video uh to that video in the video description below if you're interested that's basically how it works right in in terms of project uh size up to 8 GB that is it's very hard to reach 8 gbt with the projects that we do I think ours right now is around 1 G gab let's see 1.4 still still pretty small currently arcan Mirage uses uh Linux based platform meaning that packaging for Linux is tricky but at a time of publishing this video uh they will probably have already moved to onto Windows based uh platform right meaning that the file that we have just published right here in the windows if you just simply zip it add to Archive zip up come on I can do it there we go if you simply create a zip file you can use that to actually create a new create your your project right so when you create a new project you would upload the zip file here and just to explain further uh let me cancel out of that and let me just show you the settings of this bad boy right here so as you can see I have this uploaded as a Linux type of a package it's exactly the same thing is what we done here um I have changed the my setup to use RTX a5000 so beef your graphics card I just want it to be as smooth as possible meaning that every time you click on the link in the video description below and you look at it for um a minute it costs me three tokens don't look at it too much please but you get you get the idea so I'm I'm I'm very excited that every single one of you who's who's been following this course is now going to be able to upload your projects um your windows packaged project projects into Arcane Mirage and share them with the public there's also this is an important note which I find to be quite quite necessary to State when you share your project apologies when you click these three dots you can embed your project meaning you can get this uh script or iframe window and you can add it I believe iframe I frame should work with just a simple hre sorry HTML right uh let me just quickly test one thing HTML HTML end and then we need a body right body body end and then we just add iframe will this work I think it should so testing website um all files dot HTML save that um let's see if opening up this one now there's probably a little bit more more to it than that to to make this work apologies but either way you're able to um embed your files right here right uh through this this app onto your own website I find that to be quite quite useful as well and I'll be using it quite a bit with that being said uh let's actually end on the note of us actually looking at it on the on the server so with that being said of course I haven't touched upon too many uh like i' I've skipped over many things uh and even with that we're at like 7 hours uh which is crazy but I hope that you've learned a lot of new things and that you will be using this this knowledge there we go using this knowledge um in your own projects right not just kind of repeating the one that that we've done uh together and uh if you are going to be using this please share it in the in the comments below I honestly I really really want to want to see it I want to I want to see what you come up with right so share show show it off I'll see you in the next one later oh leave a like bye [Music] [Music] [Music] [Music] [Music]
Info
Channel: Gediminas Kirdeikis
Views: 99,445
Rating: undefined out of 5
Keywords: architeture, design, arch, architec, proces, how, client, clients, rhino, family, house, lithuania, company, very, good, architecture, vray, d5render, render, real time, free, for free, alternative, rtx, gpu, bim, revit, archicad, section, dynamic, drawing, visualarq, visualark, visual, arq, v ray, v-ray, v-ray66, skechup, material, rhinoinsiderevit, rhinoinside, .insiderevit, zaha, hadid, beam, block, ibeam, grasshopper, gh, adaptive, shecule, schedule, cinematic, d5, d5 render, course, tut, ue5, unreal engine, archviz, industrial, product
Id: arqkJEdLmCs
Channel Id: undefined
Length: 425min 50sec (25550 seconds)
Published: Sat Dec 02 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.