"Flat Wing" Aerodynamics

Hi guys I m searching on Google since yesterday but my case seems too accurate (or dumb) to find something that matches my will :

I want to make a script that will simulate aerodynamics on an object but my constraint is that this object is 1meter x 1meter x 0.3 meter cube AND i want it to react like a foil but in any direction so the “classic technique” that uses transform.forward don’t work because this thing has to create a lift when the vel vector is near X or Y axis too

if you want an exemple : i want something that act like the “chips” in this game :

i m running out of idea now :confused:

A block is a shape that does not create lift. It may be pushed upward if the wind strikes the underside but that’s not what aerodynamics calls “lift.” It will topple and spin with the slightest misalignment.

Let’s talk about real physics, not game physics. Air is a fluid that surrounds your object, and wind is a motion of that fluid.

If wind strikes a block, it follows the same rules for the “front” of the block as it does for the “bottom” of the block. It pushes. It pushes on the front harder than it pushes on the bottom, because the angle is more flat across the wind.

Real lift is due to a pressure differential over the top and bottom of an airfoil. The air has to move faster across the top, which thins it out, which is a lower pressure than below the wing. This is called suction. The air is literally pulling the wing higher!

Now, in game physics, you can decide to just let the wind push the bottom of the block, and you have no drag on the front of the block. Obviously you don’t have any turbulence physics unless you code them up. So just push the block toward its local “upward” angle with a force proportional to the sine of the incident wind angle. Flat: zero degrees, zero push. Pitched up: 90 degrees, maximum push (same direction as wind). Ideal angle is 30º to 45º depending on gravity, wind and thrust.

i know this but we are talking about scripts and a real wing profile would not fit my game, maybe i haven’t explained correctly my vision of this thing… forget the wings, let’s just talk about something like a thin piece of metal

but anyway my main probleme is the angle you’re talking about i even got aerodynamics formula that seems to fit but i can’t figure out how to have this f****** angle without having to refere to the direction of my local Z axis

Dot product of two vectors relates the angle between the vectors. Vector3.Dot(Vector3.up, transform.forward) gives you 0 for level, 1 for straight up, -1 for straight down. If you really want the angle, it’s the Arc-sine of this (converted to degrees); but as I explained, you want the sine of it anyway.