Comments (2)
I tried using dummy nodes to parent AeroSurface3Ds, but they were ignored by the AeroBody3D
This is actually something I have considered, where the AeroBody3D has a child Node3D, which then has a child AeroInfluencer.
If I remember correctly, Godot has a similar feature for collision shapes, they will be recognized so long as they don't have another CollisionObject3D that would use that collision shape. This seems like the most flexible option, and isn't too difficult to implement, so it will probably be added.
In the meantime, the AeroRotator3D class (which need documentation) does allow you to add AeroInfluencer3D nodes as children, position them as needed, and apply rotations around a specified axis. Most importantly, it also accounts for the resulting forces of that movement making it the best option for propellers (there are already a few derived classes for propellers). AeroRotator3D may be your best option currently.
I think it would be a good idea to have a class that extends AeroRotator3D, which you can specify an axis of rotation, rotation speed, and target rotation for this exact scenario.
One last thing I would like to mention, the point at which the AeroInfluencer/AeroSurface exists is the point that all aerodynamic forces are applied. The square wing section that is shown is simply a visualization aid, and isn't going to realistically represent all wings, nor be realistic when positioning wings in all cases. I positioned it to follow a general rule where the center of aerodynamic pressure (forces) lies at the 1/4 mark from the leading edge of an airfoil.
from godot_aerodynamic_physics.
Implemented in ac70d44
from godot_aerodynamic_physics.
Related Issues (19)
- AeroSurface Gizmo non-functional (4.0 branch)
- AeroUnits does not properly interpolate altitude values
- Add 2D aerodynamics nodes. HOT 2
- Implement unit testing. HOT 1
- Refactor `AeroSurface3D.calculate_forces()` to return a positioned impulse, for use as the center of pressure. HOT 1
- Question about having AeroBody3D as a root node and attaching my own script to it HOT 3
- Error when AeroBody sleeps
- Plugin doesn't load properly HOT 4
- Add support for variable center of mass property present in 4.0
- Helicopter rotor physics/fixing the AeroRotorHinge3D node.
- The function signature doesn't match the parent. Parent signature is "_calculate_forces(float = <default>) -> PackedVector3Array". HOT 1
- Add option for manual lift/drag curves HOT 2
- Create editor gizmo for AeroBodies HOT 4
- Implement vortex lift HOT 1
- Implement ground effect
- Swept wings do not apply their lift vectors properly, instead they are applied diagonally, towards the swept leading edge.
- Procedural aero surface issues.
- GUT integration
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from godot_aerodynamic_physics.