All those processes you disabled are already disabled if you didn't include callback methods in the script. If you want only a single burst then check the "One Shot" under the Time section and every time you want a new SPLAT just set emitting = true which gets turned off automatically because of "One Shot". When you have bullet vs instance collision and setting damage, you can use that to pass the direction of bullet velocity instead of looking up the player position which can be different from where the bullet came from. Still, thumb up for making a tutorial for Godot.
So the reason I used the player's direction to the enemy is for compatibility with other people's scripts. There was a chance some people were going to have the issue that it would be rotated in the wrong direction because they didn't use a knock back system or they used it in a different way. So I just wanted to keep it easy for them to follow along. I did think about using the one shot method instead of disabling all of those processes. But I didn't know if the particles would be processed after. I just wanted to make sure the particles were well optimized. Thanks for the feedback! I often overcomplicate my tutorials, so it's good to hear of the other solutions. Thanks for watching 👍
@@PlugWorldDirection didn't make sense for me because you can't have damage without collision and where's a collision there's a reference to colliding bodies.
Yo I don't know if you remember but I was a huge fan back during your Godot spaceship game tutorial series. I'm now using Unity but I really wanted to thank you for getting me into game development and now seeing you with over 1000 followers is Awesome. Keep up the great videos. 👍
Yeah that would work. You can't do it on the blood specifically since they disabled all processes. But if you do it under a node2d and modulate the transparency over time that would work.
or you can use a visibilitynotifier2d node and remove the node once its no longer visible at the screen. add the node, connect the signal.. func _ready(): get_node("notifier").connect("screen_exited", self, "_on_screen_exited") func _on_screen_exited(): queue_free()
I'll look into it. But you can already find tutorials on joysticks in Godot right now. All you need to do is apply the values of the joysticks to the Player's direction and position.
Good video! But I have a question. Can i paint 2D particles on a 3D surface. like for example I want to make painting splatter on walls.How can i achieve that?
That's a lot more difficult to achieve in 3D. Decals aren't a thing yet, until 4.0. So you will have to program all of that base functionality yourself. I recommend watching some bullet decal videos. Then after that, you can look into using this as the blood decal. Maybe shoot a raycast at a slight random rotation offsets (so the blood particles don't hit the same place) and instance a blood decal where the point is that the raycast collides. You would have to do this in a for loop if you want multiple blood splatters. Idk I haven't done it before. Let me know if you have any questions. Maybe I'll make a tutorial about it later 😉
@@PlugWorld I think my comment keep being automatically deleted. I just want to know your opinion about the results I made on itch. I am not promoting or spamming.
Thank you very much for your help. The code for adding the instance to the scene tree did not work for some reason (i wasnt able to see the blood particles in the game), but i made it work with this code -> get_tree().get_root().call_deferred("add_child",bloodSplatter) Posting it so it may help someone with the same problem.
in the gpu particles you can follow with the timer but instead of having to write all this just write speed_scale = 0 (quick tip)
Good to see you back!
Welcome back! I was just thinking about your channel the other day
Thanks, I am glad to be back, I had to post something in between this and filming my tutorial series haha.
All those processes you disabled are already disabled if you didn't include callback methods in the script. If you want only a single burst then check the "One Shot" under the Time section and every time you want a new SPLAT just set emitting = true which gets turned off automatically because of "One Shot".
When you have bullet vs instance collision and setting damage, you can use that to pass the direction of bullet velocity instead of looking up the player position which can be different from where the bullet came from.
Still, thumb up for making a tutorial for Godot.
So the reason I used the player's direction to the enemy is for compatibility with other people's scripts. There was a chance some people were going to have the issue that it would be rotated in the wrong direction because they didn't use a knock back system or they used it in a different way. So I just wanted to keep it easy for them to follow along.
I did think about using the one shot method instead of disabling all of those processes. But I didn't know if the particles would be processed after. I just wanted to make sure the particles were well optimized.
Thanks for the feedback! I often overcomplicate my tutorials, so it's good to hear of the other solutions. Thanks for watching 👍
@@PlugWorldDirection didn't make sense for me because you can't have damage without collision and where's a collision there's a reference to colliding bodies.
I like this little tutorials!
Thanks, I enjoy making them! 👍
good pacing! I like that you move fairly fast
Great tip about keeping a reference to the player in the globals!
Great, welcome back... 👏👏👏
great tutorial, thanks for keeping it brief!
Yo I don't know if you remember but I was a huge fan back during your Godot spaceship game tutorial series. I'm now using Unity but I really wanted to thank you for getting me into game development and now seeing you with over 1000 followers is Awesome. Keep up the great videos. 👍
Simple and precise, thank you !
Thnks m8, i really needed that tutorial
No problem, thanks for watching :)
Thx a lot, going to use this for the mini jam 118 vampire.
Amazing tutorials
Ah thanks, glad you enjoy them
Will the blood splash only at under _process function?
I tried connecting tree_exited signal to another func and it didn't work :/
Thanks for the tutorial
Btw, you dont have to disable every process, only process_internal is enough)
Perfect timing!
will having thousands of these in a scene impact performance?
hey can we add a timer that makes the blood disappear after some time (im a noob)
Yeah that would work. You can't do it on the blood specifically since they disabled all processes. But if you do it under a node2d and modulate the transparency over time that would work.
Can you make it disappear after a certain amount of time that you can change!?!
Yeah, put the particles under a Node2D and put a timer under the Node2D. Once the timer goes off, lerp the modulate alpha of the Node2D to zero.
or you can use a visibilitynotifier2d node and remove the node once its no longer visible at the screen.
add the node, connect the signal..
func _ready():
get_node("notifier").connect("screen_exited", self, "_on_screen_exited")
func _on_screen_exited():
queue_free()
Sometimes I think the Internet reads my quiet mind.
FOR GODOT 4
instead of setting all the processes to false, it's
process_mode = PROCESS_MODE_DISABLED
I came to the same conclusion but my particles start to jitter when paused like this and I don't know why..
@@hugobelperron9647 could they be colliding with each other?
@@AlphabeticalNugget I'll have to check but I don't believe I enabled collisions in the particle node
@@HuganTheUnknown Turn off the interpolation or set fixed FPS to 0.
Thanks for your time :)
So far so good
Best video
Hello
Please Make a Tutorial about how at add Joysticks in godot for mobile games
Thank You
I'll look into it. But you can already find tutorials on joysticks in Godot right now. All you need to do is apply the values of the joysticks to the Player's direction and position.
Thank you
Good video! But I have a question. Can i paint 2D particles on a 3D surface. like for example I want to make painting splatter on walls.How can i achieve that?
That's a lot more difficult to achieve in 3D. Decals aren't a thing yet, until 4.0. So you will have to program all of that base functionality yourself. I recommend watching some bullet decal videos. Then after that, you can look into using this as the blood decal. Maybe shoot a raycast at a slight random rotation offsets (so the blood particles don't hit the same place) and instance a blood decal where the point is that the raycast collides. You would have to do this in a for loop if you want multiple blood splatters. Idk I haven't done it before. Let me know if you have any questions.
Maybe I'll make a tutorial about it later 😉
@@PlugWorld I think my comment keep being automatically deleted. I just want to know your opinion about the results I made on itch. I am not promoting or spamming.
Oh it's all good, yeah UA-cam probably thinks it's spam because of the link. Just send it to me on Discord, I'll give it a look, thanks!
i modified this for the player. it turned out well
3 hours of figuring out whats wrong and the answer was too simple...
Glad you figured it out. Welcome to programming! 😂
Thank you very much for your help. The code for adding the instance to the scene tree did not work for some reason (i wasnt able to see the blood particles in the game), but i made it work with this code -> get_tree().get_root().call_deferred("add_child",bloodSplatter)
Posting it so it may help someone with the same problem.
Nice! Thanks a lot ⭐
first, welcome back!
love your voice :v
Thanks for video, +1 subscribe
ThankYou