Bullet penetrability

From Bohemia Interactive Community
Revision as of 20:33, 28 November 2011 by Dwarden (talk | contribs) (Text replace - "{{enHeader}}" to "")
Jump to navigation Jump to search


Actual engine state

Bullets from rifles and also machine-guns have set inside config mostly speed 900 m/s. Bullet speed is lowered during transit through object, may be also ricochet or deflected

If the speed is distinctively lower then it will not cause wounds anymore.

For simplification it's possible calculate impact depth value via Newton's formula about impact depth for projectiles at high velocities Penetration at Wikipedia which says, depth will be simply multiple of relative density difference from both objects and lengh of projectile. "For example. 4x denser bullet with length 10mm will penetrate 40mm."

Real bullet 5.56 NATO is approx 1.5cm long, 7.62 NATO then 3cm and .50 browning more than 6cm. Ammunition also got different composition of shell casing and bullet shape. Penetration value of surface is set within material in object's fire geometry. (bulletPenetrability inside *.bisurf at which reference *.rvmat) . This value determine how many millimeters flies bullet with speed 1000m/s fired from rifle before it stops. For setting this value we consider average bullet to be standard 7.62 NATO munition.

By this it's possible very roughly estimate penetration for chosen average caliber.

3cm bullet with density  8 g/cm3
Oak wood with density 0,7 g/cm3
speed on close distance 800m/s = -20%
by estimation should penetrate approx 27.5 centimeters of oak wood 

ARMA2 engine already distinguishes also caliber. For calculation it is possible by parameter 'caliber take into account differences in penetration in regard to standard bullet. Value caliber simply multiply lengh of trajectory which would bullet penetrate.

It's needed to count that engine till this time counts all components as absolutely homogeneous and theirs volume on models is very often bigger than real material thickness visible ingame on the model. Parameter thickness, which is possible to find in some *.bisurf files started to work since Arrowhead. It defines inhomogeneous component. Plus to keep backward compatibility, arrowhead started to use alternate definition in bulletPenetrabilityWithThickness parameter.

  • only first face hit in the component shape is calculated (just one surface)
  • thickeness <= 0, component is homogenous
  • hit under angle is computed corectly
  • if the thickenss is bigger than volume of the component, volume is used