Military Add-ons for P3D

Bringing a CH-53E model to Life in Blender

Published:

Updated:

CH53E parked at Ie Shima LHD

Could AI tools generate a working flying AI in P3D?

A static CH-53E Super Stallion model was sitting in my files from an earlier project. It looked the part on a ramp, but it was a statue: no turning rotors, no gear, no cargo ramp. Meanwhile, the AI CH-53Es flying around my Okinawa were the MAIW model, but for a couple of reasons, I wanted something different and something easier to install. And maybe I wanted something of my own, just to see if I could do it – a new model with its own flight characteristics, not built on anyone else’s existing work.

Testing Blender tools

I’d already been using AI to model buildings and build autogen for my Okinawa scenery, but I wasn’t sure this would work. An aircraft that animates, lights up and flies as AI is a different kind of job from a building that just sits there.

Everything ran through Blender with the Blender2P3DFSX toolset and the P3D SDK’s XtoMDL compiler. Claude drove Blender from scripts, so each step can be rerun when something changes. I didn’t have to click through menus.

Geometry first

My rule was geometry before paint. Because the ramp opens, the cabin needed an interior. We added a simple low-poly one: floor, walls, ceiling, a bulkhead, and a tunnel back to the ramp. For AI, the details belong in the paint, not the polygons.

Then we went looking for holes. A script fired rays at the model the way the sim draws it, skipping back faces. The first run found 21,628 rays that went straight through the model. After flipping the gear-well walls, sorting the door skins into inside and outside, and adding about 117 missing back sides, it was down to 198.

Rotors that spin up like the real thing

The first rotor blur borrowed textures from another model and looked like 14 thin ghost blades. We made our own: a blur texture laid on seven wedges that form a full disc, plus a soft four-blade blur for the tail rotor.

The best part is the start-up. The sim’s rotor RPM doesn’t just jump to full. It sits at 10% for about six seconds, then climbs smoothly to idle over about 25 seconds. We logged that from the sim and built a staged spin-up around it:

  1. Parked cold: solid blades, still.
  2. Engine start: slow-turning blade copies at about 12 rpm.
  3. Spooling up: normal blades at speed.
  4. Running: the blur disc.

The slow stages only show on the ground when the aircraft is stopped. In flight it’s always blur. When I first saw it I told Claude I loved it. It really is well done.

Gear, steering, ramp and lights

  • Height. The model sat about 8 ft too high. We lowered the whole model 2.46 m so the wheels meet the ground.
  • Ramp. It now opens only when parked on the ground with the rotor stopped, and closes on start-up.
  • Nose wheel. P3D barely passes steering angles to AI. So we steer the nose wheel from the turn rate and ground speed instead, and now it swivels properly in taxi turns.
  • Lights. Nav lights on the sponson stub tips, a white tail light, top and belly beacons and a nose landing light, placed by ray casts onto the real surfaces.

The flight model was the real challenge

Getting the model looking and moving right took about two days, October 15 and 16. The flight model has taken twice that so far, and it isn’t finished.

It went in two rounds:

  1. Our own .air file. Claude wrote one from scratch, every table authored, and we went through about a dozen versions. Each one was a test flight at Korat with the logger running.
  2. Claude and ChatGPT together. I also had a flight-model track going in ChatGPT, and its builds turned out steadier in cruise, so those became the base. From there I used both: Claude and ChatGPT each monitored the flight logs and generated new versions of the aircraft.cfg and .air file, one change at a time, and I flew them. That was another twenty-plus test flights, mostly at Ie Shima.

One parameter at a time

The method was simple and slow: change one thing, fly it, read the log, decide. Every flight was scored by a report script for lift-off speed, nose angle, approach stability, touchdown speed and sink rate. When we changed two things at once, we couldn’t tell which one helped, so we stopped doing that.

Roughly the order we worked through them:

  1. Engine power. With too little power, the AI ran at full throttle in cruise with nothing in reserve. It held altitude by trading speed, in slow waves of hundreds of feet. More power meant a steadier cruise.
  2. Propeller tables. Thrust died above about 105 kt, so it could never reach its 130 kt cruise. Reshaped tables fixed that.
  3. Centre of gravity. With the CG far ahead of the main wheels, it rolled to 142 kt before the nose would come up. Moving the CG back brought lift-off down about 1.3 kt for every foot.
  4. Elevator effectiveness. Then the elevator itself was the limit. Doubling its effectiveness got lift-off down to 117 kt.
  5. Lift curve. Shifting the lift curve let it lift off level in the mid-80s, instead of hauling the nose up.
  6. Flaps. Full flaps came out in one step and made it balloon. Slower flap extension and less flap lift softened that.
  7. Pitch stability. The breakthrough. Raising this one setting to 5 stopped the dives on approach completely.
  8. Lift at high angles. The AI cuts power about 60 ft up and drops in. More lift near the stall softened the touchdown at Korat from about 1,460 to about 1,080 fpm.
  9. Roll and yaw stability. It swayed side to side on short final. Roll stability is a knife edge: at 1 it sways, at 2 it lines up nicely, and at 3 it S-turns so badly it never lands. A little more yaw stability helped too.

