Announcement

Collapse
No announcement yet.

EasyBallistics plugin

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    [WIP] EasyBallistics plugin

    Hello.

    Since EasyFM proved useful for a few people, I decided to work on another plugin, using similar approach to simulate ballistics.

    Now, there are a couple of bullet simulations out there already, so let me explain why *another one*:

    First of all, it won't be a blueprint but a plugin, which means
    +high performance
    +no extra "clutter" in your project
    +works seamlessly with both Blueprint and C++ projects
    -desktop only (for now)
    -if you want to do any changes to plugin itself, you have to know C++
    -won't be on the marketplace until Epic adds official plugins support

    Second, i'm going to follow real world physics whenever practical. So when you hit something, it won't output some arbitrary "damage" number, but exact amount of kinetic energy, depending on projectile mass, muzzle velocity, range etc. Projectiles will be affected by wind, gravity, and air resistance. Ricochets and wall penetration are also possible.

    Third, this simulates physics and physics only, which means there will be no "out of the box" visuals, but with a bit of blueprinting you'll be able to integrate it with weapons and effects from the marketplace (or your own).

    And here's some (very early) WIP videos:



    Anyone interested?

    EDIT: Now available on Gumroad: https://gum.co/easyballistics ($25)

    EDIT2: Try the new demo: https://drive.google.com/open?id=0B2...TZSZ1lXNUlMMEE

    EDIT3: Now available on Marketplace: https://www.unrealengine.com/marketp...listics-plugin
    Last edited by moookiexl; 03-22-2017, 11:06 AM. Reason: released

    #2
    Yes Will buy!

    I am really happy with EasyFM at the moment

    Comment


      #3
      Nice work, reminds me of Arma 3 ballistics test community map, will be useful for many shooter projects

      Comment


        #4
        Yes I'm interested primarily from the performance aspect but I'm no c++ programmer so I'm struggling to understand how I can liase with my blueprint created projectiles?
        Regards
        Slinky

        Comment


          #5
          Originally posted by SlinkyMuffins View Post
          Yes I'm interested primarily from the performance aspect but I'm no c++ programmer so I'm struggling to understand how I can liase with my blueprint created projectiles?
          Regards
          Slinky
          I didn't completely understand the question. You mean how to make your BP projectile work with this?
          You'll go to your bp's class settings and change its parent class to EBBullet, like this:
          Click image for larger version

Name:	how.png
Views:	1
Size:	47.5 KB
ID:	1104028
          After that, all movement and collision will be handled by the plugin. You'll also get a new custom event OnImpact that will be triggered when the projectile hits something.

          (at least that's how it works atm, it may change)

          Comment


            #6
            How about some cool projectile drop logic would be cool to use this to apply projectile drop logic to different weapons.

            Comment


              #7
              Originally posted by OverRated_AU View Post
              How about some cool projectile drop logic would be cool to use this to apply projectile drop logic to different weapons.
              what do you mean by "projectile drop logic"? If you mean the gravity effect on projectile than its quite obvious from video that it is present.....

              Comment


                #8
                Originally posted by OverRated_AU View Post
                How about some cool projectile drop logic would be cool to use this to apply projectile drop logic to different weapons.
                Yep, when i'm done with collisions, i'll try adding more accurate trajectory calculation, depends on if i can find all necessary data.

                Comment


                  #9
                  Originally posted by moookiexl View Post
                  Yep, when i'm done with collisions, i'll try adding more accurate trajectory calculation, depends on if i can find all necessary data.
                  Thanks sounds great.

                  Comment


                    #10
                    Progress report: "internal" physics of this plugin can now interact with Unreal's own physics. What does that mean?
                    1. Objects with physics react to being shot:

                    (conservation of momentum is of course in full effect, if the object stops the bullet it will receive more energy than if the bullet passed through or bounced)

                    2. Recoil:

                    (This also works without EasyFM. You can attach EB weapon to *anything* simulating physics and it'll be affected by recoil.)
                    Last edited by moookiexl; 04-12-2016, 01:30 PM.

                    Comment


                      #11
                      Hey [MENTION=88004]moookiexl[/MENTION]
                      Got a few Suggestions -

                      Suggestions -

                      1. Would it be possible to add Area of effect support for explosions from things such as Grenades, Bombs, Tank Shells, Artillery Shells, and the like? Basically things that go boom and make shrapnel in a large or small area.

                      I know that there are some grenades that are designed to punch through concrete then explode for example. This would also be beneficial to things such as bunker busting bombs, AP/HE Tank Shells, Artillery Shells, etc.

                      2. It would be nice to have a C++ based component that we can call in our Blueprint for interacting with other Easy Ballistics objects to determine what can be penetrated by what. For example - If I shoot a pistol with a 9mm round at the side of a Armored Tank. The pistol round should not go through the tank. Let alone penetrate it. It would be nice to have a component with an array that said X objects cannot penetrate this specific object(s). I think this would save allot of time and blue print. It would also be useful to define what behavior that bullet from that object can do. (Such as Ricochet and overall energy left after passing through an object for example)

                      Either way do what is best for the plugin. Just my 2 cents.
                      Last edited by HeadClot; 04-12-2016, 11:41 PM.

                      Comment


                        #12
                        [MENTION=260]HeadClot[/MENTION]

                        1. OnImpact event can be used to trigger any type of damage, be it simple hitpoint reduction, directional hit, area effect, your own custom damage type, or something completely different, like spawn shrapnel.

                        2. Yes, I'm going to do that. I just haven't decided on exact implementation yet. I'll probably have some kind of "material response library" that will control how different physics materials affect the behavior of the bullet. I can also make it specific for each bullet class, so you can have, for instance, tank armor being impenetrable to a 9mm bullet, but not to a 120mm shell.
                        At least that's the plan, if that doesn't work, i'll have to come up with something else.
                        Last edited by moookiexl; 04-13-2016, 05:41 AM.

                        Comment


                          #13
                          Originally posted by moookiexl View Post
                          [MENTION=260]HeadClot[/MENTION]

                          1. OnImpact event can be used to trigger any type of damage, be it simple hitpoint reduction, directional hit, area effect, your own custom damage type, or something completely different, like spawn shrapnel.

                          2. Yes, I'm going to do that. I just haven't decided on exact implementation yet. I'll probably have some kind of "material response library" that will control how different physics materials affect the behavior of the bullet. I can also make it specific for each bullet class, so you can have, for instance, tank armor being impenetrable to a 9mm bullet, but not to a 120mm shell.
                          At least that's the plan, if that doesn't work, i'll have to come up with something else.
                          Alright Awesome

                          Comment


                            #14
                            Click image for larger version

Name:	response.png
Views:	1
Size:	62.8 KB
ID:	1106017
                            Material response libraries implemented as requested. Sorry it took so long.

                            I also implemented more accurate bullet drop. Now you can just enter mass, diameter, form factor, muzzle velocity and mach deceleration curve, and it'll calculate the rest. From limited testing i've done it follows real world measured data quite nicely.
                            Last edited by moookiexl; 05-06-2016, 03:39 PM.

                            Comment


                              #15
                              Originally posted by moookiexl View Post
                              [ATTACH=CONFIG]92174[/ATTACH]
                              Material response libraries implemented as requested. Sorry it took so long.

                              I also implemented more accurate bullet drop. Now you can just enter mass, diameter, form factor, muzzle velocity and mach deceleration curve, and it'll calculate the rest. From limited testing i've done it follows real world measured data quite nicely.
                              Let me know when you put it up for sale

                              Comment

                              Working...
                              X