realistic flight physics function library, anyone interested?

Hello Mookiexl. I’m loving this plugin. I got it from gumroad so I don’t have the Marketplace version, but I’m asking a few questions here.

  1. Is there a way to offset / set the altimeter? How is the altimeter being calculated? I have a game that starts at quite a high altitude (mountain airfield), and I’m wondering how I can make the plugin know that 0,0,0 is 10,000 feet up.

  2. Have you thought about implementing ILS for landing? I’m making a game that is somewhere between realistic, and arcade, and I want to somehow assist players in the landing portion because it’s just a bit too difficult to land manually.

  3. Sometimes if I stall the aircraft, and the speed drops, the speed doesn’t pick back up again once I’m nose-down. It’s like I float down gently at 30 kts from 5000 feet, even if I’m pointing straight down.

Thanks for an amazing plugin!!

  1. Altitude is calculated from world origin. For altimeter you can simply add some fixed offset. If you need realistic air density, change sea level air pressure to pressure at altitude of your world origin.
    I may add an option to offset altitude in a future update.
  2. You could use the guidance system to align the aircraft with the glide path, although that will require some math (find nearest point on the line ( https://api.unrealengine.com/INT/Blu…ine/index.html ), move it a bit towards the goal, set guidance to go towards that point).
  3. I’d need to see a video of that, it’s most likely something with aircraft configuration, possibly drag multiplier at low AoA being too high. For testing, try turning off the engine and see if it can glide.

Hi Moookiexl, I’m thinking of building a ww1 flight sim, can you tell will this work? can I attach this to any fixed-wing aircraft and build my own terrain, I’m rather new to game building but my only goal is to build a half decent flight sim.

Yeah, you simply enable physics for your aircraft mesh, and add this a child component.

OK, so previously i wrote this “I may add an option to offset altitude in a future update.”

While I was adding it, I realized that it wouldn’t be difficult to also add support for spherical planets while i’m at it.

You’ll still have to create your own gravity system (UE4 gravity can only go in Z axis), but atmosphere will properly wrap around the planet now, all you have to do is to set the center and radius.

Regular offset is also available, just leave “spherical altitude” unchecked and set WorldCenterLocation where your sea level would be.

Update should come out in a few days.

UE 4.21 update out now

Update for UE 4.23 is on the way, will be available in a few days.
If you don’t want to wait, plugin works in 4.23 without any modifications, just recompile.

There appears to be a problem with the launcher that makes the download of 4.23 version of this plugin not download.
Unfortunately I can’t fix it directly. I’ve sent a request to Epic to fix that.

In the meanwhile, if you need the updated binaries and can’t recompile it yourself, send me a message.

EDIT: fixed now

Here’s more bonus material for you:
Blender files showing how to rig control surfaces, landing gear, and also instrument panel.

Thank you so much :slight_smile:

Version 3.2 released. This fixes an issue where moving world origin caused debug to show incorrect data.

I’ve also rewritten a lot of “old shame” code where same thing was calculated at multiple places, so that similar bugs don’t happen again.

1 Like

I’ve got a few people asking if EasyFM works with Unreal Engine 5.
I’m unable to release the “official” version until it’s out of early access, but in the meanwhile you can modify the UE4 version to work with UE5:

-Change source/EasyFM/private/environment.cpp line 60 to
return FMath::Max(SeaLevelAirPressure * FMath::Pow((1.0f - (0.0000225577f * AltitudeMeter)), 5.25588f), 0.0f);

-In EasyFlightModel.uplugin change EngineVersion to “5.0.0” and
remove “Win32” from WhitelistPlatforms

-Go to [your UE5 folder]/Engine/Build/BatchFiles, open a command window there and run following command:
RunUAT BuildPlugin -Plugin=C:/your_easyfm_folder/easyflightmodel.uplugin -package=C:/your_packaged_plugin_folder -rocket
(change paths to where you store your stuff)

-Copy your packaged plugin into (your project)/Plugins/EasyFlightModel