mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
81 lines
2.7 KiB
Markdown
81 lines
2.7 KiB
Markdown
|
---
|
||
|
layout: wiki
|
||
|
title: Advanced Ballistics Framework
|
||
|
description: Explains how to use the Advanced Ballistics framework.
|
||
|
group: framework
|
||
|
order: 5
|
||
|
parent: wiki
|
||
|
mod: ace
|
||
|
version:
|
||
|
major: 3
|
||
|
minor: 0
|
||
|
patch: 0
|
||
|
---
|
||
|
|
||
|
## 1. Configs Values
|
||
|
|
||
|
Reference [CfgAmmo Reference](https://github.com/acemod/ACE3/blob/master/extras/CfgAmmoReference.hpp) for examples of bullets with correct configs. It is probably best to modify an example that's close to the bullet you are trying to add.
|
||
|
|
||
|
<div class="panel callout">
|
||
|
<h5>All values are in METRIC units!</h5>
|
||
|
</div>
|
||
|
|
||
|
### 1.1 `CfgWeapons`
|
||
|
|
||
|
Example: M4
|
||
|
|
||
|
```cpp
|
||
|
class CfgWeapons {
|
||
|
class yourWeaponClass {
|
||
|
// >1:7 inch rifle twist
|
||
|
// 7 inches * 25.4(mm/in) = 177.8 mm
|
||
|
// Same as the Capital T in [Miller twist rule](https://en.wikipedia.org/wiki/Miller_twist_rule){:target="_blank"} (convert to metric)
|
||
|
ACE_barrelTwist = 177.8;
|
||
|
|
||
|
// >14.5 in (370 mm)
|
||
|
ACE_barrelLength = 368.3;
|
||
|
|
||
|
// Right handed is 1, Left is -1, none is 0
|
||
|
// Leaving blank will default to 1 (almost everything is right-handed)
|
||
|
// A smooth-bore gun (e.g. shotgun) would be `0`.
|
||
|
ACE_twistDirection = 1;
|
||
|
};
|
||
|
};
|
||
|
```
|
||
|
|
||
|
### 1.2 `CfgAmmo`
|
||
|
|
||
|
Example: `B_556x45_Ball`
|
||
|
|
||
|
```cpp
|
||
|
class CfgAmmo {
|
||
|
class yourAmmoClass {
|
||
|
// Bullet diameter in mm (diameter is a little different from caliber)
|
||
|
ACE_caliber = 5.69;
|
||
|
|
||
|
ACE_bulletLength = 23.012; // Bullet Length in mm
|
||
|
ACE_bulletMass = 4.0176; // Mass in grams (example is roughly 62 grains)
|
||
|
|
||
|
// Array of muzzle velocity shifts in m/s with 11 data points from -15 °C to 35 °C
|
||
|
// Example: At 0°C the shift will be -21.0
|
||
|
ACE_ammoTempMuzzleVelocityShifts[] = {-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75};
|
||
|
|
||
|
//Array of ballistic coefficients (contains one element more than the velocity boundary array)
|
||
|
ACE_ballisticCoefficients[] = {0.151};
|
||
|
|
||
|
ACE_velocityBoundaries[] = {}; // Array of velocity boundaries
|
||
|
ACE_standardAtmosphere = "ASM"; // "ASM" or "ICAO"
|
||
|
ACE_dragModel = 7; // Number that specifies the drag model [1, 2, 5, 6, 7, 8]
|
||
|
|
||
|
// Array of muzzle velocities (same size as barrel length array)
|
||
|
ACE_muzzleVelocities[] = {723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900};
|
||
|
|
||
|
// Array of barrel lengths (same size as muzzle velocity array)
|
||
|
// Example, when shooting with the M4 barrel (`368.3`mm).
|
||
|
// The length is between the 5th and 6th barrelLengths (`360.68, 391.16`).
|
||
|
// So the muzzle velocity will be between 5th and 6th muzzleVelocities (`866, 878`).
|
||
|
ACE_barrelLengths[] = {210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6};
|
||
|
};
|
||
|
};
|
||
|
```
|