All 219 Godot Nodes Explained In 42 Minutes !

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
yes ladies and gentlemen we made it after writing almost 30 pages of script recording over 3 hours of audio and recording over 300 Clips I have finally explained every note within gdau all notes will be covered in this video this has definitely been one of the biggest projects I ever did on this channel and I want to thank you guys so much for the support all right now without further Ado let's turn that go. search bar into the go. findind [Music] bar as a game developer I'm constantly trying to keep my skills sharp to create Innovative games and video content for you guys that's when I discovered brilliant the free Interactive Learning platform that has been a game changer for me brilliant is the best way to learn math data science and computer science interactively with thousands of lessons from basic to Advanced topics and new lessons being added every month there's always something new to learn the one thing I love most about Brilliance is its interactive approach unlike traditional lectures and textbooks Brilliance lessons are designed to actively engage your mind through problem solving exercises simulations and real world examples this Hands-On approach makes learning fun and interactive I personally found brilliant math courses to be incredibly helpful I used to feel embarrassed about having to Google basic math operations but brilliant has helped me get back on top of my math game the platform's coding courses are equally impressive they teach the fundamentals of programming in a clear and conis of way use practical examples that are relevant to the real world whether you're a seasoned programmer or a complete beginner brilliant has courses that will help you level up your skills and the best part is brilliant is accessible anytime anywhere you can learn on your phone tablet or PC making it easy to fit learning into your busy schedule so if you're a game developer looking to level up your skills I highly recommend checking out brilliant try brilliant for free for a full 30 Days by visiting brilliant.org luuy or clicking the link in the description and the first 200 people that sign up using my link will get 20% off brilliant's annual premium subscription that's brilliant.org lucky all right onto the notes the note notes are G those building blocks they can be assigned as a child of another notes resulting in a tree Arrangement a given note can contain any number of notes as children these trees of notes are what we call a scene a scene can be saved to disk and instantiated in another scene and these combinations of scenes are what make up a complete go do game now in case you're wondering what kind of notes can I use in these scenes you came to the right address my friend the note 2D the note 2D is the basis of all 2D notes it keeps track of rotation position and skill all the notes we're going to cover today inherit from the note 2D the camera 2D the camera 2D node specifies the points from which your scene is viewed it's very simple it contains some parameters for rotation and position and making your camera movement more easy on the eyes by setting up camera drag and smoothing the animated Sprite 2D and the Sprite 2D the Sprite 2D and animated Sprite 2D are used to render 2D textures to the screen the texture displayed can be the region of a larger texture Atlas And The Animated Sprite 2D contains a great tool for setting up Sprite sheet animations the Collision object 2D the Collision object 2D cannot be used to Standalone but it serves as a base class for all 2D objects that have collisions it has properties for its Collision layer and whether it's enabled or not the physics body 2D the physics body 2D can also not be used Standalone but serves as a base glass for all 2D objects that are affected by physics the Collision shape and the Collision polygon 2D the following notes we're about to cover all require a collision shape the Collision shape will need to be a child of the physics body and you can set your Collision shape within the Spector here the static body Tod the static body Tod is a physics body that cannot be moved however other physics bodies can be affected by it it can be used for things like walls floors or ceilings and if you decide to move aesthetic body it doesn't push any other physics bodies but instead teleports to the new location the animatable body 2D the animatable body 2D is almost the same as a static physics body only this physics body can be moved it's still not affected by Gra gravity or other physics bodies but if you move it in code or an animation the other physics bodies in its way will be pushed appropriately the rigid body Tod the rigid body Tod is the physics body that is affected by other physics bodies and gravity this is the physics body used for all your physics items that can be moved and are not directly controlled by the player the character body 2D the character body 2D is a specialized physics body that is meant to be controlled by the player it contains built in functionality for precise movement controlling with code within the physics simulation The Joint 2D The Joint 2D cannot be used Standalone but it's a base class for all 2D physics joints these are nodes that connect two physics bodies together and Gau contains the following 2D joints The Damp and spring joint 2D The Damp and spring joint 2D connects two physics bodies together in a spring-- like manner it contains parameters for the Spring's length stiffness and dampening the groove joint Tod the groove joint Tod is a bit of a confusing name but it connects two physics poies together like a piston meaning they can only retract and extend in one movement axis and finally the pin joint 2D the pin joint 2D can be used to pin two physics bodies together they're basically connected at one point and are allowed to freely rotate in any direction the area Tod the area Tod access two things one a detection field that checks whether Collision objects leave or enter it and to an area of space with its own physics and audio settings you can change things like gravity wind audio channels and this allows you to create things like underwater areas or zero gravity areas within your game the audio listener 2D by default the camera will be the point that listens to 2D audio but if you want to hear your scene from a different location you can use this note to set up a listening point the audio stream player 2D this is the 2D audio source of gdau it can be used to play audio from a certain point in space and it has all the audio settings that you would expect volume pitch range attenuation the CPU particle 2D and the GPU particle 2D these are the 2D particle systems of c a lot of fun and cool particle systems can be built here there's so many parameters way too much to explain here but but I find that particle systems are quite straightforward I would say a good way to learn them is just to add one to your seene and start playing with the parameters the tail map the ti map node is a huge note way too big to explain here it is used to build 2D til Maps it has a great build-in tool for painting your ti maps and setting up tile sets cell also contains functionality to adding physics layers navigation layers to your tail map again a lot of awesome functionality here I'll leave a link to the god do docs that contains a lot of great tutorials now let's talk about 2D Lighting in gdau the canvas modulate node the canvas modulate node is needed to set up 2D shadows in your scene it first darkens your scene so that 2D lights can light it back up again the light 2D node the light 2D node cannot be used Standalone but it's the base class for all 2D lights it has settings for light color energy and it's blend mode the point light 2D the point light is used to light up a scene from one specific point you do however need to give it a texture this is the way the light looks it's not a point as in there's a single point in the center that emits light to all directions but instead it's this texture that lights up your scene so why is it called a point light and not a texture light this is because it casts Shadows from its Center so lighting is done with the texture and the shadow casting is done from the point the directional light Tod the directional light Tod is used to light up an entire scene at once is used for things like the sun and the moon and the directional light Tod shines from one angle and does not warp Shadows based on its distance like a point light the light uder Tod the light uder Tod is the shape that is used to cast a shadow in your scene you can set up the shape of a certain object and based on this it will cast shadows in the rest of the scene the line 2D the line 2D node does what it says on the tin it allows you to draw 2D Lines by adding points to this array it is a lot of properties for styling the line like setting up his WID taper and how the corners of the lines are rounded and rendered the marker 2D the marker 2D node is a debuging note it's just a node 2D only it shows its position and rotation in the editor it can be used to keep track of invisible notes or points in Space the mesh instance 2D the mesh instance Tod node can be used to render a mesh AK a 3D model in 2D it has properties for what mesh it renders and its material the multi mesh instance 2D the multi mesh instance 2D can be used to render a lot of meshes efficiently it is recommended to be used with a lot of meshes in close proximity think for example a field of grass a navigation region 2D the navigation link 2D and the navigation obstacle 2D these are notes to set up path finding in 2D they're a bit more complicated than the 3D nav finding notes as you'll need to set up your own navigation regions manually well in 3D there's a tool for automatically generating your nav mesh there's a great read in the docks on how to set up nav finding in 2D and I'll leave a link in the description the parallx layer and the parallx background note the paralex layer and the paralex background node are used to set up paralex in backgrounds in a 2d scene any 2D Graphics can be used as long as they're a child of its appropriate paral Xing layer the path 2D and the path follow 2D the path 2D node and the path follow 2D node are used to set up a 2d path or curve and then bind another node to this path using the path follow 2D node the polygon 2D the polygon 2D node allows you to set up shapes in 2D you can add the points of the polygon into the array here or drag and drop them in the editor right here the rast 2D the rast Tod node can be used to check collisions in a straight line the node reports on whether it hit something the point of collision and what it collided with the shape cast Tod the shape cast Tod works exactly the same as the ray cast Tod only it checks for Collision in a line using a shape so where a ray cast would shoot at an infinitely Thin Line the shape cast would shot out in a shape for example a rectangle or a circle the remote transformed 2D the remote transform Tod node can set another node's transform to its own it basically acts as a parent to that node without actually being the parent in the hierarchy it contains properties for whether to affect the position rotation or scale or all of them the skeleton 2D the bone 2D and the physical bone 2D these notes are all used to set up 2D skeleton and 2D skeletal animations there is some third party software to set up these skeletons but gdau also allows you to build your own skeletons within kdo there's a lot that goes into building and managing your 2D skeletons the ducks have a great read on the whole process Link in the description the visible onscreen Notifier 2D and the visible onscreen enabler 2D these nodes are used to detect whether a visual is on screen or not the visual onscreen Notifier sends out a signal to code when it is on screen and the visible onc screen enabler Tod enables itself when it is visible the canvas group the canvas group note can be used to merge all its children into a single draw call this can be useful when you want to combine some textures into one for example a translucent bottle and its contents and finally the back buffer copy the back copy note is used to capture a region of your screen or your whole screen to be used in shaders you can Define what part of the screen it captures and this texture can be accessed within your Shader script with the hint uncore screen uncore texture variable the no treaty this is the most basic treaty note all notes we're going to cover today inherit from the note 3D it keeps track of position rotation skill and visibility and is most used as a basis to inherent from or is a parent note to contain a bunch more notes the marker 3D the marker 3D note is exactly the same as the note 3D only it shows the axis of the noes within the editor it can be useful to keep track of invisible notes or a point in space visual instance 3D this note is not used Standalone but it's a basis for all visible notes to inherent from so everything that you can see in your scene it's based on a visual instance 3D it keeps track of what visual layer the note is on and it's bounding box so basically the space in which the visual is contained the geometry instance 3D just like the visual instance 3D this no is not used standalone but it's a basis for all geometry based nodes AKA models it keeps track of lighting Shadow and LOD settings and it has a very useful material override property which can be used to easily apply a custom material across all material Slots of a model the mesh instance 3D this node takes mesh data and combined with the two previous nodes instantiates that mesh it can be used with gados build-in meshes or you can import your own models it holds the model and all its materials the multi mesh instance 3D if you intend to to instantiate a bunch of meshes like I'm talking more than a thousand in a close proximity this not allows you to do that with optimized GPU performance it has a buil-in population tool which allows you to distribute the mesh upon another mesh this note definitely has a lot more to get into so I'll leave the link to the docs down below the label 3D the label 3D note is used for displaying text in 3D that simple the most important property on this note is the Billboard flag which makes the text face the camera and the pixel size and font size properties this allows you to change the resolution of the text decal the decal node is used to project the texture onto geometry Deal's most famous use is in bullet holes and walls or sprays in games like Team Fortress 2 and Counterstrike the Sprite 3D and animated Sprite 3D Sprite 3D and animated Sprite 3DS are used for rendering 2D Sprites in 3D they differ from just drawing a texture on the basic plane because they have built in features like a billboard property which makes the Sprite face the camera and animation properties that allow you to easily Implement 2D Animation Sprite sheets into 3D the world environment Noe this is one of the most useful notes in gdau the world environment note allows you to change the global lighting settings of your scene at various postprocessing effects like tone mapping ssao and depth F field for example and it allows you to set up effects like volumetric fog and Global illumination the fog volume note when volumetric fog is enabled in the world environment this note allows you to add volumes of fog to your scene GPU particles 3D this is the particle system of Gau it really deserves a video of its own because it has a lot of features and settings the most important things to know are the emitting settings can be changed in the process material property where you need to create a new process material and the visual of the particle itself can be set up in the draw passes again there's way too much to cover here in this video but most of the properties are very straightforward so definitely just play around with it and see what you can make GPU particle attractors and GPU particle condition conditions these six nodes are used to manipulate particles in the GPU particle system node the Collision nodes are used as you would expect and they can be used to give the particles something to collide with and the attractors can be used to manipulate the flow of the particles by pushing or pulling them the light 3D Noe the light 3D node is once again one of those noes that cannot be used Standalone but instead serves as a bases for various different lights in gdau it contains properties like light strength color and size and Shadow settings these settings will be applied to the following different lights the omnidirectional light 3D this is the most basic type of light it shines from one point to all directions around it it contains two important properties its range which determines the distance the Light reaches and its attenuation which controls the fall off meaning how much the light dims over the distance that it travels the spot light 3D this light is very similar to the omnidirectional lights in the way that they both have a range and an attenuation but as you can imagine the spot light 3D has a specific angle in which it emits light giving the spotlight effect the directional light 3D this light is a little different it lights up the scene from one angle and has no range or fallof it's used to set up a Sun or a Moonlight in your scene and has a lot of properties for tweaking its shadow settings the most important properties are the fade start and the max distance these properties allow you to tweak how far away from the camera the Shadows are rendered CSG shapes CSG shapes or constructive solid geometry shapes are meant to be used in prototyping and allow you to easily combine and subtract 3D shapes using boan operations with the option to enable collisions they are great for quickly combining shapes and blocking out stages and Interiors they can be used Standalone or combined into new shapes using the CSG combiner node let's get into the physics the soft body 3D this is kind of a weird one the soft body 3D node inherit from the geometry node and converts the geometry to a soft body physics simulation it is currently quite buggy so don't use it for gameplay elements but they are great for quick visuals like flags and cloth the Collision object 3D this is another note that cannot be used Standalone but it serves as the basis for all 3D notes that collide with other objects the most important properties are its Collision mask and layer these layers allow you to specify what objects can collide with it and what objects it can collide with these may sound like the same thing but this is actually a very important distinction for example you could have a door that triggers a cut scene you would want your enemies and your players to collide with the door so they can move past it but you would only want the door to collide with the player to trigger the cut scene upon that Collision the physics body 3D again a note that does nothing on its own but serves as a basics for all physics bodies it contains some properties for locking certain movement or rotation axis of the physics body the following notes we are about to cover our different types of physics bodies all these physics bodies will need a collision shape to work the Collision shape defines the shape of physics bodies and G do comes with a lot of default shapes like boxes capsules and squares but of course you can import or create your own shapes athetic body 3D athetic body 3D node is a physics body that stays in one place meaning it cannot be pushed around or dragged down by gravity it is used for things like walls and floors and if the static body is moved for example by code it is in a physic sense teleported to the new location so it won't push balls up or move things to the side when it's moved you can however do that with a animatable body 3D this is a static physics body in the way that it cannot be pushed or pulled down by gravity but it does have the ability to push or pull other objects so when you move this within an animation or within code it will apply the appropriate effects to the physics bodies in its way the rigid body 3D this is the physics body that is used for almost all physics objects not controlled by the player so falling boxes flying arrows you name it it is pulled down by gravity and can collide with other physics bodies and it has properties for defining its mass bounciness and friction the character body 3D character body 3DS are types of physics bodies that can be controlled by the player they contain a lot of built-in features to make movement easy to control with code and GD comes with a beautiful template that demonstrates these features the area 3D note this note was a little confusing to me at first but the area 3D node acts as two things one a detection field it detects when Collision objects enter it and leave it so it can be used for a trigger area or a Teleport area and two it can be used to define an area with its own physics and audio settings you can change things like gravity wind and the audio channel that the sound is going through this allows you to create areas like underwater areas or zero gravity areas in your game camera 3D the camera 3D node shows what is visible from its location and shows that on the nearest viewpoint by default this is your game window but a camera can also be used to render a secondary viewport for example a mini map or a mirror a camera has properties for what visual layer it sees it's fov its near and far clipping point and it has two slots for a custom World environment or camera attributes which can be used to add post processing effects to the camera the vehicle body and vehicle wheel 3D these nodes Implement all the logic needed to simulate a car and are based on the raycast vehicle system personally I have not had great results with the vehicle body 3D and even the Ducks note that there are known issues with the notes and the writing your own integration is advised for a more advanced solution The Joint 3D The Joint 3D cannot be used Standalone but it serves as a base class for making physics joints in this note the two physics bodies that are connected by The Joint are assigned and G comes with the following physics joints the hinge joint 3D the hinge joint works as you would expect it restricts the rotation of two physics bodies in a hinge likee Manner and it has properties for setting its limits behavior and applying a motor Force to the hinge the cone twist joint 3D this joint acts like a ball and socket joint it is proper for its range or swing span and its rotation or twist span the slider joint 3D the slider joint restricts the movement of a physics body along a certain axis the best way to think about a slider joint is to see it as a piston it can only extend and retract in One Direction pin joint 3D the pin joints can be used to pin two physics bodies together while allowing them to freely rotate I think the best way to think about this joint is like a chandelier from the ceiling it's hanging from one point but you can twist it and turn it in any way you want the generic 6df joint joint the generic six degrees of freedom joint can be shaped into a lot of different physics joints it allows you to tweak the limits forces and feels of all three rotation and movement axis this physics joint is great for Designing custom complex physics joints the skeleton 3D node the skeleton 3D node provides an interface for managing 3D skeletons and 3D skeletal animations you will probably never add a skeleton note yourself as gdau does not contain functionality for building 3D skeletons but when importing a model with a skeleton gdau uses this note as an interface for all your skeletal needs and it contains an hierarchy of all the bones in your skeleton the bone attachment 3D this note allows you to easily attach a note or a group of notes to a bone in a skeleton 3D think armor pieces weapons or attachments that need to be welded to the Bone to copy its transform throughout an animation or R do simulation the root motion view note this is an editor only debuging note all it does is show a grid in the editor and it's intended to be used with root motion animations these are animations that have the movement of the character baked into the animation and it can can be used for a ground reference to root the animation the following notes are all used to set up different kinds of global illuminations in your scene the go do docks has a great read on what type of global illumination is best for your scene and how to implement that type I'm going to go over them here real quick but definitely give the dock a read don't worry it has pictures the voxal GI note the voxal GI is one of the heavier ones but it's quite easy to set up just by adding the voxal GI notes and clicking bake right here please note that this does not bake the lights and shadows into your scene just the foxal GI map can still change the lighting after your scene has been baked the light map GI and light map probe the light map GI does bake lights and shadows into your scene you will need to set up a second UV map on your models for the lighting data to bake onto you do however get the option to bake only certain lights and I'll leave a great link to tutorial down below the reflection probe the reflection probe is used to capture a reflection map it basically takes a 360 photo from its location and all reflective materials can sample from this photo to generate realistic Reflections the reflection probe has a low performance cost and it gives great great results definitely try this one out the Importer mesh instance 3D this one I need your help with it has no documentation and I couldn't find anything about it online I asked for it on Reddit and some people thought it was just a port of the 2D mesh importer or that was used in the import process but actually not used by the user within a project I'm not sure if anybody knows let me know the visible on screen Notifier 3D and the visible on screen enabler 3D these two notes are used to detect whether the camera can see a certain note the Notifier sens out signal when the visual node is seen and the enabler enables the node when it is seen by the camera the grid map node a grid map is basically a 3D to set you can set up a mesh library that acts as tiles within the ti set and you can paint those into a grid it also allows for vertical tiling using the floor parameter defl Logan has a great demonstration of this in his video T dungeons link is in the description the audio listener 3D by default the camera will be the point that listens to 3D audio but in case you want your ears to be somewhere else than your eyes you can use this notes to to set up a listening Point anywhere in your scene the audio stream player 3D this is the 3D audio source of gdau it can be used to play audio from a certain point in space and it has all the audio settings that you would expect from an audio Source it can also be given an emission angle which can limit the angle that the audio can be heard from the navigation link navigation obstacle navigation region and navigation agent 3D these notes are used to set up a nav mesh within your scene for path finding the navigation region 3D looks at your scene and sets up a mesh of all the services that can be walked on and how they can be connected the navigation agent 3D can then Traverse your map in a natural and efficient flow I personally had great results using the nav meshes within gdo but they're still marked as experimental so they might change in the future keep that in mind the occluder instance 3D the occluder instance 3D note can be used to improve performance by hiding objects that aren't visible to the camera please take note that the occluder is recommended to be used on static objects as moving the occluder instance 3D will trigger a recompilation that can take several frames it is also recommended to use them in closed or semi-closed eror areas as in large open areas lods and visibility ranges are recommended to improve performance the path 3D and path follow 3D these are super fun I didn't know about them yet but they can be used to create 3D paths or 3D curves and bind a note to this path they're great for setting up small animations and quick organic flows within your game the raycast 3D the raycast 3D node shoots out array in a given Direction and reports on whether it hit something and what it hit it's great for a lot of uses but it's most used in shooting mechanics and interaction mechanics the shape cast 3D the shape cast 3D works the same as the raycast 3D only instead of shooting an infinitely thin Ray it shoots out a shape so you can check for collisions in larger areas the spring arm 3D the spring arm 3D is basically a raycast 3D only it has to build in functionality to move all its children to the point of collision the best way to think about this note is I think a laser pointer if you have the laser point as a child of the spring arm 3D it will automatically act like a laser pointer by moving that laser point to the point of collision the remote transform 3D the this note copies another not's transform to its own so you can parent a note to this note without it actually being the parent in the IR key sounds a little confusing but once you see it it's not that confusing the XR camera 3D the XR no 3D the open XR hands the XR anchor 3D the XR controller 3D and the XR origin 3D pH these are all notes Ed to set up vr/ XR games I currently don't have a functional VR setup and I haven't played with these myself and instead of guesstimating what all these notes do and maybe spreading misinformation I'll leave this to the father of varar in gdau himself Bastian link is in the description of this video the container note the container note is the base class of all different types of containers a container is a type of note that holds other noes within it and determines how they are positioned the aspect ratio container the aspect ratio container is a type of container Noe that sets an aspect ratio so no matter what the resolution of your game is or how your UI is resized this container will keep its aspect ratio it's great for things like images or videos to need to be fully displayed the box container the vbox container and the hbox containers the vbox and the hbox containers are your bread and butter of most UI everything within these containers will be aligned horizontally or vertically most uis can be boiled down to vbox and hbox containers the center container the center container is super simple and super useful all the children within this container will be put perfectly in the center the flow containers the flow containers allow elements to be positioned in the same way that text would be positioned meaning it will put them from right to left until they reach the end of the container at which point it will create a new line underneath just like words in a sentence in a text box the grid container the grid container is kind of self-explanatory but it displays elements in a grid most used for things like inventories you can set the amount of columns in your container and the elements will be added in text-like manner meaning from left to right and then onto a new line the H split and the V split container the split container allows you to split your view with this little handle in between uh Gau editors build up of the split containers a lot of softare is built up like this yeah it might be very useful if you want to display a lot of data the margin container this container allows you to add custom spacing to your elements very simple and by the way the settings for this container are in the team overwrite they're not in the noes property but yeah down there kind of confusing but yeah panel container the panel container is a very basic container uh it's basically the base container but it has a little background like a panel can be used for grouping things together visually the scroll container the scroll container creates a container that can be scrolled using the mouse wheel they can be scrolled horizontally and vertically but please take note that there's only supposed to be one other container within the scroll container meaning that you'll need to add a v box or an hbox and then add your elements within there for the scroll container to work properly the tab container the tab container will set up this tab based system all the elements within the tab container will get their own tab so again it's meant to be used with other containers within the tab container uh the tabs can be accessed here at the top and they'll get the name of the note uh that is in the tab container so those are all containers by combining these containers and putting containers within containers you'll be able to create almost any layout you can think of now we're going to get into the elements that you're going to put inside of these containers the label the label is the basic text display of gdau it allows you to display a single line of text or whole paragraphs the rich text label the rich text label is almost the same as the label note only it allows for things like bold text italic text and other text highlighting using these tags the color wct the color wct is just that it's a rectangle that you can set a color to cre for backgrounds or just blocking out UI the texture direct it's basically the same as the color direct only instead of a color it displays an image the video stream player the video stream player allows the user to view video within your UI the separator the H separator and the V separators these are just little Lines within your elements you know they're also used a lot in text documents just these lines to separate certain parts yeah very simple the panel the panel is basically the background component of the panel container I don't recommend using the panel on its own it's better to be used with the panel container but in case you just need a panel like a random loose panel you can use it here the nine patch W these are actually very nice the nine patch W allows you to set up a responsive texture it basically keeps the corners of the texture intact and then stretches the sides and the center to match the panels width and height now we're going to get into input elements I'd quickly like to explain how you use these uh every input element has a signal meaning that if you go to the inspector to the Note Tab right here then you can see all its signals so basically all it different types of input and by double clicking that you can connect them to any script you want in these scripts they will then create a function that is called when you're using the input very simple the base button the button and the textured button these are all your basic buttons they do what you expect the base button is sted using a team or its team overwrite and the textured button can be given a custom texture these are great for like your special big play now buttons the link button this is just another basic button but it is styled like a link meaning the text is in Boldt and it's underlines how you would see links in a web page for example the checkbook and the check button these are toggle buttons meaning that they can be on or off and they will retain their state great for binary settings the menu button the menu button opens a little menu when pressed you can build your menu here within these parameters the option button the option button opens this little drop-down selector the item chosen within this dropdown becomes the current item you have seen this type of button used for things like resolution selection within games the Color Picker button the Color Picker button opens this little Color Picker menu you can select the color it's all very straightforward the line edit the line edit is a single line text field it's got properties for formatting and max length and it also got property for rendering it as a secret for things like passwords the text edit and the code edit the text edit and the code edit are both input text Fields meaning they allow for multiple lines of text the code edit is actually kind of insane it's got a whole setup for setting up code completion gutters line numbering setting break points it's basically the build-in code editor of gdo range the following notes are all range notes meaning they're used used to display or take input of a value within a range the progress bar and the textured progress bar these are super straightforward progress bars are used a lot in video games for things like loading bars and health bars the spin box spin boxes are these little number input Fields with have the arrows next to them allowing you to increase and decrease the value by clicking the little arrows the scroll bar the H scroll bar and the V scroll bar these are the scroll bars at the sides of the scroll container in case you're building some crazy custom UI and you want to add your own functionality to these loose scroll bars you can add them in most cases however you're just going to want to use the scrollable container and not these loose scroll bars the slider the H slider and the V slider these are your sliders allowing you to grab the handle and select the value within a range very simple the item list the item list allows you to create a clickable menu of items that again can be created here within the expector it's basically the menu of the menu button without having to click a button to open it the menu bar the menu bar allows you to set up a row of drop- down menus you will need to use popup menu notes uh for every drop down within the menu bar and it can be populated the same way as the menu button or the item list the tab bar the tab bar is basically the top of the tab container in case you want to build your own functionality and just have the tab bar instead of the whole container you can use that here the reference rect the reference rect is a debugging note it just renders a wct in the editor and can be useful for positioning notes uh within empty space the tree the tree node renders a tree the same way the hierarchy of your scene is rendered great for displaying branching data like complicated Quest l or something the graph node and the graph edit the graph node and a graph edit can be used to set up and render graphs however they're going to get a big overhaul in the coming updates so I would not recommend learning them now but instead holding off until the new updates to learn new ones and finally the touchcreen buttton all of gd's UI elements work with a touchcreen by default but in case you want to map actions like in your input map to unscreen buttons you can do that with the touchcreen button the control noes this is like I said before the base note of all UI noes every everything inherits from this Noe and it's got a lot of parameters uh a lot of these you're never going to touch and you should never touch but I'm just going to explain them anyway so you'll know everything about every note at the end of this video clip contents this parameter determines whether UI notes within this note will be cut off when they're outside of the note meaning that if a text overflows outside of its text box for example it will be cut off or you can still see it out of bounds custom minimum size this parameter sets a minimum size for your UI Element no matter what the element will never be smaller than the size set here layout Direction This determines whether the elements within this element are aligned from left to right or from right to left it also contains a setting for copying whatever it's parent has for a layout direction or based on the current localization layout mode this parameter determines whether the node's location is set with a hardcoded x and yv value or by its anchors Now setting a UI elements position by a hardcoded x and yv value can be useful in some rare cases but 99% of the time you want to set this to Anchored mode anchored mode allows your elements to be resized and repositioned based on the viewport side Dev making them responsive so a lot of the times you're going to want to use this but in case you're making some Jam game that only is going to run at one resolution you might want to set your elements hardcoded now you can set your layout mode and anchor type within this menu here but a way easier option is to use the little menu at the top of the UI right here the transform here you can find your size position rotation and scale of your elements you can tweak these settings by hand but once you're using the anchor system these values will be set automatically and you can't touch them or you won't need to touch them localization these parameters can said if you want the text within your element to be translated to another language you have set up in your game the tool tip the tool tip is the little message that pops up when you're hovering your mouse over an element you can set this in the parameter here focus a UI element's Focus basically means it's selected in well-made UI you can navigate between buttons and inputs using tab or the arrow keys in this parameter you can set up the notes neighbors meaning what element should we focus next when you press the tab key or what the next focused element should be when you press the up or the down key when you're building a game for a PC and you're using the mouse it's not necessary to have a good Focus layout but it's very easy to set up and once you have it set up you gain instant controller support because with a controller you can navigate focus of a UI the mouse the filter and force pass scroll event are a bit complicated and in 99% of the cases you will not need to change them but I'll go over them real quick the filter determines how the node handles Mouse input signals by default it is set to stop meaning that if you click on an element the mouse click stops there and the click doesn't go through to the elements underneath it you can also set it to pass meaning that click will go through this element and click on something underneath the element but like I said in 99% of the cases you just want your mouse to stop on the element that it clicked on and not go through it then the force pass scroll event is there because we want to make an exception for this behavior when scrolling your mouse wheel because if you're scrolling and you're hovering over a button you do not want that scroll event to stop at the button you want it to go through to the scrollable list so that the list can scroll don't worry if these last two don't make any sense to you the default settings are what you're going to need for most UI cases the last parameter in the mouse category is surprisingly very simple it's the cursor shape so you can have like the little loading icon or like the canceled icon or all the different Mouse pointers you can set whatever you want up in here the input this one only contains one parameter the shortcut context uh in gdau you can set shortcuts for buttons so for example contrl Z would be an undo button somewhere on your screen and within here you can set an element that needs to be in focus for this shortcut to work so for example if you need to be focused on your main window when pressing contrl C or contrl V you can select the main window here so you don't copy and paste everywhere at once I think this setting is more used for like software or like really complicated uis and not that much in game development but yeah that's what it means team teams are just that they allow you to create custom UI teams by creating one right here and then in the team menu right here you can pick a new element with the little picker and change all its styling options however you don't need to build a completely custom team for every type of styling that you want to do as every element also contains team overrides meaning that in the inspector here you can can set its own parameters so without a complete theme just for this button or just this text label however if you're planning to build a bigger UI system building a complete custom team can be a great all-in-one solution the viewport the viewport is quite self-explanatory it's a view into your game so whatever UI 3D scene or 2D scene you are rendering it is shown on the viewport by default there is one viewport at the top of every scene that you don't see so you don't need to add one yourself unless you want to create a secondary Viewpoint for which you'll use the SUB viw port and a SUB viw port container the SUB viw port and a SUB viw port container are notes that are used to set up a secondary view of in your game they're most famously used for things like mini Maps mirrors and other ways to render a second camera in your game the window node the window node is also quite self-explanatory the node creates a window this can either be a native Windows Linux or Mac window or an embedded window within your game your game can consist of however many windows you want a secondary window can be super helpful for displaying useful debugging information the accept dialogue and the confirmed dialogue notes the accept and confirmed dialogue notes are basic window pop-ups the accept dialogue pops up a window that gives the user one option only to accept and the confirm dialogue will ask the user whether to accept or cancel the file dialogue the file dialogue notice a pre-built window that allows the user to select a file within the file system super useful for saving and loading custom user resources the popup the popup are a little different from Windows they don't show up as separate windows in your OS and they close whenever you click outside them a good example of a pop-up menu is one of those right click menus the popup menu note the pop-up menu note contains functionality to build a menu within a popup the popup panel the popup panel is a more barebones version of one of those pop-up menus it only contains a background panel for you to build a custom UI on top of the canvas item it's quite weird I didn't talk about this before but the canvas item is the base class for everything that is 2D in gdau Al to the elements inherit from the canvas item it keeps track of things like visibility albo modulation and Z ordering it also contains settings for texture filtering the confus layer all confus items in gdau are drawn on a confus layer by default this is the gdau base layer with an index of zero and if you want to add another convas this can be done with the convas layer note the convas layers are drawn based on index meaning that the zindex of a confus item will always be overruled by an item that is on confus layer with a higher index the audio stream player the audio stream player note is used to play non-spatial audio meaning things like menu music UI sound effects and all sounds that AR AR emitting from a point in Space the animation player the animation player is one of the most versatile nodes of Ino it can be used for imported skeletal animations but beside that you can animate nearly anything in gdau using this animation tool the animation tree the animation tree note can manage animations within gdau it can be used to build complex animation structures and handle things like Transitions and blend times the HTTP request note this note has the ability to send HTTP requests meaning they can download or upload files or web content the multi player spawner and the multiplayer synchronizer ah yes the multiplayer notes of gdau these are used to spawn and synchronize notes across a multiplayer session of course I can explain the whole of G multiplayer in this video so I'll leave you with a link to a gr tutorial in the description the resource preloader the resource pre-loader note can be used to preload resources within your scene in most cases however you'll use the preload method within your GD scripts but in some advanced cases preloading resources in bulk within the resource preloader note can be useful the Shader global overwrite the Shader Global override can be used to override Shader parameters globally within a scene kind of how the world environment overrides the current environment in a scene the Shader Global override can be used to manipulate a lot of shaders at once take note that the node does not overwrite the actual Shader it just sets the parameter for all shaders within the scene the skeleton i3d the skeleton i3d note can be used to set up inverse kinematics in your armatures inverse kinematics is kind of a big Topic in short it means it will rotate a bone of change in a natural way to reach a certain endo there are a lot of great tutorials on ik and I'll leave one in the description the timer node the timer node is just that it manages a timer it can be started stopped and trigger a callback function upon completion all right so after making this complete video I realized I forgot three notes so I'm just going to add them on at the end I'm sorry the CPU particle 3D the CPU particle 3D provides the same functionality as the GPU particle 3D only without Hardware acceleration it can be useful to run on older devices that don't support Hardware accelerated particle systems the physical bone treaty this is a note that can make bones in armatures react to physics and the last note is the Sprite base 3D this is the base class for all 3D Sprites it can't be used Standalone but instead the Sprite 3D and the animated Sprite 3D inherit from it and it's got a lot of functionality for making Sprites in 3D work like the type of shading billboarding Alpha cutting modulation and the other Sprite settings that the 2D Sprite has all right it's very late at night I've been looking for these last three notes for like an hour I couldn't figure out what I missed but I'm very glad I finally found them this was every single note withing gdo explained I'm going to get some sleep and if you're still watching at this point thank you so much for watching and I'll see you in the next one bye
Info
Channel: Lukky
Views: 210,689
Rating: undefined out of 5
Keywords: godot, godot4.0, godot 4.0 stable, godot4.1, godot 4.1 stable, 2023, godot release, new, tutorial, getting started, start, learn, course, godot engine, gaming, learning, rpg, godot 3d, first person, animations, godot game, gamedev, devlog, free, switching, godot for unity users, unity to godot, godot tutorials, gettings started, fps, nodes, every node explained, every node in godot, all nodes, nodes 3d, physics, visuals
Id: tO2gthp45MA
Channel Id: undefined
Length: 42min 8sec (2528 seconds)
Published: Mon Nov 20 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.