DevPoodle
DevPoodle
  • Видео 12
  • Просмотров 24 657
How to Make a Visor HUD - Using Godot Engine
Hello! This is a tutorial on how to make a visor-like HUD in Godot 4. It's loosely based on Metroid Prime's and Lethal Company's HUD. Here's a link to the git repository containing the project's source code: github.com/DevPoodle/yt-example-projects/tree/main/hud.
Thanks so much for watching!
Chapters:
0:00 Intro
0:44 Setting up a basic scene
2:06 Downloading a first person controller
3:03 Creating the HUD
5:02 Adding curvature to the overlay
6:42 Adding a parallax effect
10:11 Outro
Просмотров: 213

Видео

How to Make a Snow Particle Effect - Using Godot Engine
Просмотров 1,3 тыс.Месяц назад
Hello! This is a tutorial on how to make a snow fall particle effect in Godot 4. Here's a link to the git repository containing the project's source code: github.com/DevPoodle/yt-example-projects/tree/main/snow_particles. Kenney's Holiday Kit: kenney.nl/assets/holiday-kit. I hope you have a very merry Christmas!
How to Procedurally Generate Terrain - Using Godot Engine
Просмотров 4,4 тыс.Месяц назад
Hello! This is a tutorial on how to procedurally generate 3d terrain in Godot 4. Here's a link to the git repository containing the project's source code: github.com/DevPoodle/yt-example-projects/tree/main/terrain. Thanks for reading the description and thanks for watching the video.💖
Adding Outlines to my 3D Pixel Art Shader - Using Godot Engine
Просмотров 1,7 тыс.2 месяца назад
Hello! This is a followup tutorial on my video about making a 3d pixel art shader (Previous Video: ruclips.net/video/dHbqsr-KjOg/видео.html). In this one, I take the shader we had before and add pixel outlines and highlights to it. Here's a link to the git repository containing the project's source code: github.com/DevPoodle/yt-example-projects/tree/main/3d_pixel_art_effect. Thanks for reading ...
How to Procedurally Generate Meshes - Using Godot Engine
Просмотров 5 тыс.2 месяца назад
Hello! This is a tutorial on how to procedurally generate 3d meshes in Godot 4. Here's a link to the git repository containing the project's source code: github.com/DevPoodle/yt-example-projects/tree/main/procedural_meshes. Thanks for reading the description and thanks for watching the video.💖
Making a 3D Pixel Art Shader Effect - Using Godot Engine
Просмотров 4,2 тыс.3 месяца назад
Hello! This is a tutorial on how to create 3D pixel art effect using Godot 4 shaders. Here's a link to the git repository containing the project's source code: github.com/DevPoodle/yt-example-projects/tree/main/3d_pixel_art_effect. Thanks for reading the description and thanks for watching the video.💖
Making a 3D Outline Effect - Using Godot Engine
Просмотров 2,2 тыс.3 месяца назад
Hi! This is a tutorial showing you how to create a dynamic 3d outline effect using the new Godot compositor and compute shaders. Here's a link to the example project on GitHub: github.com/DevPoodle/yt-example-projects/tree/main/outline_compositor_effect. Thanks for reading this, and thanks a lot for watching the video! I appreciate it. :) Timestamps: 0:00 Scene setup 1:00 Basic script 9:45 Basi...
Making a CRT Shader Effect - Using Godot Engine
Просмотров 5 тыс.4 месяца назад
Hi there! This is a tutorial on how to make a Godot 4 CRT screen effect using shaders. Here's a link to the project shown in the video: github.com/DevPoodle/yt-example-projects/tree/main/crt_screen_effect. Also, this video was heavily inspired by Acerola's video on the CRT effect using in Loop Hero. Here's a link to that excellent video: ruclips.net/video/aWdySZ0BtJs/видео.html. Thanks for read...
metal pipe? Metal Pipe!
Просмотров 1459 месяцев назад
This is my submission to Redline's Monthly Composing Challenge 9. It may or may not include metal pipe sounds.
Pinball Village - Town Music Jam #3 Submission
Просмотров 80Год назад
This is a submission to Town Music Jam #3. I made the music based off of the theme "Pinball City". I hope you enjoy listening to it! :D
Deltarune No-Hit | King Boss Fight
Просмотров 272 года назад
I defeat the king from Deltarune in both main routes without getting hit once. I had no weapon or armor upgrades during the fight. Pacifist: 0:00 Genocide: 2:50
Deltarune No-Hit | Jevil Boss Fight
Просмотров 382 года назад
This is footage of me defeating Jevil from Deltarune in both main routes without getting hit once. I also had no weapon or armor upgrades during the fight. Pacifist: 0:00 Genocide: 3:15

