private void CalculateTotalAeroForce() { totalAeroForceVector = Vector3.zero; if (_vessel.dynamicPressurekPa <= 0.00001) { return; } if (_currentAeroModules != null) { for (int i = 0; i < _currentAeroModules.Count; i++) { FARAeroPartModule m = _currentAeroModules[i]; if ((object)m != null) { totalAeroForceVector += m.totalWorldSpaceAeroForce; } } } /*for (int i = 0; i < _LEGACY_currentWingAeroModel.Count; i++) * { * FARWingAerodynamicModel w = _LEGACY_currentWingAeroModel[i]; * if ((object)w != null) * totalAeroForceVector += w.worldSpaceForce; * }*/ /*for(int i = 0; i < _vessel.parts.Count; i++) * { * Part p = _vessel.parts[i]; * totalAeroForceVector += -p.dragVectorDir * p.dragScalar; // dragVectorDir is actually the velocity vector direction * }*/ }
private void CalculateTotalAeroForce() { aeroForces.ClearAll(); if (_vessel.dynamicPressurekPa <= 0.00001) { return; } if (_currentAeroModules != null) { for (int i = 0; i < _currentAeroModules.Count; i++) { FARAeroPartModule m = _currentAeroModules[i]; if ((object)m != null) { aeroForces.AddForce(m.transform.position, m.totalWorldSpaceAeroForce); aeroForces.AddTorque(m.worldSpaceTorque); } } } /* * for (int i = 0; i < _LEGACY_currentWingAeroModel.Count; i++) * { * FARWingAerodynamicModel w = _LEGACY_currentWingAeroModel[i]; * if ((object)w == null) * continue; * totalAeroForceVector += w.worldSpaceForce; * aeroForces.AddForce(w.AerodynamicCenter, w.worldSpaceForce); * * totalAeroForceVector += w.worldSpaceForce; * totalAeroTorqueVector += Vector3.Cross(w.AerodynamicCenter - _vessel.CoM, w.worldSpaceForce); * } * * for(int i = 0; i < _vessel.parts.Count; i++) * { * Part p = _vessel.parts[i]; * totalAeroForceVector += -p.dragVectorDir * p.dragScalar; // dragVectorDir is actually the velocity vector direction * } */ }