4.1 KiB
4.1 KiB
EasyBallistics JSON Import/Export Tool
Overview
The EasyBallistics JSON Import/Export Tool allows you to import and export bullet properties and material response configurations as JSON files. This is useful for:
- Sharing ballistic configurations between projects
- Backing up and versioning ballistic data
- Batch editing configurations outside of Unreal Engine
- Integration with external ballistics calculators
Accessing the Tool
- In the Unreal Engine editor, go to Window > Ballistics JSON Import/Export
- This will open the JSON Import/Export tool window
Features
Bullet Properties Export/Import
Export: Creates a JSON file with all mathematical bullet properties including:
- Basic properties (grain weight, diameter, length, bullet type, material)
- Ballistic coefficients (G1/G7)
- Penetration properties (hardness, energy thresholds, expansion)
Import: Loads bullet properties from a JSON file and can create new bullet property assets
Material Response Export/Import
Export: Creates a JSON file with material response settings including:
- Artistic properties (penetration, ricochet settings)
- Spalling properties (fragment generation)
- Mathematical material properties (density, hardness, strength values)
Import: Loads material response configurations from JSON files
JSON Format Examples
Bullet Properties JSON Structure
{
"GrainWeight": 55.0,
"DiameterInches": 0.224,
"LengthInches": 0.825,
"BulletType": 0,
"BulletMaterial": 3,
"BallisticCoefficientG1": 0.151,
"BallisticCoefficientG7": 0.076,
"UseG7Model": false,
"SectionalDensity": 0.0,
"BulletHardness": 15.0,
"PenetrationEnergyThreshold": 58.0,
"ExpansionVelocityThreshold": 1800.0,
"MaxExpansionMultiplier": 1.5
}
Material Response JSON Structure
{
"PenTraceType": 0,
"NeverPenetrate": false,
"PenetrationDepthMultiplier": 1.0,
"PenetrationNormalization": 0.0,
"PenetrationNormalizationGrazing": 0.0,
"PenetrationEntryAngleSpread": 0.0,
"PenetrationExitAngleSpread": 0.0,
"NeverRicochet": false,
"RicochetProbabilityMultiplier": 1.0,
"RicochetRestitution": 0.5,
"RicochetRestitutionInfluence": 0.0,
"RicochetFriction": 0.5,
"RicochetFrictionInfluence": 0.0,
"RicochetSpread": 0.0,
"EnableSpalling": false,
"SpallVelocityThreshold": 50000.0,
"SpallFragmentCount": 3,
"SpallSpreadAngle": 45.0,
"SpallVelocityMultiplier": 0.3,
"SpallMassMultiplier": 0.1,
"UseMathematicalProperties": false,
"MathematicalProperties": {
"DensityGPerCm3": 7.85,
"MaterialHardness": 200.0,
"TensileStrengthMPa": 400.0,
"YieldStrengthMPa": 250.0,
"ElasticModulusGPa": 200.0,
"BallisticLimitVelocity": 2000.0,
"PerforationCoefficient": 1.0,
"EnergyAbsorptionCoefficient": 0.7,
"EnableMathematicalSpalling": false,
"SpallStrengthMPa": 150.0,
"CriticalStressFactor": 2.5,
"FragmentVelocityEfficiency": 0.25,
"AverageFragmentMassRatio": 0.08,
"FragmentSizeExponent": -1.6,
"MaxFragmentDensity": 50.0
}
}
Enum Values Reference
BulletType
- 0: Full Metal Jacket
- 1: Hollow Point
- 2: Soft Point
- 3: Armor Piercing
- 4: Armor Piercing Incendiary
- 5: Tracer
- 6: Match Grade
- 7: Frangible
- 8: Lead Round Nose
- 9: Wadcutter
- 10: Semi-Wadcutter
- 11: Custom
BulletMaterial
- 0: Lead
- 1: Lead-Antimony
- 2: Copper
- 3: Copper Jacket
- 4: Brass
- 5: Steel
- 6: Tungsten
- 7: Bismuth
- 8: Zinc
- 9: Custom
PenTraceType
- 0: Back Trace
- 1: By Component
- 2: Double Sided Geometry
Usage Tips
- Backup Before Import: Always backup your existing assets before importing new configurations
- Validation: The tool performs basic validation but always test imported configurations in your project
- Version Control: Include JSON files in your version control system for configuration tracking
- Batch Operations: You can modify multiple configurations by editing JSON files in bulk
Technical Notes
- The tool uses Unreal Engine's JSON parsing system for reliability
- All numeric values maintain their original precision
- Boolean and enum values are preserved exactly
- The tool supports the complete EasyBallistics property set