There were dead ends as well. A wider idle propeller pitch doubled the taxi speed without changing the landing. More aileron made the sway worse, not better.

Where it is now:

BeforeNow
Lift-off142 kt, nose highmid-80s kt, level
Approachrepeated divessteady final at about 46 kt
Touchdown, Ie Shima stripnot landing on itabout 41 kt, under 500 fpm
Touchdown sink, Koratabout 1,460 fpmabout 1,080 fpm
Bank sway on short finalup to ±12°about ±4°

Landing sink at Korat is still too firm, so the tuning goes on.

A paint kit painters can actually use

The original texture layout was a jumble, and I am being kind – but fortunately both my AI compadres are good at using blender to unwrap and build new texture sheets and move the layouts around. ChatGPT had made a few texture sheets early on, but in my experience Claude generally does a better job with texturing. So I had Claude unwrap it from scratch, so repainters could make squadron liveries without a headache.

For the layout style, I pointed Claude at the Nemeth CH-53E’s HMH-465 paint sheets. They were a guide only. None of their files went into our model. What makes them easy to paint: long flat side views, top and belly strips, one scale everywhere, a plain grey base, and small parts grouped together.

The airframe turned out to be “polygon soup”, so Blender’s own unwrap and packing couldn’t cope. Claude wrote its own. The result is two 2048 sheets:

  • Livery sheet. Everything that carries markings: fuselage sides, sponsons, fuel tanks, tail and ramp exterior, all at the same scale (about 84 pixels per metre).
  • Common sheet. Blades, hub, tail rotor, wheels, gear, wells, cabin interior and the inside of the doors.

One rule I was firm on: no mirrored UVs. If the left and right fuel tanks share texture space, any writing on one shows up backwards on the other. So every left and right part gets its own space. Only parts with no lettering, like blades and wheels, share. The tyres are now near-black, too.

The rotor blur textures are ours as well, made from scratch.

Lessons, and what’s next

  • Log what the sim does, don’t guess. The staged spin-up and the nose-wheel fix both came from recording the AI’s real numbers, not from assumptions.
  • One change per test. When we changed two things at once, we couldn’t tell which one helped.
  • AI isn’t the user aircraft. The sim feeds AI fewer variables and some odd ones (nav lights always on, pushbacks with engines off). Test as AI, on a real flight plan.
  • Scripts beat clicks. Every Blender step is a script, so a fix to one step reruns the whole chain in minutes.

The CH-53E flies, but it isn’t done. Here’s what’s left:

  • Softer landings. Touchdowns in the sim still come in at about 1,080 fpm, too firm. The thing kinda unceremoniously plops down on the threshold, which results in a somewhat hard landing that is just hard enough to notice. There are a few settings we haven’t tried yet, like induced drag and empty weight. Same method: one at a time.
  • A useable paint kit. Guides and templates for both sheets, so squadron liveries can follow. Maybe I can share this with the guys over at MAIW.
  • New textures. I plan to use the paint kit to create textures for the HMH squadrons, just like I did for the Nemeth model.
  • A seventh main rotor blade.

That last one is a confession. The real CH-53E has seven main rotor blades. This model has six, and I never noticed. Claude logged it when we first went through the model, and only pointed it out to me while we were writing this post. Once the rotor turns you only see the seven-wedge blur, so it hides well. It won’t hide much longer.

Looking forward to getting this one released, with some texture sets and maybe some flight schedules for AI traffic!

Latest Posts

  • Bringing a CH-53E model to Life in Blender

    Bringing a CH-53E model to Life in Blender

    Could AI tools generate a working flying AI in P3D? A static CH-53E Super Stallion model was sitting in my files from an earlier project. It looked the part on a ramp, but it was a statue: no turning rotors, no gear, no cargo ramp. Meanwhile, the AI CH-53Es flying around my Okinawa were the…

    Read more →

  • Building Okinawa for P3D:

    Building Okinawa for P3D:

    Helicopters, Mesh, Forests and Boots on the Ground Why Okinawa, and why this way Over the past few weeks I have turned Okinawa in Prepar3D v4 into something I always wanted: a living Marine Corps island. Helicopters launch from Futenma and fly real sorties. Landing zones sit in proper jungle clearings, dozens of them. The…

    Read more →

  • Creating navy pier scenery for AI ship traffic in P3D

    Creating navy pier scenery for AI ship traffic in P3D

    Several years ago I released a project that provided AI ship objects and traffic to represent nearly the full US Navy at the time. I did create some really basic pier objects to serve as ‘parking’ scenery but it wasn’t that good, and I don’t think I really ever released – though I always intended…

    Read more →