Introducing Aerodynamic Forces [Beta]

Thanks for catching that! That was some legacy test code we had in there.

Hey what a great airplane! Thanks for giving aerodynamics a try, I’m glad it worked out for you.

Regarding units, you might want to check out this post to see how units can be converted between Roblox and metric. The default Roblox gravity is quite a bit higher than “Realistic”!

We recommend simulated constraints (e.g. hinges) to actuate control surfaces, Motor6Ds don’t work well with aerodynamics.

We are considering ways to expose the wind profiles (i.e. Air Density at different heights). What exactly do you mean by “in a number sequence”? It would be good to hear what you (and others) think a good way of exposing Air Density at different heights could be.

Hmmm… we have considered exposing specific Aero forces through something similar to the Sensor approach we have used in the past. See: SensorBase | Documentation - Roblox Creator Hub
Would something like that work for your use case?

Yes it does! Take a look at Example 3 in the initial post for an example of this

We are hoping to take a closer look at Hydrodynamics (Drag forces in water). It turns out that the Aerodynamic force model approach we used for this release can be mostly applied to water as well. Stay tuned for this.

This is certainly on the long term vision. No promises here but it is very aligned with where we would like to go. Note: If you get a chance, take a look at the recent “Engine Innovations” RDC talk where we talk a bit more about the Aerodynamics / Fluid Dynamics roadmap. (The session videos might not be public yet but hopefully will be soon)

3 Likes

Thanks for your interest in the aerodynamics model! We really appreciate your giving it a try. At a high level, you can think of it as a local model for the forces on a body given its linear velocity, angular velocity, and the ambient wind. This localized force model is integrated over the entire body, incorporating the geometry, to get the total force and torque. It is not a lifting line method (specific to wings), nor is it a panel method (which can be expensive). We are constantly looking for ways to improve the Lift/Drag model where possible. No promises, but stay tuned for some potential updates.

Along with the force model, we have a bunch of additional math and code to make it both fast (real time) and stable. Would there be interest in a longer post that goes over the model in some detail?

3 Likes

I’m aware this model is in beta is probably has lots of issues to resolve, but is there any ETA when this will be rolled out outside of studio to Roblox? Id be really keen to go forward with a interesting game idea using this model :smiley:

Good question. We are not able to promise a firm date yet since we would like to ensure we:
a) Have a lift + drag model we are confident will meet the needs of a variety of scenarios
b) Have enough time to optimize performance for the scenarios we see people building (make sure to send us any reports of performance issues so we can take a look at them!)
c) Provide a bit more help to creators to debug Aerodynamic forces so things are more usable

In the mean time, we wanted to get the APIs out there so folks like you could start building their experience, getting things ready and provide us feedback so you have a head start when Aerodynamics moves from a studio-only beta to an Open beta (i.e. publishable places)

1 Like

Absolutely, I am very interested in the exact principals of this aerodynamic model

1 Like

I don’t know if this is already in the engine but if y’all could add something that could help with realistic crash physics, that’d be pretty cool

Also I think I’m gonna create an airplane with this new stuff!

1 Like

although im not the op, i think that the sensor base would work well.

im attempting to simulate wingflex and this would allow for that to work using the built in aerodynamic forces.

Yes, interested in knowing some more detail about the model.

Also, how much does the geometry affect the calculations, does the shape actually affect the calculations or is it based on the bounding box?

Minor modifications to the number sequence system would allow developers to select altitude vs density percent, and the values could be linearly interpolated between the points. The downsides of such a system is that it is not an exponential graph and would be inaccurate without lots of points. Another idea is letting developers express the altitude and density percent relation as a function however that is not intuitive and somewhat limiting when compared to the number sequence method.

So a sensor base is like a value but it outputs selectable additional data about the part? If so that would work great for what I need. I would definitely appreciate having access to more backend engine numbers like the air density percent, aero force/torque, and total force/torque acting on a part.

I would be interested in a post that goes over the details.

1 Like