Replicating Battlefield Helicopter in UE4 w/ Blueprints (FINISHED!)

**- August 08
Playable demo now (finally) available: download here.

  • June 04

This blueprint is now available at the Marketplace!
https://www.unrealengine.com/marketp…tle-helicopter

Also be free to ask questions in our topic in the marketplace forum, you can find more videos and information there, check out:
https://forums.unrealengine.com/unre…tle-helicopter

  • March 26**

Getting the advantage of the axis constraints to test a top scroller helicopter, the result is awesome!

- March 09

The last big feature on my wish list got implemented: axis constraints. The helicopter can now be used on a top down or side scroller perspective without any issue.
The result went better than we expected, on paper2D it feels just like those old sega genesis shooters, here some footage of it working with axis constraints:

- January 15

Audio is finally done, added sound for strafe up/down/left/right, improvements on 3rd person audio, a cue only for first person has been added.
Camera shakes also got improvements to shake accordly with the roll or pitch angle.

Screenshot of the audio folder containing the cues, classes, mixers. At the end of the day, audio gave so much work I’m glad to have finished it:
[SPOILER]


[/SPOILER]

- December 16

Finished weapons replication, server has the authority and the player controlling does simulate immediately to avoid perception issues.

- December 09

Testing randomness on propeller rotator, the two on top are using meshes, on the bottom are a texture to simulate motion blur.
On the left there’s a fixed rotation, on the right a random amount of rotation times a sine wave are added to emphasize and randomize the rotation.

This image shows the motion blur texture, the mesh with 8 blades and the plate mesh where the motion blur material is applied.

Done the event system, it triggers a custom event which can be placed on child blueprint to quick implement something when an event happens.

Looks like an emitter still return active after call SetActive(false) on it, might be a bug?

- November 30

Changes:

  • rewrite on the strafe audio function, it’s now based on velocity instead of the mesh rotation.
  • several fixes for camera shake.
  • new UI.

==================================================================================

- Original Post:

Hello folks, this is a work in progress of a blueprint to reproduce the feeling of controlling a hellicopter on battlefield games.
The goal is make it as customizable as possible, with tons of knobs to fine tune the player experience.
So far most of the movement physics, weapons and audio are done. Multiplayer has server authority and client simulation.

Here are two small videos and a few pictures showing the vehicle on action, the first video is a standard fly by, the second shows some stunts, camera angles, sound mixing on 3rd person, propellers with motion blur and pure mesh.
I’m farming some feedback, questions, something that I might be missing, etc.

Thank you!

Images:
[SPOILER]
Blueprint Viewport:

A vector curve for acceleration by Pitch (when there’s no thrust generated by the main rotor). Time is Pitch angle and value is the acceleration addon or suggested Z direction:

The “knob” center:


[/SPOILER]

My small but challenging todo list for the following weeks:
[SPOILER]My small but challenging todo list for the following weeks:

  1. Create a 3 seconds client side velocity buffer.
    useful to calculate velocity changes over time.

  2. When doing curves and the abs(roll) > 10, play a rotor audio with a phaser effect to simulate a different air flow pattern.
    just a polish effect which are present on other games with helicopters on.

  3. On velocity.Z direction change from negative to positive && pitch > 20 && buffer length > 20% vehicle max velocity, increase the rotor audio pitch.
    another polish effect to emphasize the rotor struggle on drastic velocity change.

  4. Make parent weapons blueprints communicate more clearly with the game mode.
    the main blueprint communicates with the game through interfaces, blueprints for weapons are a little messy on this subject.

  5. Remove hardcoded camera shakes.
    child cannot change camera shakes, need to create editable variables for them.

  6. Many camera shakes are playing in world environment, do it to play on the controller.
    lots of places using PlayWorldCameraShake() instead of ClientPlayCameraShake().

  7. Create an event system.
    to trigger some functions where artists can implement audio/visual effects without having to search the blueprint code to know where it happen.
    [/SPOILER]

Looks awesome, especially the flight dynamics.

The project got some news, let’s update this thread.

Sound mixing are getting good, nearly all ducking are done and the audio played when strafing or doing curves is coming to life.
The old white UI got replaced by green ans some polish.
Few fixes on camera shakes and slightly improvements on the feeling of some shakes.

Looks good, nice work

Very cool. Loved flying Helis in the Battlefield series :slight_smile: Always geared up for the Blackhawk pilot in BC2, best game :slight_smile:

Seriously good work in this one, my Thank You to Author for dedication to this :slight_smile: I am big fan of aerial combat shooters, so I am following, where this one goes :wink:

That is awesome, bravo! Will you sell the assets upon completion, or perhaps make a tutorial? I would love to play around with that in my projects :smiley:

Battlefield helicopter is my favorite thing from Battlefield. Good Job.

- December 09

Got some updates today, more implementations on propellers and event triggers.
Still need more improvements on the audio, but I found out that working with sound effects is stressful, anyone thinks the same?

For tutorial I’ll keep posting here how things are being done, the project might be at the market place, depends more on epic games fixing their 3 months (was what I heard, not sure if still are this long) queue to evaluate an asset.

Testing randomness on propeller rotator, the two on top are using meshes, on the bottom are a texture to simulate motion blur.
On the left there’s a fixed rotation, on the right a random amount of rotation times a sine wave are added to emphasize and randomize the rotation.

This image shows the motion blur texture, the mesh with 8 blades and the plate mesh where the motion blur material is applied.

Done the event system, it triggers a custom event which can be placed on child blueprint to quick implement something when an event happens.

Looks like an emitter still return active after call SetActive(false) on it, might be a bug?

- December 16

Got another update on this project, all the missile and machine gun replication are done, this video shows the replication under a half second lag (console Net PktLag=550).
Next week we hope to finish or at least do improvements on the audio.

Almost one month without posting here, but the audio is finally done, the OP got some updates on it, few improvements to camera shakes as well.

Audio test:

Looking excellent, I’d buy it.

Nice! I’ve always wanted to make a fun little co-op game for 2 players to pilot an Apache and complete various scenarios. But I could never bother with the math required to do it. Maybe this may change that in the future :smiley: Hope all goes well, looking great so far!

Please sell this in Unreal Marketplace

… or, please, share this open to community for all us flying action UE4 lovers :wink:

Done the last big implementation: axis constraints, now it can be used on paper2d or topdown games right out of the box.
The result went better than we expected, this weekend I want to try replicate the Raiden Project perspective, just for fun (PSX Longplay [276] The Raiden Project (Part 1 of 2) - YouTube).

Paper 2D:

Top Down:

​​​​​​​

This is shouting “Marketplace”. Amazing work!

thanks, still have some bugs and small implementations to do.

Getting the advantage of the axis constraints to test a top scroller helicopter, the result is awesome!

**Hey guys, this blueprint is now available at the Marketplace!
https://www.unrealengine.com/marketp…tle-helicopter

Also be free to ask questions in our topic in the marketplace forum, you can find more videos and information there, check out:
https://forums.unrealengine.com/unre…tle-helicopter**