EasyBallistics plugin

1.3 is now ready, Gumroad customers should already be able to download it, and soon will be updated on Marketplace as well.

In addition to above mentioned previous frame retracing, I’ve also added a CollisionFilter function override, that allows you to filter out unwanted collisions.
This is useful for disabling friendly fire, protection against spawn camping, no-combat zones, and similar cases where you want actors to become “transparent” for some bullets but not other.

Other changes:
-Multiple bullets can be launched at once if fire rate exceeds framerate
-Distance limit for client side aim
-Replication of shot fired events can be turned off

What’s the rationale behind the deprecation of the OnImpactCosmetic event?

It was a huge bandwidth hog. Especially if you hit a skinned mesh, and the complete name of the impacted bone had to be sent to all clients, whether they needed it or not. I’d recommend creating your own event for that, carrying only required information.

1.3 is now on Marketplace. You should receive the update next time you start the launcher.

Also, the new collision filter probably needs a bit of explanation, so I made a video:

Updated to work with 4.14
Gumroad customers get EasyBallistics_131_414.zip
Marketplace customers should get it automatically via launcher

Additionally, OnImpact event now returns HitResult, so you can get UVs from it for use with those new Draw to RenderTarget functions.

Oh ****,

Just noticed a mistake: you can select “gatling” as fire mode.
Do not use this mode yet, it doesn’t work
I’m still working on it, it should be ready in 1.4

Three quick note before I release 1.4

  1. World origin shifting support will be added, but in multiplayer it will require some small changes in your project, namely doing this when multicasting impact locations:

  2. OnImpactCosmetic that i deprecated in previous version will be removed, replace it in your game if you haven’t already done so.

  3. I’m going to replace list-based MaterialResponse with quicker and more intuitive MaterialResponseMap, however that will only work in 4.14
    MaterialResponse will continue working for now, but I strongly recommend moving to MaterialResponseMap when possible.

Update is now released

So in the end I made two separate updates, 1.35 for UE4.13 and 1.40 for UE4.14

-MaterialResponseMap and World origin rebasing is only in 1.40 (because they aren’t possible in 4.13)
-Gatling fire mode, bullet mesh rotation, and bugfixes are of course in both versions

Thanks for the update.

1.5 is on the way. No massive changes this time, just small improvements to fix various problems users had.

-Some users had trouble with weapons implemented as separate actors shooting the actor they’re attached to. So in 1.5 there’s an option for the bullet to ignore anything the launching actor is attached to (and optionally, anything else attached to that actor).
-If you want bullets to pass through some objects, but don’t want to bother with complexities of the collision filter, bullets now have a simple list of ignored actors.
-Bullet mesh can now have random initial roll and maintain it throughout its flight.

Updated to v 1.51

There was a bug introduced with 1.40 that caused PredictHit to crash when Varies With Altitude was enabled. It’s fixed now. I apologize for the inconvenience.
Additionally, PredictHit can now return full trajectory of the bullet as an array of vectors.

1.52 is on the way.

It’s only a small bugfix release, fixing wrong mesh rotation when shooting in some directions.

It should be also compatible with UE 4.15
At the moment you’ll have to change EasyBallistics.uplugin to say “EngineVersion” : “4.15.0”, and recompile it yourself, official binaries will come when 4.15 is released.

4.15 binaries out now :wink:

Great, thanks!

Hey,
a coworker is unable to open our project since the last hotfix, 1.61. Even completely redownloading the engine and deleting all binaries/intermediate/saved folders didnt work. These are the errors when trying to rebuild:

This type of error is usually due to corrupted .generated files. Right click on your .uproject file, and “Generate Visual Studio project files”.

Another potential reason is he has different version of EB than you. 1.61 on marketplace hasn’t been processed yet, so if he got it from there he still has 1.52

It is processed now. So, everyone, enjoy the new object pooling :slight_smile:

Tutorial:

I bought all plugins for our project, so they only get what i upload to our SVN server. He has the same version as me. He already generated project files with the new engine before trying to open the project.

Hm, so it only affects his machine and not yours?
There definitely must be something about his setup that’s causing this.
Basically from the log it looks like he has something unsuccessfully trying to link to Deactivate, DeactivationBroadcast_Implementation, and ReactivationBroadcast_Implementation.
All 3 are functions which didn’t exist in previous version, so that’s why i’m thinking it’s version conflict of some kind.

(can you send me the project files? i’ll try to find what’s wrong)

We were able to solve it by using the binaries you provided with the plugin (instead of rebuilding them, like i used to do). Now another problem has popped up, which is: Recycled (pooled) projectiles dont seem to trigger OnImpact anymore. Is that intended/Do i need to ‘reset’ my bullets somehow?