|
@@ -964,12 +964,6 @@ void GodotSoftBody3D::apply_forces(const LocalVector<GodotArea3D *> &p_wind_area
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-void GodotSoftBody3D::_compute_area_gravity(const GodotArea3D *p_area) {
|
|
|
|
- Vector3 area_gravity;
|
|
|
|
- p_area->compute_gravity(get_transform().get_origin(), area_gravity);
|
|
|
|
- gravity += area_gravity;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
Vector3 GodotSoftBody3D::_compute_area_windforce(const GodotArea3D *p_area, const Face *p_face) {
|
|
Vector3 GodotSoftBody3D::_compute_area_windforce(const GodotArea3D *p_area, const Face *p_face) {
|
|
real_t wfm = p_area->get_wind_force_magnitude();
|
|
real_t wfm = p_area->get_wind_force_magnitude();
|
|
real_t waf = p_area->get_wind_attenuation_factor();
|
|
real_t waf = p_area->get_wind_attenuation_factor();
|
|
@@ -987,12 +981,12 @@ void GodotSoftBody3D::predict_motion(real_t p_delta) {
|
|
|
|
|
|
ERR_FAIL_COND(!get_space());
|
|
ERR_FAIL_COND(!get_space());
|
|
|
|
|
|
- int ac = areas.size();
|
|
|
|
-
|
|
|
|
bool gravity_done = false;
|
|
bool gravity_done = false;
|
|
|
|
+ Vector3 gravity;
|
|
|
|
|
|
LocalVector<GodotArea3D *> wind_areas;
|
|
LocalVector<GodotArea3D *> wind_areas;
|
|
|
|
|
|
|
|
+ int ac = areas.size();
|
|
if (ac) {
|
|
if (ac) {
|
|
areas.sort();
|
|
areas.sort();
|
|
const AreaCMP *aa = &areas[0];
|
|
const AreaCMP *aa = &areas[0];
|