Комментарии

  • @jeremythibeault
    @jeremythibeault 20 часов назад

    Thanks for the video, I enjoyed it and made a small modification that could be helpful if anyone is misunderstanding the resolution setting in the same way I was. For anyone curious, subdivision depth & width are the number of 'cuts' made, and not the number of faces the surface will be divided into. So for a 'Resolution' setting of 16, you would end up with a 17 * 17 grid where you might expect a 16 * 16 one. To do it the other way I simply subtract 1 from resolution at the following two lines in 'update_mesh()': plane.subdivide_depth = resolution ----> plane.subdivide_depth = resolution - 1 plane.subdivide_width = resolution -----> plane.subdivide_width = resolution - 1

  • @Anonimo239_
    @Anonimo239_ День назад

    Thank you for making these tutorials

    • @devpoodle
      @devpoodle День назад

      I’m glad you like them 😄

  • @devpoodle
    @devpoodle День назад

    Hello! I hope you find this video helpful. If you have any questions or suggestions, feel free to share them! ❤

  • @scooterking136
    @scooterking136 День назад

    10:09 i love the honesty XD thats how so much of learning a new environment feels to me

  • @El-Meowblo
    @El-Meowblo 3 дня назад

    First shader tutorial that actually worked, thank you!

  • @juanxpeke
    @juanxpeke 8 дней назад

    I think you can just use a control panel node anchored to the screen size instead of a mesh node so you dont have to worry about dimensions

    • @devpoodle
      @devpoodle 6 дней назад

      That's a good idea! Using a control would be more flexible for different resolutions.

  • @InternetExplorer687
    @InternetExplorer687 9 дней назад

    Thank you so much, you just ended 3 hours of searching for the right resources.

  • @Karsteski
    @Karsteski 10 дней назад

    great channel

  • @pastellepuppy
    @pastellepuppy 10 дней назад

    Is there a way to generate a collision sibling from this mesh?

    • @pastellepuppy
      @pastellepuppy 10 дней назад

      I saw your other comment about using the HeightMapShape3D, but the update_data_from_image method does not seem to be working (or I am somehow using it incorrectly).

    • @devpoodle
      @devpoodle День назад

      ConcavePolygonShape3D has a method called set_faces that just takes in a Vector3 array of vertices. You may be able to just pass in the vertex array to that method to get the right collision shape, although I haven’t tested it myself yet.

  • @justgolden0
    @justgolden0 11 дней назад

    ty💛

  • @PTgamedev
    @PTgamedev 12 дней назад

    Well, i did this on my phone, the 1 step where i was supposed to see the magic happen, the app crashes everytime...

    • @devpoodle
      @devpoodle 12 дней назад

      I’ve never used the app version, so unfortunately I’m not sure if there’s any bugs or differences in it. I’d recommend opening an issue on the Godot Github describing the crash, and maybe someone will be able to figure out what’s going on.

  • @PTgamedev
    @PTgamedev 12 дней назад

    I did the 1st part exactly like u did, yet when i try the display wireframe, it shows squares, not triangles. Do u know what could be wrong with it? On a side note, awsome tutorial, this is such a great thing to learn for me, many thanks from me!

    • @devpoodle
      @devpoodle 12 дней назад

      I have no idea why it would display squares instead of triangles. It probably depends on which rendering backend your version of Godot is using.

  • @chronicsynths6961
    @chronicsynths6961 14 дней назад

    Awesome tutorial, but really showed me I know nothing about math lmao...

  • @MeIsZwi
    @MeIsZwi 15 дней назад

    I'm just learning Godot Shaders and this is really helpful!

  • @the-birbo
    @the-birbo 15 дней назад

    for some reason when i do it with all the same set up, the shader renders the screen really small in the center of the viewport

    • @devpoodle
      @devpoodle 13 дней назад

      It might be related to the size of the screen quad. It has to be the same as the resolution in the project settings.

  • @Gergenhimer
    @Gergenhimer 17 дней назад

    This came up in my feed and I actually need this for an upcoming step in my game, thanks

  • @paczek1024
    @paczek1024 18 дней назад

    Why not use a full rect color rect on the canvas layer?

    • @devpoodle
      @devpoodle 18 дней назад

      That's another perfectly valid way of applying a shader to the screen. The method I used in the video was just the first that came to mind, although both should work the exact same.

  • @Zeekblitz
    @Zeekblitz 19 дней назад

    Now we just need a video where you apply this terrain to the procedural sphere from your other video!

    • @devpoodle
      @devpoodle 18 дней назад

      I've been thinking about that. I really love seeing procedural planet generation, so I'll probably end up making a video about it eventually.

  • @gjergjipocari8227
    @gjergjipocari8227 20 дней назад

    Not a dev just ran into this on my feed. Good job, I always turn on CRT effects if a game will allow me to and I wish more modern pixel art game devs would take some time to implement a good CRT filter that is tailored to their game.

  • @Blemyz
    @Blemyz 20 дней назад

    How would you add collision?

    • @devpoodle
      @devpoodle 18 дней назад

      Godot has a HeightMapShape3D collider that you could use for adding collision to the terrain. It looks like it should be fairly easy to pass the height data to it, although I haven't had the time to test it myself.

    • @Blemyz
      @Blemyz 18 дней назад

      Sorry it wasn't in a super obvious spot it was pretty simple

  • @JoJo_mjt
    @JoJo_mjt 21 день назад

    thank you man keep up the good work

  • @Blemyz
    @Blemyz 24 дня назад

    @devpoodle i appreciate this tutorial, it's helpful to what I'm making. Any chance you know how to have the particles fly up from the ground? Currently it spawns in the air, flies up and looks goofy

    • @devpoodle
      @devpoodle 23 дня назад

      @@Blemyz If you want them to start off from the ground, you can move the particle node down to below the floor

    • @Blemyz
      @Blemyz 21 день назад

      ​@devpoodle thank you! I'm a step closer to making what i want

  • @sarcastic_scribbles
    @sarcastic_scribbles 25 дней назад

    Awesome work👏 Thanks for the tutorial ❤ You're underrated

  • @jonathonhagan2692
    @jonathonhagan2692 26 дней назад

    **SOLVED** see comment below Having some trouble following, i suspect its a difference in the version of GDscript but i'm getting an error in line 23, var surface_array: Array [ ], i've typed along so my code and yours are the same, but i'm getting an error because its expecting a type to be declared for collection after [. My understanding is that GDScript is intuitively typed and that i don't have to declare the type and it will infer the correct data type, but this doesn't seem to be the case in my version. the script will not run and draw the triangle, it also wont if i declare [Array] in the curly braces, but the error message goes away. however, if i input Vector3 the error code changes and throws an issue with PackedInt32Array declared later in the indices variable. do i have to declare [Vector3] on line 23 and later add - as Float - after declaring the indices variable? currently using Godot 4.3.2, full script pasted below @tool extends MeshInstance3D @export var reload := false : set(new_reload): reload = false regenerate_mesh() var array_mesh: ArrayMesh func _ready() -> void: regenerate_mesh() func regenerate_mesh() -> void: if !array_mesh: array_mesh = ArrayMesh.new() mesh = array_mesh array_mesh.clear_surfaces() var surface_array := create_triangle() array_mesh.add_surface_from_arrays(mesh.PRIMITIVE_TRIANGLES, surface_array) func create_triangle() -> Array: var surface_array: Array [] # <-- error! expected type for collection after [ surface_array.resize(Mesh.ARRAY_MAX) var positions := PackedVector3Array() var normals := PackedVector3Array() var indices := PackedInt32Array() positions = [ Vector3 (0, 0, 0), Vector3 (1, 0, 0), Vector3 (1, 0, 1) ] normals = [ Vector3.UP, Vector3.UP, Vector3.UP, ] indices = [ 0, 1, 2 ] surface_array[Mesh.ARRAY_VERTEX] = positions surface_array[Mesh.ARRAY_NORMAL] = normals surface_array[Mesh.ARRAY_INDEX] = indices return surface_array

    • @jonathonhagan2692
      @jonathonhagan2692 25 дней назад

      SOLVED! by getting rid of the square brackets after Array on line 23 the error went away and the triangle draws.

    • @jonathonhagan2692
      @jonathonhagan2692 25 дней назад

      on closer inspection i was actually missing an = operator, which is not missing from the example code. the two lines which parse are both var surface_array: Array and var surface_array: Array = []

  • @pujy82k
    @pujy82k 27 дней назад

    can you do a tut on how to make 3d isometric movement with this shader ???

    • @devpoodle
      @devpoodle 26 дней назад

      I'll think about it, thanks for the suggestion!

  • @pierreantoine-cheron
    @pierreantoine-cheron 28 дней назад

    Great video, I'm currently trying to randomly generate low poly asteroids, this will help me a lot

  • @req_horizons
    @req_horizons Месяц назад

    Thank you so much for this tutorial!

  • @MCNeko6554
    @MCNeko6554 Месяц назад

    Beautiful VFX tutorial! There are so many possibilities just from the points you covered, thank you!

  • @joebarhouch2742
    @joebarhouch2742 Месяц назад

    Amazing video! thanks for the explanation. I tried it out, then i was able to comment out the tangent arrays, and nothing happens. So what's the point of having it and where is it used?

    • @devpoodle
      @devpoodle 29 дней назад

      @@joebarhouch2742 Good question! For some lighting effects, the tangents are used. I don’t know if the default Godot lights use it, but I wanted to include it just in case someone would need it later. 😊

    • @joebarhouch2742
      @joebarhouch2742 29 дней назад

      @devpoodle sweet thanks! please keep the videos coming🙌

  • @snakehound7678
    @snakehound7678 Месяц назад

    Thank you for this nice video. It helps a lot :)

  • @StuCheeks
    @StuCheeks Месяц назад

    Super informative tutorial! Straight forward and to the point. Thank you.

    • @devpoodle
      @devpoodle Месяц назад

      I’m happy you found it helpful!

  • @MangaGamified
    @MangaGamified Месяц назад

    Video: How to make Pixel Art effect RUclips when vid was 10 years old: I got you fam! **turns vid to 144p**

  • @MrOttyseus
    @MrOttyseus Месяц назад

    I was searching for something like this. You earned yourself a sub dude, keep doing such amazing work!

  • @-fat
    @-fat Месяц назад

    Beautiful explanation!

  • @willywalnuts
    @willywalnuts Месяц назад

    I appreciate every single video you post devpoodle. Merry Christmas

    • @devpoodle
      @devpoodle Месяц назад

      Thanks, I really appreciate it! 😊

  • @devpoodle
    @devpoodle Месяц назад

    Merry Christmas and Happy Holidays! I hope you'll all have a wonderful time. If you have any feedback or suggestions, I love hearing them. See you next year! 🎄🎄🎄

  • @willywalnuts
    @willywalnuts Месяц назад

    This is the stuff I love to see! Subbed. Keep making information like this more accessible!

  • @skidwarpturbine
    @skidwarpturbine Месяц назад

    Fantastic tutorial, thank you so much!

  • @AlexeyNapechkin
    @AlexeyNapechkin Месяц назад

    Прикольненько

  • @asdf6297
    @asdf6297 Месяц назад

    awesome! thanks

  • @Frank_G_Finster
    @Frank_G_Finster Месяц назад

    Wow, this was very informative, nicely explained and fun to watch. Thank you very much for the upload. I left a like and a scubscription.

    • @devpoodle
      @devpoodle Месяц назад

      I’m glad you found it helpful! ❤️

  • @-nothing6245
    @-nothing6245 Месяц назад

    man i did everything in the vid but it doesnt works. keep it up tho perfect vid

  • @thanatos454
    @thanatos454 Месяц назад

    Great video! Anyone generating their own meshes like this should read up on vertex winding order and back-face culling. Though specifying the normals may render it unnecessary. The Godot docs make a point of mentioning a clockwise winding order so it will probably still come up at some point. It is a universal aspect of meshes so it is always good to know about. There is also an issue with your array mesh generation where you are appending duplicate points. You only need to append 4 new points for the first square. After that it only requires 2 new points for the first row/column and 1 new point to fill out the rest. Alternatively I imagine you could generate 4 new points but only for every other square in a checkerboard pattern. There are a number of ways to skin this cat but the idea is to not duplicate vertices. There would also still be duplicates along the edges of your cube but there is always a point where you have to call it good enough. There are different variants of spherical mesh geometries that people should look up as well - each with their own quirks. You are making a Quad Sphere here. There are also Icospheres and UV Spheres.

    • @devpoodle
      @devpoodle Месяц назад

      Thanks for the insight! I was aware that the plane had some duplicated vertices, but for the sake of making the code clearer, I chose to keep them anyway. I’ll try to make those sorts of choices clearer in future videos. 👍

  • @giantneuralnetwork
    @giantneuralnetwork Месяц назад

    Awesome!

  • @fiffy6572
    @fiffy6572 Месяц назад

    Great tutorial man!

  • @PedroPoggianelli
    @PedroPoggianelli Месяц назад

    voce pode fazer um de comic? estou tentando criar uma para comic mas não estou sendo efetivo

  • @leon0ky
    @leon0ky Месяц назад

    thanks you made it simple.

  • @JakobKobberholm
    @JakobKobberholm Месяц назад

    Awesome video. Keep up the good work! One tip: You don't need to close the scene and re-open it. Simply press Ctrl+Shift+R or go to the Scene menu and select "Reload Saved Scene" :)

  • @JakobKobberholm
    @JakobKobberholm Месяц назад

    This was a great video! Although I conceptually eventually understood what was going on, it did make my brain hurt when trying to picture, in my mind, how the normal and tangent were facing or how they got calculated. Vectors are just not that intuitive and I think it would be a lot more digestive, if presented with something as simple as an animated arrow, turning around an axis. Several of the vector calculations and why normalizing all the vertices of a cube, makes a sphere, could benefit from a few more words (or an illustration).

    • @devpoodle
      @devpoodle Месяц назад

      Thanks so much for the feedback! I definitely am looking into more ways I can visualize the concepts in my videos, so hopefully I can make some of the math stuff easier to understand in the future.

  • @ekkemoor7663
    @ekkemoor7663 Месяц назад

    Good to know! Thanks.