Niagara bullet hell game How to UE4 | Niagara collision projectile

Поділитися
Вставка
  • Опубліковано 23 січ 2025

КОМЕНТАРІ • 63

  • @G3neric_art
    @G3neric_art Рік тому +3

    Awesome spend weeks to dig up that specific type of content!! Please keep the engl. translated format.

  • @luccasmachado4748
    @luccasmachado4748 2 роки тому +3

    Wish i knew about this channel earlier haha it would have saved me a lot of time. Most tutorials teach about collisions only for effects.

    • @OY-Games
      @OY-Games  2 роки тому +1

      Thanks for your message! I too struggled with collisions for a lot of time and I would be happy if more people could solve this problem with this video.

  • @CaigoWayabe
    @CaigoWayabe 3 місяці тому +1

    最高です!!シェアしてくれてありがとうございました!

  • @zucchini3D
    @zucchini3D 2 роки тому +7

    This was SO in depth and easy to understand! I’ve been playing a ton of Touhou games recently and I really want to try making a 3D bullet hell of my own. I had no idea where to start, but this video changed all that omg. You are amazing 🥳🥳

    • @OY-Games
      @OY-Games  2 роки тому +2

      Glad you found it helpful. Let's work hard for each other to make the game.

  • @handkor
    @handkor 3 роки тому +8

    This was a wonderful tutorial that covers everything needed for this technique. You are awesome.

    • @OY-Games
      @OY-Games  3 роки тому +1

      Thank you! These comments are so encouraging!

  • @guillermomontoya3382
    @guillermomontoya3382 Рік тому +2

    This is a gem, exactly what I was looking for. I'm gonna try to implement it and hopefully it serves my needs, cause I need the particles to have very specific behavior. Thanks for this, subscribed and looking forward for more tutorials from you.

    • @OY-Games
      @OY-Games  Рік тому +1

      I hope it has been helpful.
      I hope you get good results.

    • @guillermomontoya3382
      @guillermomontoya3382 Рік тому +1

      @@OY-Games Needed to make some changes but Going great so far. I'm also trying to figure out how to handle collisions and bullet behavior from a blueprint and then only render with niagara. If you make a future tutorial about that, I will be deeply interested.

  • @beemenut-gamedesign4622
    @beemenut-gamedesign4622 2 роки тому +2

    This tutorial has helped me tremendously with personal projects, thank you UE5 2Don!
    I do want to add, in case anybody is using custom trace channels for their Niagara collision;
    Don't forget to go under the "Collision" tab under "Particle Update" and then go to the very bottom under "Ray Trace Properties" change the setting for "CPU Collision Trace channel" to your custom trace channel.
    When creating the trace after the "Niagara Receive Particle Data" don't forget to set the trace channel on the sphere trace to your custom trace channel as well.
    Just thought this might help someone in the future.

  • @andrewwaterhouse2378
    @andrewwaterhouse2378 2 роки тому +1

    IVE BEEN LOOKING FOR THIS FOR AGES THANK YOU

    • @OY-Games
      @OY-Games  2 роки тому

      Glad I could be of service.

  • @Richard0503
    @Richard0503 3 місяці тому

    This was brilliant - you did an amazing job!

  • @Cloroqx
    @Cloroqx 2 роки тому +2

    This was really, really useful! Thank you so much! I'd suggest you add "Niagara collision projectile" somehow into the title or tags, as that was what I was searching for and couldn't find in this video. Thanks!

    • @OY-Games
      @OY-Games  2 роки тому +1

      I am glad I could be of help.
      And thanks for the advice! I'll be sure to add your search terms☆.

  • @CreativeGraham
    @CreativeGraham 9 місяців тому +1

    This is awesome! Thank you so much for putting this together.

  • @wjomlex
    @wjomlex 2 роки тому +1

    This is an amazing tutorial. By far the best Niagara tutorial I've seen. Thanks so much!

    • @OY-Games
      @OY-Games  2 роки тому

      I'm glad you found it useful.
      Your message is very encouraging.😆

  • @JanHarcarik
    @JanHarcarik 3 роки тому +2

    This is very cool tutorial! It is very informative and Intense! Thank you!!

    • @OY-Games
      @OY-Games  3 роки тому +1

      Thanks for the comment! I'm glad it was helpful.

  • @Seto92
    @Seto92 3 роки тому +2

    thanks for the tutorial it's amazing and you explain it very well!

    • @OY-Games
      @OY-Games  3 роки тому

      Thank you for your comments!
      I was worried about being able to hear properly, but I'm glad to hear that you are okay.

  • @jamaalsineke2405
    @jamaalsineke2405 10 місяців тому +1

    Hi, how would the damage be applied to the player character? Everyone in the Unreal forums say it's impossible to use Niagara for damage detection so I'm stuck

    • @OY-Games
      @OY-Games  10 місяців тому +1

      Hi, Please see the explanation from 03:14 to the end.

    • @jamaalsineke2405
      @jamaalsineke2405 10 місяців тому

      @@OY-Games Thank you

  • @CaigoWayabe
    @CaigoWayabe 3 місяці тому +1

    In case any couldn't find the event handler 9:24 , it can be found by clicking the plus sign next to "Properties Stage".

    • @OY-Games
      @OY-Games  3 місяці тому

      It is tricky to change the layout when the version changes. Thanks for the supplemental information.

  • @murakamih951
    @murakamih951 2 роки тому +1

    Amazing tutorial, thanks a lot!

  • @n1lknarf
    @n1lknarf 2 роки тому +1

    thank you, saved it for future reference

    • @OY-Games
      @OY-Games  2 роки тому

      Thanks for the comment! I'm glad it was helpful.

  • @patrickianperalta
    @patrickianperalta 10 місяців тому +1

    Thank you, great content

  • @mateiadeodatus335
    @mateiadeodatus335 2 роки тому +1

    awesome! thanks!

    • @OY-Games
      @OY-Games  2 роки тому

      Glad I could be of help.😊

  • @KittyxHawk
    @KittyxHawk 2 роки тому +1

    Thanks a lot was a really nice tutorial

    • @OY-Games
      @OY-Games  2 роки тому

      Glad you found it useful.😆

  • @Neuromindart
    @Neuromindart 7 місяців тому

    I'm in a unique situation where I want the particles to bounce off the ground/wall as well as damage the player. I don't want the bullets to fly through the walls/ground. Is there a way to solve this?

  • @arthercasillas2755
    @arthercasillas2755 2 роки тому +1

    I’m having a hard time translating the Japanese text. Most of the topics covering SHMUPS with Niagara are in Japanese. Is there any translations available?

    • @OY-Games
      @OY-Games  2 роки тому +1

      Translate from right click in Chrome browser.
      How about using DeepL to translate or something like that?
      www.deepl.com/translator

    • @arthercasillas2755
      @arthercasillas2755 Рік тому

      @@OY-Gamesthank you

  • @davehansan
    @davehansan 2 роки тому +1

    Hi, amazing tutorial! Works great! Should we have a new bp_callback for different emitters in the same level? For some reason one of mine works and the other doesnt. Also I got it to collide with me but it ignores static meshes. How can I get it to also collide with those and react?

    • @OY-Games
      @OY-Games  2 роки тому

      Thanks for your comment!
      If only one responds, it may be that the name of the "bp_callback" is batting. Try renaming it "bp_callback2" or something similar and increase the settings on the actor side.
      If it does not collide with the static mesh, try checking the collision settings again.
      There is sample data available, so check it against your own condition to see what you can find out.
      github.com/O-Y-G/NiagaraSample

    • @davehansan
      @davehansan 2 роки тому

      Thank you everything has been working great but I’m having an issue. My characters are moving at extremely high speeds on a spline. This results in projectiles missing the player most of the time. So I have to increase the velocity of the projectile to match the player. But if the projectile is too fast the collision doesn’t respond. Is there a way to solve this issue?

  • @commoncure3335
    @commoncure3335 Рік тому

    is this effective at taking load off the cpu?

  • @guillermomontoya3382
    @guillermomontoya3382 6 місяців тому +1

    Hey man, I just wanted to say that your tutorial has helped me a ton in the past months to have the demo for my game almost ready and a small participation in Gamescom Latam 2024. Thank you so much. However, I got a problem that I still haven't found a solution to. Every time I package the game the Event "Receive Particle Data" doesn't seem to work at all, even though it works perfectly in-engine. It is simply not being called in collision when the project is packaged. Do you know why that could be?

    • @OY-Games
      @OY-Games  6 місяців тому +1

      What version of the Unreal Engine are you using?
      We have recently confirmed that "Receive Particle Data" works correctly after packaging, at least in UE5.2.1.
      There may be some bugs in some versions.

    • @guillermomontoya3382
      @guillermomontoya3382 6 місяців тому +1

      @@OY-Games I see. Thank you for your confirmation. Mine is UE5.3.2 . For obvious reasons I cannot test packaging in an older version of the engine. What do you suggest I could do?

    • @OY-Games
      @OY-Games  6 місяців тому +1

      @@guillermomontoya3382 I tried to package it in my environment with UE5.3.2.
      As a result, "Receive Particle Data" was working correctly.
      I suggest you prepare a simple project and check again.
      I have a feeling that you have a problem with something other than "Receive Particle Data."

    • @guillermomontoya3382
      @guillermomontoya3382 6 місяців тому +2

      @@OY-Games Hey man, thank you so much for your help. It indeed got me to the solution, it is already fixed. I'm gonna share it with you. It turns out that I'm an idiot.
      But Talking in detail, The event "Receive Particle Data" was not being triggered because The user parameter BP_CallBack was not being found, which is strange cause in-engine works perfectly. It turns out that when "packaged" the underscore "_" is not being recognized (I'm not sure why I used an underscore in the first place for the name but here we are). So, I tried naming it like your tutorial "BPCallBack" without the underscore and it works, after packaging, as fine wine.
      I had no idea that this could happen with naming conventions, but for future reference it is addressed here.
      Again, thanks for your huge help. Have a wonderful day.

    • @OY-Games
      @OY-Games  6 місяців тому +2

      @@guillermomontoya3382 Congratulations on the resolution!
      I did not know that underscores could be a problem. I think this is very important information. Thanks for letting us know.
      Let's make a good game for each other🌟

  • @domingothegamer
    @domingothegamer 2 роки тому +1

    Hey just wanted to say how invaluable this was. Great stuff!
    I got a question though, while this approach does work well for the main bullet hell approach. How does one deal with collision to lets say for example, you have one trace channel for niagara particles, there are multiple pawns that receive this channel in an area but some are friendly units. Dealing with that information seems pretty difficult since information coming from the Niagara System is kind of a one way pipeline from exporting data.
    To be specific, dealing with who damages who isn't the issue, it's the particle being deleted after colliding in general. Since all it takes is a simple valid collision, the particle deletes itself entirely. Normally you would like a projectile to just go through a friendly pawn. I've tried pretty hacky approaches like setting a boolean variable during runtime in an actor with the niagara system to modify the condition of Kill Particles (CollisionValid AND hitEnemy (Custom Bool)) which kinda works but it has gaps where the bullet will not be removed due to byproduct of User Variables being changed by user and not self sustainable. And I dismissed making another trace channel for collision as that seems really inefficient way to go about that. Pretty sure there perhaps is a custom solution to it if I were to use a custom module in scratch pad and make one. I'm starting to dive into that now, still pretty new to Niagara but learning as I go! Thanks for your time

    • @OY-Games
      @OY-Games  2 роки тому +1

      Thank you for your nice message.
      There are some limitations to Niagara's collision, so we may have to get a little creative.
      I think that checking Actor Has Tag in the Trace node may be useful in distinguishing enemies, allies, etc. this time.
      If you find a good use for this, I would appreciate it if you could share it with us.😆

    • @Suthriel
      @Suthriel 2 роки тому

      I would say, you should reconsider the use of a second trace channel. For what you describe having two channels seems to be the easiest solution. All enemies create EnemyProjectiles, that collide with all players and heros and HeroAllies, while ignoring all enemies, and your Player and his allies fire HeroProjectiles, which only collide with all Enemies and their allies. This should solve the collision problem, since an enemy projectile would only create a valid collision with a Hero or Hero ally, while a HeroProjectile can only create a valid collision with Enemies and EnemyAllies.
      While i have not used NiagaraParticles in my Jump&Run test games (until now, they are regular actors, but i plan to test it with Niagara particles for those BulletHells), my projectiles are set up with two channels just like described: one channel for HeroProjectiles (fired by the player and his companions), and another one for EnemyProjectiles, that are fired by all enemies. With that is easy to set them up, so that they either get destroyed on impact or to continue their flight.
      And just for fun, you could create some projectiles/shields, that can destroy Enemy or HeroProjectiles to intercept/destroy certain projectiles before they impact and do damage.

  • @michaels7079
    @michaels7079 Рік тому

    Thank you

  • @arthercasillas2755
    @arthercasillas2755 Рік тому

    Please make a shmup templete !

  • @jephrennaicker4584
    @jephrennaicker4584 Рік тому

    Great video, but just too fast! for a lot of good detailed information.

  • @gamejamreject
    @gamejamreject 2 роки тому +1

    you are a don!

  • @virtualalphastudios6149
    @virtualalphastudios6149 3 роки тому +2

    EXTREME!!! EXTREME UE TUTORIAL!!!! ONLY FOR EXTREME USERS!!!! SPEED RUN NS!!!! EXTREME!!!!

    • @OY-Games
      @OY-Games  3 роки тому

      We apologize for the difficulty in viewing some of the operations.
      We will make every effort to make the video easier to view in the future.😆

    • @virtualalphastudios6149
      @virtualalphastudios6149 3 роки тому +3

      @@OY-Games It is not a problem for me I just thought it was funny how quick is was and I like it being quick personally. :D

  • @GordonSeal
    @GordonSeal 2 роки тому +1

    Good tutorial but the robot voice is just awful.