100 UE4 Tips and Tricks | Unreal Fest Europe 2019 | Unreal Engine

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
>>Sjoerd De Jong: Hi, I guess. Apparently we ended up with almost the opening talk of the keynote, in the biggest room. This was meant to be a light break from all the talks, maybe, at the end of the day, and now we have the opening talk. No pressure. We have counted the number of seats while waiting here, it is 500, so we have 500 people in front of us. No pressure. What we are going to do is, we have got our 100 Unreal Engine 4 Tips and Tricks. This is by the European Evangelism Team, so this is not just about tips, it is also a way for us to introduce ourselves. I will get back to that in a few minutes. But to introduce us as that new Evangelism team for the Unreal Engine in Europe. In any case, it is 100 Unreal Engine 4 Tips and Tricks. The idea here is to give you a couple dozen, fairly random, mostly art and content focused tips and tricks. Some of them are a hundred percent useless, okay? But they will be fun, I hope. Some of them are really good things you can do as a prank while your colleague is out for lunch. Probably should not check it in, but you could. Other things though, are really useful. Some of them are, I think, personally fairly straight-forward and simple, but other stuff is stuff I did not know either. In fact, we were rehearsing this last night until very late, which is not a fun part, because we needed everyone to be on location together as a group to properly rehearse. We did a proper rehearsal run last night. While rehearsing, we had several cases of one of us saying, "Oh, I did not know you could do that!" Okay? Even we learn from it. As you might notice, this will be a completely different setup than the keynote, or many of the other talks. This is really light-hearted, this is informal. This is mean to be fun. We might make a mistake, and we will go with the flow. It is meant to be an easy way into the next two days of pretty hardcore learning and technical details, okay? That is what you have got to expect here. Good? Anyhow, it is not actually 100 tips, it is actually 69, okay? [Laughter] Actually, we had a really, really long title first. The entire slide was the title. Then we had a next slide with a really long abbreviation, so that was the mood. But because we became talk number one after the keynote, we thought, maybe we should be a little bit more formal. Also, you might not be able to read it, but here it says it has cats. There are actually cats on the slides, okay? A few. Good? Good. But to get back to the Evangelism team-- I have been doing evangelism for the Unreal Engine for the past four or five years across Europe. Many of you might have seen me at different events. I might have visited your studio over the last few years. We have grown the team now. We have gone from just me covering the continent, which is a little bit tricky, to a team. We actually have the full team here. I am Sjoerd De Jong. Again, you might have seen me before. I am leading the team now, and I am still handling Northern Europe as well. Then we have got Andreas. >>Andreas: Hi. My name is Andreas. I have been in the industry for 20 years, mainly making games in a more creative game design, level design role. I was with Ubisoft several years. I shipped my last commercial game with Unreal, it was <i>A Long Journey Home</i>, and I cover Western Europe. >> Who is next? >> Hi, I am Krzysztof, and my main focus is programming. It is like anything from tools, graphics, also shaders, optimizations. I am based in Warsaw, Poland, and I am responsible for Eastern Europe, and also Israel, do not forget Israel. [Audience member cheering] Hey! Applause for Israel! [Laughter] If you are from the region hit me with anything, I am your man. >> Hi, I am Mario, and I am responsible for Southern Europe, and have been a gameplay programmer for quite a while, and also from time to time a technical artist. >> Hi. I am Joseph. I am responsible for the Middle East, North Africa, and Turkey. I am trying to grow the game Dev scene there, basically. I am based in Beirut, Lebanon, and I used to work as a technical designer. It was more technical than a designer, but, yeah. [Laughter] >> Did you also do design and technical? Sorry. >>Sjoerd: Okay, good. Cat, yeah? Good? Good. I hope this will get you into the mood for Unreal Fest. Anyway, let us get started. This is tip number one: It is Paste Here. it is a really simple thing, but I do not think anyone is aware of the shortcut and the implication of being able to set the shortcut, okay? Here is a very, very basic test Level, we are going to do some random stuff here. What I can do, for example, I have a cube. Amazing, right? I can go to the Editor Preferences, and I can do the Paste Here shortcut, because Paste Here is just in the right-click menu, right? You can do Paste Here. It is a little bit annoying, there is no shortcut for it assigned by default. But if you look for Paste Here, it says Paste Here, I am going to bind it to this, and it says yeah, it is already overridden. Let's ignore that. Let us close that. As I copied the cube, I have just done a control-C, if I now press the key— It is backslash what I did— Press backslash, where I click I now get it. In fact, every time I press backslash, where I have clicked, I get it. I click somewhere, I press backslash. Click, backslash, click, backslash. Shit, I probably should have undone that, because the next people have to continue with this. You can use this to very quickly move things. For example, if you have to move this thing to the other side of the Level, instead of doing this, right, that is a little bit annoying, you could just cut it, go to the other side of the Level, maybe even with camera shortcuts, click somewhere there, and you have got it exactly where you have clicked. You can also quickly build a tower if you feel like building towers, okay, because it keeps going. I think it is a very simple little thing that is fun to do, and helps with Level building workflow. Good? The way this is going to work, by the way, each of us have about four or five tips, we switch. Four or five tips, we switch. That is rough setup, okay? Pixel Depth Offset in the Material Editor. It is not really a tip, I mean, it is a feature. But it is one I personally never use it in production. I just want to highlight what it does. Pixel Depth Offset— We have got that over here for these cobbles— If you look in the Material, you can see we are using the Pixel Depth Offset input. That is basically just an alpha map that comes from here that is multiplied by 1, so it is active. As you now move this down, you can see it actually offsets some of the Pixels. So the alpha map identifies which pixels to offset, and those pixels will, as it implies, they are offset into the depth, so they will appear to be rendering behind some other pixel in the background that now comes to the front. In other words, the floor up here is to be rendering above some of the deeper parts of the Material here. But this is really just a plane. See, it is literally just a plane, it is completely fake. You see, it is even floating above the ground. You can use this for stuff like this, with the parallax effects on the pebbles. The trees in the distance, for example, you have got a plane with a bunch of trees, instead of just having trees that are obviously just on a flat plane cutting into the ground. You can make it look as if some of the trees are a little bit in the distance. You can do it for hair strands on a face— That kind of stuff. It is not commonly used, but it is a nice little thing as well. V for Vertex Snap— I think it is the same as in Maya, I forgot Maya after all these decades, but I think it is the same shortcut as Maya. Let's take these two cubes we have over here that we placed before. If you move something and you press and hold V, you can see already— and this might be a little hard to see, because the vertices are quite small. Let me get this close to the other cube— See, it snaps. You can see the small blue points appearing— Those are the vertices. You can actually do vertex snapping. The downside to that is that it pretty much only works on the pivot point, so my next slide, which is slide number four— Tip number four: is, you can temporarily move the pivot point very quickly with alt + middle mouse button. I think this mouse, by the way, does not like middle mouse button, which I have noticed before, which is a bit of an issue. That is an interesting one. Hold on— No. I do not know what is wrong with this computer. See, this is the first problem. What could possibly go wrong, right? If you have a normal computer, and you press alt + middle mouse button, you can basically just click and drag the pivot point, and then use it in conjunction with the vertex snapping, could allow you to control that a little bit better. I will hand over to Krzysztof. >>Krzysztof: Hi. You can set custom categories for your project dialog in your Editor, so if you launch your Editor, you can have this project under Unreal Fest, for example. To do it, you just simply modify your project file and set anything to the category field. That is it. Does not work for a the Launcher, unfortunately. You could use advanced search in the Content Browser. There is a whole doc that describes how it works, but, for example, let's say I want to have control over all of the Meshes that have vertex count lower than 100. I type "vertices less than 100", and I have all the Meshes. But I can also say, but I also want to see things like all the sounds. I type "sound", and I have all the Meshes or sounds in one screen. You can also later save this search as a Collection. So for example, I'll call collection, and this is weird stuff. >>Andreas: You did not show that yesterday. I did not know that. >>Krzysztof: I am sorry. [Laughter] The next tip is about sharing Collections. You can share the Collection, okay? You can have some set up for the whole team. And there are two type of shared Collections; one is shared and the other is private. The private is visible for you, but it is also on the repository. >>Sjoerd: Can you quickly copy-paste the search string into Notepad or something with a bigger font? >>Krzysztof: Yeah, just to view it. This is the search string. Yeah, let's override your project file. All the binary operations work, basically, on that. The things I was typing, like this type, you can see it. Type is to the right, this is sound, anything that has sound. Vertices are also listed here. We can use anything from this list. Okay. You can use the inputs as a calculator. For example, I want to scale this cube times 2, so we can just multiply by 2. But you can also, I do not know, put it to the power of 4. Now we are inside, right? Just using simple operators, you can make it worse. I mean, I just deleted this guy, or did I? No. Yeah, let us just scale it down, whatever. Bang. Even less. Yeah. Okay, you can also filter output log. If you have your output log, you can just write some task thing, whatever, here. But you can also use the categories, which is important if you have your custom categories and you want to just view anything that is related to Blueprints, or to your specific category. Now we have only things in Blueprint log. Just revert it, and now, Mario. >>Mario: Tip number 10: You can color code your folders. It is already done here, but it is very easy to set color to the folder so you can make it prettier, or easier to find. For example, you can have your own coding, so all green folders would be handled by artists, and things like that. Next tip, tip 11: You can modify thumbnails in the Content Browser. This is going to be a bit tricky. I am going to clean my search, and then go into Filter, Static Meshes. For example, let's say I do not like this thumbnail. I am going to enlarge it so you can see it better, like this one. I can turn into Edit mode, and for example, zoom in and rotate. Okay, now I am happy with it, done editing, and that is all. You can edit any thumbnail that you have. Tip number 12: You can change view easily from using control + middle mouse, and dragging mouse. Middle mouse does not work? >>Sjoerd: Try again. >>Mario: Nope, it doesn't. >>Audience: Maybe it is not on this call, maybe it is somewhere on a different— >>Sjoerd: It is a strange mouse, with 50 million buttons. >>Mario: Yeah, like, a lot of buttons, okay. Let us try this one, no. >>Sjoerd: Trust us. If you have a normal mouse and you click the wheel, you will get a line that appears in the Viewport, so you can very quickly just hold alt, drag, you see a line, and the direction that you drag in is basically shortcut for switching to side view, front view, top, et cetera. It is very quick, drag, drag, drag, drag. It is kind of like Maya as well, where you drag the line. >>Mario: Whoa, what happened? For example, if you drag to the app, it will change to the top view. Next tip, it is also with the middle mouse button. You can measure distance in orthographic view. If you come to the top, for example, and you want to know what is the size of this square? You can middle + drag, and it will show you the distance, like you can see here. >>Sjoerd: You will see a line with a number above it. >>Mario: Yes. >>Sjoerd: Just picture it. >>Mario: And a cat. [Laughter] Now, I will hand over to Joseph. >>Joseph: Okay. So tip number 14: You can actually have up to four Content Browsers. Why is this useful? Well, let's just see an example. Basically, you selected this Asset, like the chair over here, and you want to check out the Material of this Asset in the scene. I can double click, and it is opened right here. The thing is, if I click on Browse, it is going to deselect the chair. I can simply lock it, and now when I hit Browse, just going to open another Content Browser. You can have up to four, so you just have to go to Window and go to Content Browsers here, and have a third one. It is sometimes useful if you want to work on the scene and you have different folders, different Assets. Anyway, I am just going to close them now, and reset. Great. Okay, tip number 15: You can also have up to four Detail panels. This is most useful if you want to compare two Assets, so let us just go back to this cube, and I am just going to lock it. Now I am just going to open a second one, go into Detail Panel, and open a second one, and I am going to put it next to this one so I can have a small comparison. Great. Okay. If I copy this Asset next to it, it can have different location, different scale. You can simply see the two location over here. You can copy it, which is basically the next tip, actually. Tip number 16: You can copy any property. Basically I can copy the Mesh. This cube, I want it to be actually this Plane. Here we go— Copy, and then I can replace it over here by hitting Paste. I am going to Undo. It is not just properties here, but even variables can be copied. Now, how is data copied? Tip 17: Everything in the Engine is actually copied as text. Even this property, the location that I just copied, if I open the Notepad, it is actually just simple text. That way you can actually have history of your clipboard. I can later just copy this again and use it later. I can do the same for Objects as well. If I copy this cube, I can also insert it here. Great. Also, so what if I want to add it to multiple Objects at the same time? A simple way would be to actually use the Property Matrix. I am just going to select multiple Static Meshes, right click, go to Asset Actions, and then Bulk Edit Via Property Matrix. I want to disable the collision. I can look for collision, and now see the pin over here? If I pin it, I can actually see the value for each Asset, and I can change it also. Now I just disabled collision for multiple Assets. Here we go. Great. >>Andreas: Our biggest fear in making this presentation was, the project is getting messier and messier. If someone— That is the reason why we are sitting there and a bit nervous— If someone does not unlock something, or does not get rid of his search— Ooh, this mouse is really— Wow. You know, you can fix it and un-fix it here. That is cool. Okay. What we actually used in our last— I'll get rid of this— Is, you can have a color picker and you can— Where is it, Set Color? When you set the color, you can save those colors. I can make something like a good list of colors I want to use, and saying, for example, we did this for our Interface. We had four colors that were used in the Interface, and we share that. You can even have different themes, so I can name the theme and say, this is my super cool— Oh, this keyboard is also not mine. This is just "super cool," I won't type more on this. Okay. So you have those, which is quite nice. Next tip, number 20: You can drag and drop to reorder Arrays. Now I have to find my strange cube. Where is it? Here. When I have Arrays in the thing, then I can just move them around. I can just drag them and move them up, like this. I can reorder Arrays, which can be really, really helpful, especially when you started making your game, and then the Arrays are growing, and then you have to reorder them, or whatever. You can do this with every Array in the game, and the Editor. One thing that is also really helpful is to search in all Blueprints. If I open up this Blueprint here, you can control + shift + F, and then you can search in all Blueprints, like, for example, you always wanted to know where begin— Oh, this is not a German keyboard? They are always making fun of me. Any idea why this is not working? I know, that is— Okay, normally, stuff should show up, you know? >>Sjoerd: That is what you have when you— I mean, first thing I did when I got into Unreal is, I bought a keyboard, it is a QWERTY American keyboard. >>Andreas: I think we go to the next tip, because normally, it should show up, and I have no idea why it is not. We use this extensively, so I know it is working, it should. Tip 22: You can grab Blueprint Connections with Control. What you can do, actually, if you wire your stuff up like this here and you want to change it, you can just hold control while reconnecting, instead of breaking it completely. Instead of doing right click and break, you can use alt, and then you can really fast rewire things like that. Okay, and tip 23: You can also drag wires to an input nodes. For example, when I have this string and I want to have an input node, I can put it here, and it directly adds it to an input or an output node. Okay, and then we have Sjoerd again. >>Sjoerd: Let me just really quickly try to Blueprint Search. >>Andreas: It is strange. >>Sjoerd: I just want to try it out. Yes. [Laughter] [Applause] That was not scripted. This is all random. >>Andreas: That's why he is lead. >>Sjoerd: Yes. Well, I can type. I can use keyboards. You also have to press enter, I think you might not have pressed enter, I do not know. Anyway, it is nice to do a full search, and everything across Blueprints, very easily. You know, the middle mouse button as well, you want to see the really cool thing? I am trying to press the middle mouse button on the tab to close the window. Look at what happens here -- it is actually typing "333" when I press the middle mouse button. Okay? Good. Good. Very good. If you are more technically you might have— >>Andreas: You can rebind three to middle mouse button. >>Sjoerd: Okay, you can do that. >>Andreas: So this is a good tip, tip 24.1. >>Sjoerd: If you are more technically inclined, you probably already know this one, but there is an Engine Association in the project file, right? It says this— Now, by default, it would say simply "4.22" or whatever version you are using, and that is it, which means it uses 4.22. But if you have a custom Engine build, that does not help you, because you are not using normal 4.22. So what you can do then is, you can have that replaced with the unique ID of that Engine installed, which is that whole string there, which resides in the registry in Software\Epic Games\Unreal Engine\Builds, you can see that one, which is different from that, I am aware. This is just an example. But that thing there is bound to this install. That is, for example, what we do with Fortnite to ensure that if you click the Fortnite Project, it takes the exact right version of the Engine, the one that it is bound to. Okay? So that is a fun little one as well. Twenty-five— Here we are getting more and more into some of the weirder stuff, or the stuff I did not know. I did not know this until last week, and then I was looking for tips, and I saw them typing random stuff in the console in the Editor, and I figured out, cool, this is great! I learned something. There are different grids. NewLeverGrid 1. If you go to the Editor, and you type, "newlevelgrid." There are 3 different grids. That might be hard for you to read, but r.editor.newlevelgrid. If you do 1— 2 is the default— If you switch to 1, get this big, red grid. I am not sure why you would want to have it, but I assume at some point you might want to have it. For my previous game, we had this at 0, so where the grid is, that is the water level. That is the sea level. Having a strong, red grid, that might have helped. Grid 0 is this. I do not know what you want to do with that. 2 is the default, which is not visible from this distance, okay? But not only that, so tip 26: Grids are actually just Materials, so you can modify the Material. In this case, it is something rather strange by having this weird green smiley thing there, or whatever it is. But you could do that. In fact, you could take that rather stupid example and do it more serious by taking the floor plan of your level, for example, and temporarily putting the floor plan of your level on the grid. Now you know where you have drawn the walls, et cetera. You do this by going into the Engine files— I am not going to save this, I hope— Level Grid Material 2, be sure I remember that. Engine is not enabled here, so Engine Content somewhere, Engine Content, Level Grid. Level Grid, Material 2. >> Clear the filters. >>Sjoerd: Oh, sorry, yes. Sorry. That is what happens when people do not unclear their filters, right? Anyhow, it is just a Material. You modify this, you modify the grid. This thing here is just a scale. So you respect this number. You can even make it respect scale of the grid as well. That is it. Good. Twenty-seven— Tonemapper.Sharpen. I think a lot of people might have tried this already. I think it is a very fun one. I always set this in a project, even if it is just 0.25 intensity, or so. But what it does is, it, as it implies, it sharpens the stream, right? So Tonemapper > Sharpen. I am going to overdo as factor 10, you can see you get this. It gets very, very sharp. You can probably even do it even more. Oh no, that is the maximum. But this is really, really nice. If you do it on a little amount, like 0.25 or so, you get a little bit of sharpening. It also works if you downscale the resolution, and then you use sharpening to re-compensate for that. It runs a little bit better. It is low resolution. But it does not look as blurry as it normally would have, okay? That is another thing you can do there. Good. There is also a thing that I also was not aware of until about two weeks ago, when we were preparing this. There is something called a Spline Mesh Actor. I knew there were splines in the Editor, and you could make a Blueprint, put a spline in there, and then attach something to it, and have it resolve that, or whatever. But there is an actual Actor called a "Spline Mesh Actor." If you just look here, there is a Spline Mesh Actor, which is that thing over here we have placed already. That gives you, immediately, without components, an entry to enter the Mesh. Here is a cube, and it gives you a spline, and then you can basically skew that thing, or otherwise transform it. I did not know that. Apparently, you can do that. It seems to respect the collision as well, so it seems to work pretty decently. Good. Cat. Okay? Next person, I think. >>Krzysztof: You can quickly find things with control + B. Oh yes, thank you! I am going to show you two more tips, I guess, if it works. It works! Maybe quickly— Yay! Okay, so let us go back for a second. Control + middle mouse button. You put it to the top, and it is top view. Down is a bottom view, left, right— You can go back to the perspective by just doing it across the screen. One more, if we are in the top view, or whichever, orthographic view, you can just press the mouse button, middle mouse button, and it measures some distances. Yep. Let's make it go back, clear the search, yes. Okay, again, control + B. You can do it from anywhere. For example, you are in this Blueprint, you want to do something with the file, but you have no idea where it is, and you do not really want to search through someone else's, I do not know, folder hierarchy, you just control-B, and you have it already. I can now rename it, whatever. I can do the same with the Material. I just load the search, oh yeah, I can check that it is in Engine Content. I want to modify it. Whatever I want to do, I can quickly— Funny thing, with Property, Material Matrix Editor, if you hit control + B in it, it will select all the Assets that are selected in this Editor. This is important, not well-known, surprisingly, but control + P, you can just search for something. I will search for "Main", and I have found main Material. >>Sjoerd: There was a joke we had last night, where we had no idea what to type. We typed "main" and we get that. That seems like this, and looked quite nice. >>Krzysztof: But you can do it from wherever you are. You were looking for your player Character, well, we have some players, but not the player Character. Yeah, you can just open it with enter. But also funny thing, you can just— let us go back to the top— Control + P, if I search for something, I can also move it to some other place, copy it, or open. You can use translucent Materials for post-processing effects, like for localized post-processing effects, because they have access to the G-Buffer. For example, like we can see, this nice post-process effect here. In fact, if I come in, then like nothing is being processed, but here, everything that is behind the sphere will be visible just with AO, just because you can see even those things, just because we used Scene Texture Ambient Occlusion. You can change this to some other things as well. Not post-process input, but everything that is in G-Buffer is accessible. You can change the title bar color for some different purposes. You can make it look nicer, or you can distinguish Engine builds using that. You go to Editor Preferences, the very first window here, the very first option here is Appearance. This is what is interesting for us, we just change the tint, and we have it red or blue or green. Or back to the normal. >>Sjoerd: I personally use that one a lot, because sometimes I have different version of the same project open, or different builds, or whatever. It gets really, really confusing with all the windows to remember, which one am I actually working on? Which one should I definitely not touch, okay? You can recolor. >>Krzysztof: Just for LOLZ, you can do more. You can set it for a Custom Material. So we have this Material here. >>Sjoerd: This is part of the category, what do you do with your colleagues when they are out for lunch? >>Krzysztof: You can also set your child windows to be the other Material. Child windows are everything that is not the main window. It is hard to undock it, but I will eventually. Yay. [Laughter] Yeah, and funny thing again, when I do not move my mouse, or have a Viewport in my view, it is not moving. But now I move my mouse, it is animating. If I have a Viewport and I need to move my mouse, just because the slate is updating or not. Okay, let us clear this quickly. Or maybe leave it. No. Mario? >>Mario: Tip number 34: Using the end key, we can drop Objects. For example, if I go to this cube again, and I say it is here, and I want it to drop to the floor, you just press end, and it will do that like that. It will consider collision and pivot. Tip number 35: This will shed some light into our shades of our knowledge— just press L and click, and it will create a light for us in the Editor. >>Sjoerd: If you want some history? >>Mario: Yes, please. >>Sjoerd: Because I would like to add a history to it, in Unreal Engine 1, in Unreal Editor 1, the interface was not that well developed, so there was no easy way of adding a light. This was a shortcut for adding light in Unreal Engine 1, and it still survives until today. >>Mario: Yep. Tip 36: We can drag and drop a Level from the Content Browser to the Levels tab. Window > Levels. Am I allowed to use this map? >> This map, yes. >>Sjoerd: You already have it, so delete it. >>Mario: Yes. Okay. If I delete it, this never happened. If I drag and drop, we will be stream, and it will be the current new Level. Tip number 37 is that we can drag from the Level reference to a Level Blueprint. For example, if we have— we are in the Level Blueprint and we are here, and we want a reference to this map, we just drag and drop and we will have it in a Blueprint. This also extends to any Actor. This is the tip number 38: If we select an Actor from the World Outliner and we want to have a reference to it, just drag and drop. I think that is the same. >>Joseph: Tip number 39: You can keep the simulation change and it lets you simulate physics, et cetera, and then bake the changes. I am just going to reopen the presentation. Great. Anyway, so basically, if you want to drop items in the scene but you want to create this random variation, for example, like here, you can manually just drag every box and rotate it and make sure it does not hit the ground, or you can just simulate physics. I am just going to select those Objects here— One second. Now that I have the Objects selected, just have to Enable Simulate Physics here, and when I hit Simulate— Okay. When you hit the K key, and I hit stop, you just save the result of that simulation. Now we have the Objects inside of the scene. >>Sjoerd: If you press K without the noise running, it saves the physics state and saves the actual Mesh. Then you can turn off the physics on those Meshes again. >>Joseph: Right. >>Andreas: Just to be sure, you do not need sound for it. Okay? It works without sound. >>Joseph: Yes. We actually practiced this presentation without sound, so maybe a good idea would be to turn it off. Great. Tip number 40: Well, this is a nice view of the rocks, so I want to save it. I can just hit control + 1, and usually in RPG games, for example, you have fixed views from different angles, so maybe you want a top view as well. You can go here and hit control + 2. What I just saved was, I saved them as a bookmark for their location. Now if I hit 1 and 2 on the keyboard, I have saved views, basically. You can access them from the menu as well. >>Andreas: This is actually a funny one. I did not know what it was in, but I was using it, because I come from RTS background, so I was so used to group stuff, so it was really funny to see it was working out of the box. >>Joseph: Okay. Tip number 41: You can actually change the speed. If I want to go to that terrain and I went there, it is really fast. What if I want to slow down as I move down, as I get close to it? I can actually scroll the mouse at the same time, and I am moving slower, and then moving faster, instead of actually manually just going here to this menu and changing the speed on the slider. Tip number 42: You can actually temporarily change the field of view. To do that, all you have to do is hold the right mouse button and the C or the Z key. This is basically a tip that I never used, on purpose. Basically, if you had the C, you are zooming in, and you can actually, for example— This is more useful in a game, if you want to take a screenshot where you want to show more Objects on the scene, so you can zoom out, and when you let go of that mouse, you are back to the original position. >>Sjoerd: I always use this. Every screen shot that you have seen from me is me pressing num pad 1 or 3, which is the alternative buttons to have a slightly larger field of view, taking a slightly more majestic picture. >>Joseph: Also, if you are ever moving in the Viewport and suddenly it does this, well, you know which key you accidentally hit. Great. Great, now you can set up user-defined grid and snapping options. This is tip number 43. If you go to Edit and Editor Preference, I am just going to look for "grid size." Now you have access to all of the grid units you have for rotation and scale and movement. Usually it snaps between 1 to 1000, maybe you want to have a different type of value like 256. You can see here now, dynamically added 256, and if I move an Object, it is snapping 256 units at a time. Also, I am going to undo this. Great. >>Krzysztof: Wait! The snapping is zero now. >>Joseph: What? Okay. Now for Andreas. >>Andreas: Okay, before I do this, I go here, and set the snapping to something meaningful instead of 0. It was really funny. Yesterday evening, it gets worse and worse. We have 60 tips, and now we are in the area, and we are pretty clean right now. We are really, really good. We are cleaning up. Yesterday it was a mess. Okay, who of you is older than 35? Come on! I want to see. So you see we are getting older, and for that reason, there is a really nice thing. We use it actually for presentation. You can zoom in here, and when you hit control, you can go more in. It is important, you know? Okay, but it is really here for presentation, for example. Or sometimes, I do not know, if you really want to see the back. >>Sjoerd: He is the senior one in the team. >>Andreas: Wow, thanks. Tip 45: Oh, actually, it was— We should have made that 43. It would have been my age. I could have made another joke about that. Okay, 45. Covert any getter to Validated Getter. That was actually the reason yesterday where everybody laughed. I did not know that, to be honest. We have this, and normally what you do is, like, is validate, and then you do this, and then you continue working with that. But what you actually can do is, you can make a right click, and then Convert to a Valid Get, and then you would directly have that. That was the moment where I said, "Oh, wow! That would have saved me some spaghetti code," so this is good. Okay. We are at 46. There are some shortcuts in the Blueprints you can use, for example, with B you can make a branch, which is kind of nice. But what you also can do is, you can go in the Settings in your file, and you can find your own notes of the stuff you are maybe using most. For example, we did the Quest System, and we had a lot of stuff that we are losing, a lot of the Quest System, so we could define that there. That is really nice. We are up to 47. You can use Promote to Variable to easily— You can select that, and you would promote, and then do not touch anything, that is what I always do wrong, because it is directly highlighted, and you can change it to a meaningful name. Yeah. You can write that wrong, and then it is even more funny. I have got to take off that. When you have, for example, local function— Let's do this again. You can even say if you want to have it local variable. Then 48, the really weird stuff. Here is Sjoerd again. >>Sjoerd: I love this one. It is, again, this thing you can do to your colleague, or what you could do is, you can make a random Blueprint somewhere in the Project, every 1000 jump, only ever 1000 jump you execute this command. It switches the Editor to wireframe mode, no one will have a clue why. Okay? The batching one is fun, too. If, for example, slates show wireframe in the Engine. Also, I think this is really good for a job test, but people do not seem to appreciate me saying that, I do not know really why. I think wireframe is easier to look for. Slate.ShowWireframe 1. Hell, yeah. That should be a job test. You can build a game like that? You are good. Okay? The other one— Now you have to make sure you know what you are typing, because you have no idea what you are doing anymore— The other one is Show Batching, I think, which is also a very fun one, because it does that. It even changes the color, depending on what you are highlighting. These are different batching. It is really, really good. Now again, you have to make sure you know what you are typing to get it back to 0. Okay? Good. This is completely useless, I am just saying it could be fun. That was 48. 49, which is actually very useful, is a very visual thing. You can do hard blending on landscapes between the layers we have got over here. Instead of having this soft kind of blend, you can see it is a little bit soft there. But you can make it respect an alpha Texture in there to do just kind of blending. Essentially it is done the normal way, you paint it normal way. It is kind of sensitive with the tool strength, so experiment with a relatively low strength that you paint with. But other than that, it is a simple Material setting is all that you are using this for. In here, you can see in the layer blends there is a setting here called Blend Type. We have set that to Height Blends, and then that is basically it, because then it will blend using that. Let's see what else we have. We have got 50. I saw this float by on Twitter, I think, about a year and a half ago, and then I completely forgot about it. Then I remembered, and then I could not find Tweet back, and then I improvise. I assume that this is what I saw on Twitter, or it is me improvising. Either way, it ended up being cool, so we used it. Okay? You can make simple spiral animations. We have got a few more nice Material animation ones coming in later. But for example, this one over here is done like that. Just fun to look at these animated effects, I think. What we did over here, it is a very simple setup. It is essentially just this, right? You have got a rotator, it is just this Lerp thing, and this sphere mass is essentially just blends between non-rotating, rotating, and you just fade the two over, and that is it. It is a simple effect, but it looks cool. 51: You have got Custom UVs, which has been in the Engine for, I think, a year and a half, or something like that. It is an optimization feature. It is not that super commonly known, so I just wanted to place a little bit of emphasis on what it actually is, and how it could be helpful. In this Material over here, you can see, we are using Customized UVs. There is a single Customized UVs input here, because in the properties on the left we set, there should be one input. See, if I type 2 inputs here, I get another one, right? That is how it extends. What you are doing, basically, is instead of placing the panner, or, whatever UV modification operation you want to do, instead of putting it here on the UVs, you put it to Customize UVs, and you kind of convert this into the vertex shader. This work is now handled by the vertex shader, and you are kind of offloading the cost from the pixel shader. So it is a way of distributing cost away from the pixel shader. There is also a vertex interpolator, which is part of this as well. It converts it as well. 52: It is related to this, because that little setup we have got in that Material with a Panner + Noise. I did not know where was either, I started experimenting with it. Got a really strange hypnotic effect, and was really excited about that, okay? Apparently, which I never realized you can do, Panner > Add Noise, and it only works if the Panner has a speed set, which in this example it does not. I will switch to the other one in a second. Speed Y has to not be 0. If you have got that, you get really weird stuff. So, for example, get that. This is very symmetrical, I mean it is very round. You can make it more noisy, more natural looking as well. You simply change the settings of the Noise, either levels or the type of noise, and you get a strange effect. I was going to do a joke about hypnotizing everyone, and then saying something politically incorrect, but maybe I should not. But anyway. I think it really nice to make slime, for example, that is one of the serious effects we had, some kind of slimy, bubbly thing where it kind of belches out, and stuff like that. Fire, explosions where it is kind of also like it is growing continuously. All of that seems very doable with this. Also, I just want to highlight this one too, this is a serious one. BC7 Compression, not perhaps that well-known. By default in the Engine, you can see the left image⁠— It might be hard to see in the projector, but the left image is uncompressed, so it is a gradient uncompressed. It is 192 kilobyte, obviously looks smooth, it is uncompressed. The middle one is 32 kilobyte, it's standard BC1 or DXT1 compression. It is very noisy. Again, it might be hard to see for you, but it is really bad quality. This, however, is BC7, which is 64 kilobytes. So it is twice the size, but still a lot less than the original, and it is pretty much 100 percent lossless. In order to enable that, you would have to go to the Project Settings, and disable Shader Model 4. If you have done that, then in any Texture you have got, you can enable compression BC7. Cat. >>Krzysztof: Okay. This is also not that well-known, but you can actually very quickly optimize your particles in terms of overdraw, so eliminate as much overdraw as possible by using particle cutouts. We have this kind of simple setup here. Compiling shaders. Okay, so we have this. Now I can show wireframe, and you can see that there are those cutouts. But in general, normally you would not have this set. It will be just a cube and you have a lot of free space in this Texture, on this plane. This results in overdraw. If I put the same Texture that I am using for the particle as a cutout Texture, it will use this alpha to try to find the closest shape with only 8 vertices. You can also set it to 4, but then it is a bit less. You need to balance it, if you prefer to have less vertices or less pixels being overdrawn. Material platform stats: You probably know the stats⁠— Yeah, let us do it here, whatever⁠— You probably know the Stats window that is shown by default. You probably know the Stats window and it shows you only for the current configuration, I mean, the stats. But there are a lot more details. There is lot more detailed window with way, way nicer summary of your stats. You can change as well platform, or the quality level, and you will see after it is compiled how many instructions will there be, and if all the platforms actually compile. If they do not, you get a pretty detailed error message, which is even nicer than whatever you will see without that. You can easily figure out what is wrong with your Material in this case. I tend to have it open all the time. Interior Mapping: This is actually⁠— I would have tried it myself earlier if I knew how easy it was. But I was quite afraid. You just pick a Texture, a cubemap, and put this one node in your Material, and you have this kind of setup. You can also randomize the input so it is just simulating interior with the cubemap. I am going to open this, but I just need to select it first. We just use this Interior Cubemap thing. You can put a static Bool that will say to randomize it or not. You can just skip it. And you just put any cubemap you want. You can change it to some exterior as well, it will work, but look differently. This is it, this is all. You have this kind of thing, and it also works for different shapes. I think it is super nice and super easy to set up. One of my favorites, you can use PlotFunctionOnGraph Material node to visualize some stuff. For example, functions on the graph. It looks like this⁠— I will just open the Material because the setup is not obvious. You get two outputs. One is Y and the other is X. You want to have this X go as your input to the function. This is just some simple fogging function, I'll just show you on the graph, so it is just a case trying to reach 0, but it never reaches it. You can also see the gradient of the value here. You get a pretty nice overview of your function. You can just test it before you use it in your shader, just to debug it, or to check if you are doing it right. You can also set the range of the grid. I am using from -5 to 5, -5 to 5, just with one vector. You have some other options as well. You can also debug your Materials by using DebugScalarValues, or other variants like DebugVector2Values, and just have them displayed as text, as a number. We have this simple setup here. It uses some center point of screen to see the distance to it. If I am looking at this, we can see that I am pretty close. I can see that, like, what the values are, what the value ranges are. What should I compensate for, for example? Just with this simple node, and the setup is very simple. >>Sjoerd: It is basically a Print String for Materials. >>Krzysztof: Yeah. You just put any number here, and that is it. You can put whatever you want to check. You can have Debug Float 2, Float 3, Float 4, and other stuff. Okay. I guess, have you ever tried to type "help" in the console? It opens a Browser with a generated report, about like your console commands. You can search through it. For example, I can search only for rendering commands or for sound commands, and you have pretty detailed explanations. The best you can get, actually, so try it. You do not know what the command does? >>Andreas: We had a discussion⁠— How many of you know that? Okay, good. Continue. That is good, you had some. >>Krzysztof: Some of them know that. Yeah, it is just pretty useful. Here is Mario. >>Mario: Tip 60: You can use this node, WorldAlignedTexture to make a quick and easy triplanar mapping. That is very good for prototyping and just same things. You can see in this sphere, we have triplanar mapping of our Texture, and it is just using this node. It is really quick. Use it. Tip number 61: You can change the highlight and density of selection. Why should I do this, you may wonder? Where is my mouse? >> Up on the screen. >>Mario: Okay, yeah. I saw it. For example, if I select the sky, who knows that I am selecting it? You can see here in the border, but it is really, really subtle. It would be good to, in the Preferences, you can search for highlight, it should be here. It is in Highlight Intensity. You see it is moderate, because it is, like, very ugly to see it. Now you can see that it changes a bit, so you know what you are selecting. I'll hand over to Joseph. >>Joseph: Okay. Save Engine Stats and this is tip 62. Whenever you enable a console command and you turn off the Engine and you start it, it is just going to reset. If you want it to stay on all the time, all you have to do is just go to the Editor Preference, and look for that setting. Edit, and then enter preference, and then here we go. Just enable that checkbox. Great. Tip number 63: We have Mesh Decals. This is a plane with a Texture on it. I am just going to slow down the camera a bit, so sorry for the shaking. As you can see, it looks nice, but it does not actually blend with the Object behind it. However, this one, it does. Even if I move actually the plane, you can always see it is blending, even though it is actually a different Object. If I move it, it is different. Anyway, so this is the Material, and it is a simple setting you have to enable, which is here, Deferred Decal, and that is it. Great. Tip number 64: This is mostly useful for architecture, for example. You can get accurate sun position, and its calculated base on the location and time. We have actually a lot of docs on how to do this and it is really simple, and very quick to set up. But we have in the scene, actually, one that is already set up. We actually set it to the exact position of the sun for this event. This is actually the coordinates for this venue, and this is the time where we are actually giving the presentation, and this is where the sun is. Cool. Also, I need to highlight the content example, and especially the Math Hall. You can get it from the launcher. There is a lot of practical examples of different functionality, so if you are having a hard time with math, and you just want to know how to use certain functions in which cases, just go check out the current example. Okay. Finally we have the Color Blindness Simulator. To be clear, this will not fix your game for color blind people. But we do realize a lot of people who play your games are color blind, even some developers. And this is a way to simulate how they actually view your game, so you can fix it. It is under Accessibility, and you can find it in the Editor Setting, as well. Edit, okay, here we go. Yep, so you can actually change it here. Now to Andreas. >>Andreas: I am happy he didn't. Okay, so some of the tricks⁠— Cool! Oh, now I messed it up. [Laughter] They are also telling us we have to speed up. Some of the tips we have here is from our interaction with customers. And one thing you have to see is, Unreal Engine is made for a lot of people, also for newcomers. All Blueprints you have tick by default, and that is maybe not what you want. As an experienced developer, maybe the first thing you want to do is disable this so your Blueprints do not tick, and then decide which ones of the Blueprints should tick. This is an important thing. You always have to remember that the Engine is made for a lot of different people, for a lot of different purposes, and that is the reason why. You can find it in the General Settings. I think you believe me, I tried to speed up a bit. The other one I think is really important is, you can enable the filter to show redirectors. That is something I want to show, because when you go here in the Filters, under others, there is redirector, so if you move stuff around, then those redirectors are here, and you should fix them as soon as you can. It is a pretty good idea to always show them, because we did not in our project, and something like three months later, we did. Then we had two or three days of just fixing those things. This is important. The last one⁠— We have this great Engine. Sjoerd will do a talk about ray tracing here, so do that stuff, and then you are one week before you ship, and someone decided, oh, let us do it 8 pixel retro-style. That is what usually happens in development, pretty often. You can actually do this. We prepared that, so it is somewhere⁠— Post-process⁠— You can make a post-process Material as a blend, and it should be here somewhere, here it is. It is pretty easy. I do not go too much in detail there. It change your game just like that, and then you have this pretty nice grand pixel look, and then you can ship. We are done. We are through, that was 69. Thank you for having us. We are around here. We are happy to talk. You heard where we are from, and which areas we cover. If you have any trick you want to share with us, we are open for that. We have some more in our pockets, so come to us and ask. Or if you have serious questions, we are around all the time. >>Sjoerd: And as you reflect on this, we are recording this. We will probably put it online. I know this went fast, we will put the slides online too, probably. Again, look back a little bit at what we have done, because this went on speed. But it shows you here a little bit. I hope it is a good introduction to the next few days. Thank you. [Applause] ♫ Unreal logo music ♫
Info
Channel: Unreal Engine
Views: 38,058
Rating: 4.9560843 out of 5
Keywords: UE Fest, Game Dev, Prague, Game Engine, Unreal, Game Development, Epic Games, Unreal Engine, Unreal Fest Europe, UE4, Unreal Fest
Id: zX0gilGIpRQ
Channel Id: undefined
Length: 60min 7sec (3607 seconds)
Published: Mon May 20 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.