ไม่สามารถเล่นวิดีโอนี้
ขออภัยในความไม่สะดวก

Niagara bullet hell game How to UE4 | Niagara collision projectile

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ส.ค. 2024
  • It is good to learn how to handle Export Particle Data to Blueprint. Sample Download
    Japanese version: • UE4 Niagara 弾幕ゲームの基礎【サ...
    Sample Data: github.com/O-Y-G/NiagaraSample
    Article:qiita.com/O_Y_G/items/d696d01...
    00:00 Intro
    00:35 What is Niagara?
    02:22 Practice! Creating Particles
    03:14 Niagara Collision
    10:05 Niagara Barrage
    13:16 Sample data
    14:16 Ending
    Recommended Videos≫ Let's enjoy the new effects tool, Niagara! ~A breakdown of Niagara's examples • 新しいエフェクトツール、Niagaraを楽し...
    Content Examples: www.unrealengine.com/marketpl...
    Sample of fireworks (Mr. Mamesuo): papersloth.hatenablog.com/ent...
    Sound materials used:OtoLogic(otologic.jp)
    Picture materials used:Irasutoya(www.irasutoya.com)
    Thank you for reading.
    Twitter: / o_y_g
    A collection of tips for creating 2D dot art games in UE4.
    qiita.com/O_Y_G/items/cc1b492...

ความคิดเห็น • 59

  • @G3neric_art
    @G3neric_art 11 หลายเดือนก่อน +3

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

  • @zucchini3D
    @zucchini3D 2 ปีที่แล้ว +6

    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 2 ปีที่แล้ว +8

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

    • @OY-Games
      @OY-Games  2 ปีที่แล้ว +1

      Thank you! These comments are so encouraging!

  • @luccasmachado4748
    @luccasmachado4748 2 ปีที่แล้ว +2

    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.

  • @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☆.

  • @beemenut-gamedesign4622
    @beemenut-gamedesign4622 2 ปีที่แล้ว +1

    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.

  • @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.

  • @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.😆

  • @andrewwaterhouse2378
    @andrewwaterhouse2378 ปีที่แล้ว +1

    IVE BEEN LOOKING FOR THIS FOR AGES THANK YOU

    • @OY-Games
      @OY-Games  ปีที่แล้ว

      Glad I could be of service.

  • @CreativeGraham
    @CreativeGraham 3 หลายเดือนก่อน +1

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

  • @JanHarcarik
    @JanHarcarik 2 ปีที่แล้ว +2

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

    • @OY-Games
      @OY-Games  2 ปีที่แล้ว +1

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

  • @Seto92
    @Seto92 2 ปีที่แล้ว +2

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

    • @OY-Games
      @OY-Games  2 ปีที่แล้ว

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

  • @patrickianperalta
    @patrickianperalta 5 หลายเดือนก่อน +1

    Thank you, great content

  • @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.

  • @KittyxHawk
    @KittyxHawk 2 ปีที่แล้ว +1

    Thanks a lot was a really nice tutorial

    • @OY-Games
      @OY-Games  2 ปีที่แล้ว

      Glad you found it useful.😆

  • @mateiadeodatus335
    @mateiadeodatus335 2 ปีที่แล้ว +1

    awesome! thanks!

    • @OY-Games
      @OY-Games  2 ปีที่แล้ว

      Glad I could be of help.😊

  • @murakamih951
    @murakamih951 ปีที่แล้ว +1

    Amazing tutorial, thanks a lot!

  • @Deadlyman66
    @Deadlyman66 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.

  • @arthercasillas2755
    @arthercasillas2755 ปีที่แล้ว +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  ปีที่แล้ว +1

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

    • @arthercasillas2755
      @arthercasillas2755 7 หลายเดือนก่อน

      @@OY-Gamesthank you

  • @Neuromindart
    @Neuromindart หลายเดือนก่อน

    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?

  • @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 ปีที่แล้ว

      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?

  • @michaels7079
    @michaels7079 7 หลายเดือนก่อน

    Thank you

  • @jamaalsineke2405
    @jamaalsineke2405 4 หลายเดือนก่อน +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  4 หลายเดือนก่อน +1

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

    • @jamaalsineke2405
      @jamaalsineke2405 4 หลายเดือนก่อน

      @@OY-Games Thank you

  • @guillermomontoya3382
    @guillermomontoya3382 หลายเดือนก่อน +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  หลายเดือนก่อน +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 หลายเดือนก่อน +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  หลายเดือนก่อน +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 หลายเดือนก่อน +1

      @@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  หลายเดือนก่อน +1

      @@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🌟

  • @jephrennaicker4584
    @jephrennaicker4584 7 หลายเดือนก่อน

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

  • @commoncure3335
    @commoncure3335 10 หลายเดือนก่อน

    is this effective at taking load off the cpu?

  • @arthercasillas2755
    @arthercasillas2755 7 หลายเดือนก่อน

    Please make a shmup templete !

  • @MichaelEmbers
    @MichaelEmbers ปีที่แล้ว +1

    you are a don!

  • @virtualalphastudios6149
    @virtualalphastudios6149 2 ปีที่แล้ว +2

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

    • @OY-Games
      @OY-Games  2 ปีที่แล้ว

      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 2 ปีที่แล้ว +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 ปีที่แล้ว +1

    Good tutorial but the robot voice is just awful.