Every 3D Node In Godot Explained In 20 Minutes

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
GoDaddy is a game engine that is node-based meaning the building blocks of your games are entirely nodes there's three different types of nodes in GoDaddy control nodes 2D nodes and 3D nodes there are many different nodes in each category that most people do not know about but every node has been designed to make your life easier so it's best to learn what every node does and how to use it in this video I'm going to be talking about every 3D nodes in GoDaddy node 3D this is the root class of all 3D nodes node 3D only has two main properties transform invisibility it's mainly used to store a bunch of 3D nodes but it doesn't have any specific purpose World environment quick note World environment is not a 3D note but you need it to design the look and environment of your 3D scene without a camera if you run the game you won't see anything and with a camera but without an environment everything is gray to add a simple Sky just add a new environment change background to Sky give sky sky and make it a new procedural Sky material camera 3D this is what you preview the world 3D scene from it is basically the eyes of your player mesh instance 3D a mesh is a visible 3D model that is rendered and can be seen by the camera you can give the mesh instance 3D a mesh and you can have visible things in your game Collision shape 3D a collision shape is exactly what it sounds like you give it a shape and bodies will be able to collide with each other a collision shape on its own won't do anything as you can see by the air next to it so you have to parent it under a body now let's talk about bodies static body 3D this is the most common type of body basically the static body is meant to not be affected by physics but to have Collision so it's meant for static or not moving things like terrain or buildings even though it's not meant to be moved you can still move it in code and have it affect other bodies with Collision shapes on them just remember you need a collision shape with a given shape on it for the static body to actually work and you should probably also put a mesh under it so there isn't a random in visible barrier rigid body 3D this node is just like a static body in every way but it has physics on it it's affected by gravity and it can be pushed around on the ground you can also give it other physics things like initial velocity dampening constant forces constant torqu and other physics things area 3D this node needs to be given a collision shape like the other bodies but it doesn't collide with other bodies instead the area 3D detects when something enters its Collision shape and it can also get every body or area that is inside its Collision shape by calling this method on it it can even detect if your cursor entered its Collision shape character body 3D the character body is basically like the static body 3D but with methods that make it easy to make characters or Alive entities that are supposed to move around through code you can give the character body velocity in a certain direction with a certain speed you can even give it a velocity relative to its rotation which makes the character body 3D perfect for character controllers vehicle body 3D and vehicle wheel 3D the vehicle body is used specifically for making cars it's just like a rigid body 3D as it has physics and gravity and whatnot but the vehicle body is for making cars easily if I have a vehicle body with nothing but a mesh and a collision shape as you can see it will behave just like a rigid body we need to give our vehicle body Wheels with the vehicle wheel 3D node position the vehicle Wheels where they would normally be on a car and consider giving everything a mesh so you don't have an invisible car now that we have everything set up you need to go to each of your wheels vehicle body 3d motion section if it is a front wheel enable us as steering if it's a back wheel enable us as traction next we are going to add a script on our vehicle body and use some vehicle body methods to make our car work copy this code I have here and when you run your game you will see you have a goofy looking functioning car you have to use the arrow keys on your keyboard to move the car by the way soft body 3 3D soft bodies are basically rigid bodies affected by physics but the entire model itself is affected Ed by physics that means each vertex will be affected by gravity and wobble due to physics getting soft body set up in GoDaddy is actually very simple go to your soft body and search for the mesh property you can either give it a primitive mesh or a custom mesh play around with the settings in the soft body 3D section and make sure to bring linear stiffness to zero when I run the game you can see I have a wobbling Cube like jello Collision polygon 3D a collision polygon 3D is basically a Custom Collision shape that you can make yourself you can keep adding points and move them around to get a custom shaped Collision shape you can't add points in the third dimension unfortunately but still a lot you can make with this system Sprite 3D a Sprite is a delicious cool drink but in GoDaddy a Sprite 3D is basically an image in your 3D World you set an image in the texture property and you have an image in your 3D World animated Sprite 3D an animated Sprite is very similar to a Sprite 3D as you would imagine it's an image that is in your 3D world but unlike a Sprite 3D you give an animated Sprite 3D an array of images then it will cycle through forming an animation you can change the rate at which the frame cycle as well decal a decal is a bit like a Sprite in the sense that it is a 2D image that is in your 3D World you put a texture in the alto property but you'll notice that nothing is there however if you move it close to a mesh you'll see the decals texture is being projected on the part of the mesh that the decal is near you can change the decal size to make it so a large part of the texture is projected on the mesh label 3D a label 3D is basically a 3D text you can write whatever you want on it and it will show in the world audio stream player 3D an audio stream player 3D plays sound from an area and the sound Fades with distance if you are far away from The Sound Source it is faint and if you get closer to the source it gets louder you just need to put an audio file on the stream property set autoplay to true and it will automatically start working when you run the game sub viewport the sub viewport isn't really a 3D node but you can use it for 3D basically with a viewport you can take anything that's 2D like an image or UI elements or even a camera's View and display it on a Sprite 3D once you add a subview port you can put literally anything under it that is 2D I can put a progress bar under it then on a Sprite I can select the viewport and with that we have a simple 3D health bar I can even put a camera under the sub view port and you can see that whatever the camera sees is projected on the Sprite audio listener 3D the camera is basically where your ears are but an audio listener 3D makes it so instead of your camera being the ears the audio listener node will be your ears if you put an audio listener next to this audio stream player and Run the game you can notice that even when I get farther away from the source of the sound I can still hear the sound at the same volume CSG box 3D when you add the CSG box you will see it instantly has a cube mesh on it CSG meshes are basically like normal meshes but their shape can change based on the way it intersects other CSG meshes if I have two CSG meshes and I intersect them with each other nothing much really happens if I change the operation of the child C SG mesh 2 subtract instead of Union then you will see that the area that the child meshes in is taken out of the parent mesh if I move any of the meshes you'll see it constantly updates it too the third operation that see SG meshes have is intersection basically when the two meshes intersect with each other there will be an area where both meshes are overlapping with each other that area will be the thing that is remaining this is basically what CSG and goad is CSG cylinder 3D the CSG cylinder is a CSG mesh with a cylinder shape it behaves exactly like the CSG box 3D but just with a different shape CSG Taurus 3D this is just a CSG mesh with a donnut shape CSG sphere 3D this is just a CSG G mesh with a sphere shape CSG mesh 3D basically with this node you can choose what shape you want to do CSG operations with you can even give it a custom mesh CSG polygon 3D so you remember how there was a collision shape you can make by adding points to it well this is the same thing but as a CSG mesh you add points to the polygon property and can basically create a custom CSG shape unfortunately though you can't really move a vertex in the third dimension CSG combiner 3D the CSG combiner 3D allows you to put CSG meshes as children and they will all affect each other with their operations path 3D with a path 3D you can make a path basically you append points in the curve until you have a ton of linked points making a [Music] path path follow 3D the path follow 3D is very simple you add it as a child of a path 3D and when you change its progress value then it will follow the path you can even add things under the path follow 3D node like a mesh or a collision shape and you can see it even rotates with the path GPU particle 3D using GPU particle 3D you can basically make particle effects to get started you just need to go to the GPU particles draw passes section and add a random mesh you can add a material to the mesh if you want or even add a custom mesh next go to the process material section and under process material add a particle process material you can now just play around with the settings until you get some nice particles CPU particle 3D the CPU particle 3D is the exact same as GPU particle 3DS only it has the same settings organized differently it's worse on performance and it can't get affected by particle attractors or particle collision shapes well why would you want to use this rather than GPU particles well the CPU particle has more settings a draw call is when your computer has to render a single mesh and the more draw calls you have the more of a hit your performance will take the GPU particle is rendering every particle as one draw call which is why it performs better than CPU particles meanwhile every particle in a CPU particle causes a draw call so if you have like 1,000 particles in a single CPU particles then that's a lot of draw calls the only upside to each particle creating a draw call is if you look away from the source of a CPU particle nothing happens but if you look away from the source of a GPU particle then none of them render GPU particles are R ractor box 3D this note is incredibly simple you bring it near a GPU particle that's emitting particles and the particles will be pulled towards the center by the way you need to increase its size because when it's small the attraction is extremely weak GPU particles attractor sphere 3D this is basically the particle attractor box but instead of a box it's a sphere shape GPU particle attractor Vector field 3D well this is basically the same as the particle attractor box and has the same shape but it makes the particles behave quite differently that's because with normal attractors the particle is more attracted if it's closer to the center and less attracted if it's farther from the center sort of like magnets but with the vector field 3D the strength varies on the texture you provide [Music] it multi mesh instance 3D so you remember that draw call jargon I talked about before well hopefully you were paying attention because if not it's going to come back to haunt you so basically each individual mesh causes one draw call and many draw calls is not good but there's actually a way to put a bunch of meshes together to be rendered in just one draw call if you add a multi- mesh instance you can see at the top there is a button that says multi mesh click it then click populate surface this is going to create a bunch of meshes spread over a mesh for Target surface put the mesh you want to scatter the things on then for Source mesh choose the thing you want to scatter then just fill in the final fields and it will create a bunch of meshes spread out that are all rendered in one draw call Direction Al light 3D the directional light 3D is basically your seen Sun if you rotate it you'll see the Sun rotate with it you can change the Sun's energy enable shadows and do all that stuff omnilite 3D omn lights are the main light node that's used and it's very straightforward you can change the lights color energy distance or enable Shadows Spotlight 3D spotlights are simple just like omn lights omn lights emit light in every direction meanwhile spotlights only emit light in the direction it's pointing at making it perfect for something like a flashlight or a spotlight light map gi gi stands for Global illumination and this is basically a baked light map method when you click Bake Light maps at the top then it will bake the light in your entire Seam for every mesh that has its uv2 Channel unwrapped but what's uv2 channels are unwrapping it well I don't know but luckily unwrapping the uv2 handle is very simple just go to every one of your meshes click mesh at the top then click unwrap uv2 by the way you can't unwrap A Primitive mesh's UV too it has to be a custom mesh once you unwrapped every mesh you just go back to your light map GI and click Bake Light Maps the reason you'd want to use this as opposed to Dynamic lights is because baked light Maps do the lighting calculation once before runtime and store the result meanwhile Dynamic lights like omn light directional light and Spotlight have to constantly recalculate to account for things in the seam moving if things in your scene are static and don't move then baked light maps are the way to go light map probe so in the baked light map you remember how after you bake a light map there's those weird spheres everywhere well those spheres are called probes basically the more probes you have in an area the more detailed the lighting you can adjust the density of probes in the light map settings before you bake it or you can add light map probes to an area that you want more detailed lighting voxal gi voxal gi is another type of baked lighting and unlike light map GIS it doesn't need meshes with uv2 channels to be unwrapped it's as simple as clicking the bake voxal GI button only thing is light map GI bakes the lighting for your entire scene meanwhile voxal GI only bakes the lighting for everything contained within the green Cube sure you can make the green baked area larger but that's going to decrease the detail vle GI looks better than light map GI though so if you have a small static scene boxal GI would be perfect for you reflection probe 3D the reflection probe causes Reflections as the name would suggest if you have an object with roughness and metallic cranked all the way to Max and you bring the reflection probe up to it you can see it creates a reflection fog volume first off volumetric fog must be enabl in your world environment for fog volume to work you can set density to zero and the fog volume will still work in the fog volume add a fog material in material you can see that it causes only a certain area to be affected by fog you can even change the shape of the fog skeleton 3D basically when you have an animation you want things to be able to bend so for that you would use something called Bones or armatures all the bones are going to be in skeleton 3D's bone category as you can see it's empty and there's no way to really add bones in GoDaddy adding bones creating the weights and all that stuff is too complicated so that's best left for blender so basically adding a skeleton from the GoDaddy node Adder is basically pointless cuz you can't really edit it in GoDaddy let's say you got a skeleton in blender and you imported it to GoDaddy all the skeleton's bones will be under the bone category and you can move the bones and have them affect the mesh they are attached to Bone attachment 3D a bone attachment is a node that transforms in position and rotation with a bone you just select a skeleton and a bone on that selected and the bone attachment node will attach itself to the Bone physical bone 3D the physical bone 3D is what you need to get ragd dolls working similarly to the skeleton 3D adding them from the Goon node Adder menu is pointless to get the physical bone set up on your skeleton you need to go to your skeleton click skeleton 3D and click create physical skeleton it will auto automatically add a physical bone 3D in Collision shapes for each of your skeletons bones and if you run your game you'll see ragd dolls working sort of you just need to change the Collision shapes a bit and your ragd doll will be more [Music] correct visible on screen Notifier 3D this node has a signal called screen entered add this signal to your script and you will see that every time the onscreen Notifier enters your view it will fire the signal visible on screen enabler 3D the onscreen enabler is similar to the onscreen Notifier but it doesn't fire signals when it enters your view instead it makes the selected node that you put in notepad be disabled by default but when the onscreen enabler enters your view the node will become enabled again XR first let's talk about XR and what it is XR stands for extended reality XR basically just means it is for virtual reality applications and augmented reality applications the XR origin is the parent of all your XR stuff next add an XR camera and two XR controllers for your hands attach meshes on the hands copy this code that can be found on the GoDaddy documentations and when you run it you'll see something similar to Virtual Reality joints joints are basically like physics hinges if you add a joint and in the joints note IA category you put a rigid body you will see that the rigid body is only able to swing around now there's different types of joints but from what I've seen they all behave the exact same even if you change all their different properties there's the cone Twisted joint pin joint generic 60o EF joint and a hinge joint if you want a simple hinge like I've shown you then I'd recommend just sticking with the hinge joint with the hinge joint you can even enable motor which gives the physics object a constant acceleration slider joint 3D I think just by the name you can tell what a slider joint is if not well a slider joint is basically a slider you choose a node in its Noe a and the chosen node will be attached to the slider if you used a physics node then the slider will have physics grid map this note is a tool to help design the scene basically you put a bunch of meshes in an alternate scene then you click scene and Export as mesh Library once you have that exported go back to your grid map and in the mesh Library property select the mesh Library you exported you will see on the right all your meshes are showing up you can drag them in game and design the level using this and everything you added using grid map will be in the grid map node so when you move the grid map node everything will move there's also lots of tools the grid map comes with to help you place the objects better the crazy thing is you can attach Collision shapes and they will be added accordingly with the grid map marker 3D the marker 3D isn't really anything special it's just a marker that shows up in your editor viewport to help you keep track of things it even comes with the XYZ Gizmo and you can make them extend farther auder instance 3D an occluder instance is a node that is meant for optimizing the visual side of your game basically you give the uder instance a sh shape and anything that is blocked from the camera's view by the shape will not be rendered to give it a more complex shape you just parent it under a mesh with the shape you want and you click bake occluders or you can just parent it to the root node and bake auder so the uder shape will have the shape of every mesh in your seam raycast 3D the ray cast is a very useful tool that probably every game uses basically the raycast sends a ray out and if the ray collides with the body then you can get the object that the ray collided with the point the ray collided at and more the ray will stop at the body at think of it like a laser pointer it will keep extending through space until it hits a body shape cast 3D the shape cast is just like the ray cast but instead of a ray you can give the shape cast a shape unlike a ray cast The Shape cast won't be stopped by just one Collision the area that collided won't continue but the rest of the shape cast will continue casting out making it perfect for something like an enemy sight lines remote transform 3D the remote transform allows you to choose a node the node you chose will inherit the transform of the remote transform it'll rotate with the remote transform form move with it it'll even scale with the remote transform although the node will only inherit the remote transforms transform when the remote transform is transformed yeah I know a lot of transforms if that explanation was confusing maybe this visual example will help spring arm 3D basically the spring arm is like a spring the spring arm has something that resembles a ray cast you can change the Spring's length to increase the max distance the seeming raycast will travel when the spring arms raycast collides with something all its children will be moved to the Collision point that was a lot of nodes to go through and if you didn't remember everything then that's fine hopefully you learned a few nodes that could be of use throughout this video anyways this lightning speed overview has given you a glimpse of the incredible possibilities that GoDaddy offers for your 3D game development Journey remember these nodes are your building blocks to create expansive immersive worlds so don't hesitate to dive deeper into each one as you craft your gaming masterpie pieces if you found this video helpful or have any questions feel free to drop a comment below don't forget to hit that like button and subscribe for more exciting GoDaddy insights until next time happy 3D game development and keep creating games
Info
Channel: Ryan Games
Views: 6,358
Rating: undefined out of 5
Keywords: Godot, Game, Game development, Video game, Godot tutorial, Godot 3D, Godot world environment 3D, Godot nodes, Every godot node, Godaddy, Godot 4, Godot 4.1, Godot basics, Learn Godot, Godot beginner, Godot tips, godot essentials
Id: vAoKjE4edV4
Channel Id: undefined
Length: 21min 16sec (1276 seconds)
Published: Sat Oct 28 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.