top of page

Frequently Asked Questions

Q: The demo flight vehicles included in the AO core Unity package struggle to take off – why is this?


A: By default, the Unity editor limits the maximum angular speed of rigidbodies to 7 radians a second, which is quite slow. To allow propellers etc to spin at the right speed for AO projects you need to increase this in the editor settings. To do this go to Edit>Project Settings>Physics>Default Max Angular Speed and change the value to something larger, e.g. 200.

Q: Since Unity is a game engine, does this mean that the results are inaccurate?

A: No. The main limitation is that Unity runs using single precision (32 bits) maths, rather than double precision which is used more generally for scientific and engineering work. This means you may have numerical issues if you work with very small and/or very large numbers, but this really comes down to good model design practice in the first place so you avoid this.

Q: The physics engine in Unity (PhysX) prioritises frame rate over physical accuracy, so again does this mean that aerodynamic calculations in AO are wrong?


A: No. By decreasing the physics (fixed) time step you can ensure that aerodynamic forces are correctly integrated by the physics engine. This will affect your graphics frame rate, but it is up to you what you prioritise. As an absolute requirement, you require a fixed time step that ensures numerical stability, then you can tune downwards to increase accuracy as required.


Q: How does the AO engine compare to high-order engineering methods such as Computational Fluid Dynamics?


A: AO is designed primarily to be easy to use, fast and robust. It will be exactly right in some circumstances but guaranteed to be about right in all circumstances (within reason). For example, AO does not model compressible flow at the moment.

Q: How does AO compare to flight models used in commercial flight simulators like Microsoft FlightSimulator and XPlane?

A: AO uses blade element aerodynamics similar to XPlane. However, it’s the content you put into the model rather than the tool itself that matters when it comes to flight realism.


Q: You show lots of different examples in the AO showcase video, e.g. kites and wing suits. Is there source code available for these?


A: Source code is provided in tutorials and demos for all the basic use cases and some more specialised applications, however not all cases are covered yet. However, this does not stop you from developing your own models if you have some idea of what you are doing.


Q: Can I use the AO library in other environments apart from Unity?


A: Yes – see the Compatibility section on the website. The library has successfully been used in Matlab during development but other experience is currently limited. Also note that whilst the aerodynamic engine ports to other environments, the visualisation tools are specific to Unity.


Q: Do I have to be an Aerodynamics expert to use AO?


A: No, but you do need some appreciation of physics. If what you are trying to build would not work in the real world, it will not work in simulation. This is not a bug – this is reality. The biggest challenge is often stability. If something is physically stable you can adapt and tune it to make it better. If it's unstable, you never get this opportunity (and in real life, you would be dead). There is also another layer to this in that models can be physically stable in the real world but unstable in the numerical world if your fixed time step is too large. So if your model is unstable, first check if it would have a chance of working in the real world. If this is not the problem, then try winding down the time step.


Q: AO uses ellipsoid elements as aerodynamic primitives – how can you model a multi-element wing with those?


A: AO uses Aerodynamic Groups to assemble a single lifting surface of a given area and aspect ratio out of a number of ‘blade’ elements to approach a classical lifting line solution. This is ok in many circumstances but there is room for improvement here.


Q: Does AO handle modelling of downwash behind lifting surfaces, e.g. to correctly model the aerodynamics of a tailplane?


A: Downwash can be modelled by the user using a custom Fluid Zone that implements a trailing vortex system. This has been developed in prototype form, but a turnkey solution has not been released


Q: Where can I get hold of an articulated version of the Aeroman featured in the tutorials and demos?


A: You can buy it on the Unity asset store: Bevans Media.


Q: You showed a sailboat demo using real waves – can I do that with AO?


A: The buoyancy model in AO works on interaction with Fluid Zone trigger colliders which is suitable for modelling simple/flat interfaces between fluids (water/air). If you want real waves follow the links in the Sailboat demo description.


Q: When I build multicomponent models they sometimes start jumping around even if there are no forces applied to them – why is this?


A: Check your colliders. Colliders are the source of many problems when you make composite bodies, e.g. out of primitives. It is possible to have a rigid body with composite overlapping colliders as children, however, sometimes this causes issues so best avoided if possible.


Q: My model behaves fine in translation but really weird in rotation – why?


A: This is probably a physics engine issue. Rigidbodies use attached colliders to calculate their moment of inertia. If you have no colliders attached you get a moment of inertia tensor of magnitude 1 by default, which may be out by orders of magnitude depending on the size of your object. Equally, if you do have a collider attached but it doesn’t correctly represent the inertial shape of your body then you can get unpredictable results.


Q: When I set an Aerodynamic Object’s velocity mode to Kinematic I sometimes get weird behaviour – why is this?


A: By default, Aerodynamic Objects use the reference Rigidbody to get velocity information, which is handled natively by the physics engine. In kinematic mode, velocity information is obtained by numerical differentiation of the transform position and rotation and the accuracy of this depends on the fixed time step you have set. For things like kinematic spinning propellers, you have to wind the fixed time step down to make sure that the object is not moving too far between time steps. However, generally, use of kinematic Aerodynamic Objects is simpler than adding additional Rigidbodies and joints to achieve the same physics.


Q: Why does my tutorial aircraft veer off to the side of the runway during take-off?


A: The tutorial model does not use wheel colliders to keep things simple – you can add them if you want your aircraft to roll true (see the Transport aircraft in the demos for an example implementation. Don’t forget you need a ‘Free wheel’ script on each wheel to keep it awake)


Q: I’ve built a kite using AO but it doesn’t work very well – why might this be?


A: Kites are incredibly hard to tune properly in real life and in simulation. You must systematically vary the centre of mass location and bridle point to get something that works.

bottom of page