Vehicle turret controls

Source: every WDVehicleWeaponDataAsset and every DT_VehicleCrosshair_* table under Plugins/GameFeatures/Vehicles. Generated by _tools/vehicle_round85_tables.py. Evidence and status: round 85 vehicles.

Each vehicle weapon is a WDVehicleWeaponDataAsset (W_*) that holds the weapon tag, the turret mesh, the muzzle sockets, the aim-rotation settings and the camera for each aim state. The damage and ballistics are on the WE_* weapon-extension assets, which are covered in Vehicle weapons and effects. - means the asset does not set the field.

1. Rotation sensitivity and limits

Sensitivity and update-max values are per input device (X, Y). Yaw and pitch limits are in degrees; a limit is only enforced when its bLimit... flag is true. Rotation speed is the turret slew speed in degrees per second.

Asset Vehicle Weapon tag Mouse sens. Mouse update max (X / Y) Gamepad sens. Gamepad update max (X / Y) Key sens. Key rotation allowed Apply FOV scale
W_ROT_02_122mm ROT_02 Id.Vehicle.Weapon.ROT_02.122mm 10 60 / 60 10 60 / 60 5 false false
W_ROT_02_30mmCannon ROT_02 Id.Vehicle.Weapon.ROT_02.30mmCannon 35 150 / 150 60 115 / 115 95 - false
W_ROT_03_122mm ROT_03_WeaponVariants Id.Vehicle.Weapon.ROT_03.122mm 10 60 / 60 10 60 / 60 5 false false
W_ROT_03_AttachedMachineGuns_Grouped ROT_03_WeaponVariants Id.Vehicle.Weapon.ROT_03.MachineGun - - / - - - / - - - false
W_ROT_04_MountedMachineGun_L ROT_04_MachineGun Id.Vehicle.Weapon.ROT_04.MachineGun 25 150 / 150 65 105 / 105 100 - false
W_ROT_04_MountedMachineGun_R ROT_04_MachineGun Id.Vehicle.Weapon.ROT_04.MachineGun 25 150 / 150 65 105 / 105 100 - false
W_STN_01_MountedMachineGun STN_01 Id.Vehicle.Weapon.STN_01.MistralAA 20 85 / 85 100 150 / 150 100 - false
W_STN_02_MainCannon STN_02 Id.Vehicle.Weapon.STN_02.MainCannon 12.5 85 / 85 90 150 / 150 90 - false
W_STN_03_MainBarrel STN_03 Id.Vehicle.Weapon.STN_03.MainBarrel 5 50 / 50 50 120 / 120 50 - false
W_STN_05_MainBarrel STN_05 Id.Vehicle.Weapon.STN_05.MainBarrel 5 50 / 50 50 120 / 120 50 - false
W_STN_06_MountedMachineGun STN_06 Id.Vehicle.Weapon.STN_06.MountedMachineGun 12.5 85 / 85 90 150 / 150 90 - false
W_TNK_03 TNK_01 Id.Vehicle.Weapon.TNK_01.Turret.AntiAir 25 150 / 150 50 150 / 150 100 - -
W_TNK_01_Artillery TNK_01 Id.Vehicle.Weapon.TNK_01.Turret.Artillery - - / - 5 60 / 60 6 - -
W_TNK_01_Heavy TNK_01 Id.Vehicle.Weapon.TNK_01.Turret.Heavy 8 75 / 75 35 75 / 75 45 - -
W_TNK_01_Heavy_MountedMachineGun TNK_01 Id.Vehicle.Weapon.TNK_01.MountedMachineGun 15 125 / 125 80 85 / 85 80 - false
W_TNK_04 TNK_04 Id.Vehicle.Weapon.TNK_04.Turret.Default 8 75 / 75 45 80 / 80 45 - -
W_TNK_04_MountedMachineGun TNK_04 Id.Vehicle.Weapon.TNK_04.MountedMachineGun 15 125 / 125 80 85 / 85 80 - false
W_SUV_RingTurret WHL_02_RingTurret Id.Vehicle.Weapon.WHL_02.SUV.RingTurret 15 125 / 125 80 85 / 85 80 - false
W_WHL_05_Humvee_RingMinigun WHL_05_Minigun Id.Vehicle.Weapon.WHL_05.RingMinigun 25 150 / 150 100 110 / 110 100 - false
W_WHL_05_Humvee_RingTurret WHL_05_RingTurret Id.Vehicle.Weapon.WHL_05.RingTurret 15 125 / 125 80 85 / 85 80 - false
W_WHL_07_Ural_RingTurret_L WHL_07_ArmouredBattle Id.Vehicle.Weapon.WHL_07.MountedMachineGun 15 125 / 125 80 85 / 85 80 - false
W_WHL_07_Ural_RingTurret_R WHL_07_ArmouredBattle Id.Vehicle.Weapon.WHL_07.MountedMachineGun 15 125 / 125 80 85 / 85 80 - false
W_WHL_08_RingTurret WHL_08_RingTurret Id.Vehicle.Weapon.WHL_08.RingTurret 15 125 / 125 80 85 / 85 80 - false
Asset Yaw (deg) Pitch (deg) Rotation speed Simulation Yaw / pitch drive strength Stabilisation permitted Collision target factor
W_ROT_02_122mm -45 to 45 - to 30 - - - / - - -
W_ROT_02_30mmCannon -65 to 65 -65 to 12 75 FullSim 10,000 / 10,000 true 0.1
W_ROT_03_122mm -45 to 45 - to 30 - - - / - - -
W_ROT_03_AttachedMachineGuns_Grouped -170 to -5 -30 to 22 75 - - / - - -
W_ROT_04_MountedMachineGun_L -46 to 80 -30 to 22 150 - - / - true -
W_ROT_04_MountedMachineGun_R -80 to 46 -30 to 22 150 - - / - true -
W_STN_01_MountedMachineGun 90 to -90 (limit flag not set) -20 to 55 125 - - / - - -
W_STN_02_MainCannon 90 to -90 (limit flag not set) -5 to 65 115 - - / - - -
W_STN_03_MainBarrel 90 to -90 (limit flag not set) -29 to 15 75 - - / - - -
W_STN_05_MainBarrel 90 to -90 (limit flag not set) - to - 75 - - / - - -
W_STN_06_MountedMachineGun -85 to 85 -40 to 20 115 - - / - - -
W_TNK_03 -20 to 10 (limit flag not set) 2.5 to 87.5 - FullSim 3,000 / 3,000 true -
W_TNK_01_Artillery - to - (limit flag not set) 2 to 80 - FullSim - / 2,000 true -
W_TNK_01_Heavy - to - (limit flag not set) -5 to 25 - FullSim - / 2,000 true -
W_TNK_01_Heavy_MountedMachineGun 90 to -90 (limit flag not set) -20 to 30 110 - - / - true -
W_TNK_04 - to - (limit flag not set) -5 to 25 - FullSim - / 2,000 true -
W_TNK_04_MountedMachineGun 90 to -90 (limit flag not set) -20 to 30 110 - - / - true -
W_SUV_RingTurret -60 to 60 (limit flag not set) -20 to 30 110 - - / - true -
W_WHL_05_Humvee_RingMinigun -60 to 60 (limit flag not set) -22.5 to 30 150 - - / - - -
W_WHL_05_Humvee_RingTurret -60 to 60 (limit flag not set) -22.5 to 30 110 - - / - true -
W_WHL_07_Ural_RingTurret_L -190 to 15 -22.5 to 22.5 110 - - / - true -
W_WHL_07_Ural_RingTurret_R -15 to 190 -22.5 to 22.5 110 - - / - true -
W_WHL_08_RingTurret -60 to 60 (limit flag not set) -22.5 to 30 110 - - / - true -

FullSim (a physically simulated turret with drive strength and damping) is used by the Havoc 30 mm cannon and the four tank main guns (TNK_03, TNK_01 Artillery and Heavy, TNK_04); every other weapon uses a plain rotation speed. Where the minimum yaw is larger than the maximum (STN_01: 90 and -90) the pair is stored in that order and the limit flag is unset; read it as a +/- 90 degree arc (the engine behaviour for an unset flag is not traced).

2. Sockets, view and HUD

Asset Muzzle sockets Player attach (source / socket) Turret mesh HUD layout Scope blur alpha Weapon as view target Possess FOV lerp (s) Weapon extensions
W_ROT_02_122mm S_MuzzleFlash_R, S_MuzzleFlash_L - / - SK_AT4_Rockets Crew.Air - false - 1
W_ROT_02_30mmCannon S_MuzzleFlash - / - SK_Helicopter_Turret Crew.Air 1 - - 1
W_ROT_03_122mm S_MuzzleFlash_R, S_MuzzleFlash_L - / - SK_AT4_Rockets Crew.Air - false - 1
W_ROT_03_AttachedMachineGuns_Grouped muzzleFlash_WeaponExtension_L, muzzleFlash_WeaponExtension_R - / - SK_Littlebird_Turrets Crew.Air - false - 1
W_ROT_04_MountedMachineGun_L muzzleFlash_WeaponExtension TurretSkeleton_L / S_Attach_MountedMachineGun_Player SK_ROT_04_PassengerGun_01a - - - - 1
W_ROT_04_MountedMachineGun_R muzzleFlash_WeaponExtension TurretSkeleton_R / S_Attach_MountedMachineGun_Player SK_ROT_04_PassengerGun_01a - - - - 1
W_STN_01_MountedMachineGun muzzleFlash_WeaponExtension Chassis / S_Player_Seat SK_Mistral_Anti_Aircraft Crew.Land.Stationary 1 - 0.22 1
W_STN_02_MainCannon Muzzle Chassis / S_Player_Seat SK_Phalanx_CIWS Crew.Land.Stationary 1 - - 1
W_STN_03_MainBarrel Muzzle Chassis / S_Player_Seat SK_Deployable_Mortar Crew.Land.Stationary 1 - - 1
W_STN_05_MainBarrel Muzzle Chassis / S_Player_Seat SK_STN_05 Crew.Land.Stationary 1 - - 1
W_STN_06_MountedMachineGun muzzleFlash_WeaponExtension TurretSkeleton / S_BuildableAttach_MountedMachineGun_Player SK_Browning_Mounted Crew.Land.Stationary 1 - 0.45 1
W_TNK_03 muzzleSocket_Turret_L, muzzleSocket_Turret_R TurretSkeleton / S_Attach_TankTurret_Player SK_TNK_03_Turret Crew.Land 1 - - 1
W_TNK_01_Artillery S_MuzzleFlash TurretSkeleton / S_Attach_TankTurret_Player SK_TNK_02_Turret Gunner.Artillery 1 - - 1
W_TNK_01_Heavy S_MuzzleFlash TurretSkeleton / S_Attach_TankTurret_Player SK_TNK_01_Turret Crew.Land 1 - - 2
W_TNK_01_Heavy_MountedMachineGun muzzleFlash_WeaponExtension MountedMachineGun / S_Attach_MountedMachineGun_Player SK_M249_Mounted Crew.Land 1 - - 1
W_TNK_04 S_MuzzleFlash TurretSkeleton / S_Attach_TankTurret_Player SK_TNK_04_Turret Crew.Land 1 - - 2
W_TNK_04_MountedMachineGun muzzleFlash_WeaponExtension MountedMachineGun / S_Attach_MountedMachineGun_Player SK_M249_Mounted Crew.Land 1 - - 1
W_SUV_RingTurret muzzleFlash_WeaponExtension TurretSkeleton / S_Attach_MountedMachineGun_Player SK_M249_Mounted Crew.Land - - - 1
W_WHL_05_Humvee_RingMinigun muzzleFlash_WeaponExtension TurretSkeleton / S_Attach_MountedMinigun_Player SK_WHL_05_PassengerGun_01b Crew.Land - - - 1
W_WHL_05_Humvee_RingTurret muzzleFlash_WeaponExtension TurretSkeleton / S_Attach_MountedMachineGun_Player SK_M249_Mounted Crew.Land - - - 1
W_WHL_07_Ural_RingTurret_L muzzleFlash_WeaponExtension TurretSkeleton_L / S_Attach_MountedMachineGun_Player SK_M249_Mounted Crew.Land - - - 1
W_WHL_07_Ural_RingTurret_R muzzleFlash_WeaponExtension TurretSkeleton_R / S_Attach_MountedMachineGun_Player SK_M249_Mounted Crew.Land - - - 1
W_WHL_08_RingTurret muzzleFlash_WeaponExtension TurretSkeleton / S_Attach_MountedMachineGun_Player SK_Browning_Mounted Crew.Land - - - 1

3. Aim cameras

WeaponStatesCameraData has one entry per aim state (State.Vehicle.Weapon.HipFire, .ADS). Zeroing is the distance the aim point is aligned to when bAlignWithTarget is true; FOV x is the field-of-view multiplier of that state.

Asset State Supported Camera socket Align with target Zeroing FOV x Camera behaviour
W_ROT_02_30mmCannon ADS true S_BarrelCamera true 200 1 -
W_ROT_04_MountedMachineGun_L HipFire true vehicleWeapon_CameraSocket_Hipfire true 200 1 -
W_ROT_04_MountedMachineGun_L ADS true vehicleWeapon_CameraSocket_ADS true 200 1.2 -
W_ROT_04_MountedMachineGun_R HipFire true vehicleWeapon_CameraSocket_Hipfire true 200 1 -
W_ROT_04_MountedMachineGun_R ADS true vehicleWeapon_CameraSocket_ADS true 200 1.2 -
W_STN_01_MountedMachineGun HipFire true AA_Camera_HipFire true 200 1 -
W_STN_01_MountedMachineGun ADS true AA_Camera_ADS true 200 3 DA_STN_01_CameraBehaviour_FP
W_STN_02_MainCannon ADS true AA_Camera_ADS true 200 1 DA_STN_02_CameraBehaviour_FP
W_STN_03_MainBarrel HipFire true AA_Camera_HipFire false 200 1 -
W_STN_03_MainBarrel ADS true AA_Camera_ADS false 200 3 -
W_STN_05_MainBarrel HipFire true AA_Camera_HipFire false 200 1 -
W_STN_06_MountedMachineGun HipFire true vehicleWeapon_PlayerCameraSocket_HipFire true 200 1 -
W_STN_06_MountedMachineGun ADS true vehicleWeapon_PlayerCameraSocket_ADS true 200 1.2 -
W_TNK_03 HipFire true S_WeaponCamera true 200 1 -
W_TNK_03 ADS true S_WeaponCamera_ADS true 200 1.35 -
W_TNK_01_Artillery ADS true S_WeaponCamera false 200 1 -
W_TNK_01_Heavy ADS true S_WeaponCamera true 200 1 -
W_TNK_01_Heavy_MountedMachineGun HipFire true vehicleWeapon_PlayerCameraSocket_HipFire true 200 1 -
W_TNK_01_Heavy_MountedMachineGun ADS true vehicleWeapon_PlayerCameraSocket_ADS true 200 1.2 -
W_TNK_01_Heavy_MountedMachineGun Crouch true vehicleWeapon_PlayerCameraSocket_Crouch true 200 1 -
W_TNK_04 ADS true S_WeaponCamera true 200 1 -
W_TNK_04_MountedMachineGun HipFire true vehicleWeapon_PlayerCameraSocket_HipFire true 200 1 -
W_TNK_04_MountedMachineGun ADS true vehicleWeapon_PlayerCameraSocket_ADS true 200 1.2 -
W_TNK_04_MountedMachineGun Crouch true vehicleWeapon_PlayerCameraSocket_Crouch true 200 1 -
W_SUV_RingTurret HipFire true vehicleWeapon_PlayerCameraSocket_HipFire true 200 1 -
W_SUV_RingTurret ADS true vehicleWeapon_PlayerCameraSocket_ADS true 200 1.2 -
W_SUV_RingTurret Crouch true vehicleWeapon_PlayerCameraSocket_Crouch true 200 1 -
W_WHL_05_Humvee_RingMinigun HipFire true vehicleWeapon_PlayerCameraSocket_HipFire true 200 1 -
W_WHL_05_Humvee_RingMinigun ADS true vehicleWeapon_PlayerCameraSocket_ADS true 200 1.2 -
W_WHL_05_Humvee_RingMinigun Crouch true vehicleWeapon_PlayerCameraSocket_Crouch true 200 1 -
W_WHL_05_Humvee_RingTurret HipFire true vehicleWeapon_PlayerCameraSocket_HipFire true 200 1 -
W_WHL_05_Humvee_RingTurret ADS true vehicleWeapon_PlayerCameraSocket_ADS true 200 1.2 -
W_WHL_05_Humvee_RingTurret Crouch true vehicleWeapon_PlayerCameraSocket_Crouch true 200 1 -
W_WHL_07_Ural_RingTurret_L HipFire true vehicleWeapon_PlayerCameraSocket_HipFire true 200 1 -
W_WHL_07_Ural_RingTurret_L ADS true vehicleWeapon_PlayerCameraSocket_ADS true 200 1.2 -
W_WHL_07_Ural_RingTurret_L Crouch true vehicleWeapon_PlayerCameraSocket_Crouch true 200 1 -
W_WHL_07_Ural_RingTurret_R HipFire true vehicleWeapon_PlayerCameraSocket_HipFire true 200 1 -
W_WHL_07_Ural_RingTurret_R ADS true vehicleWeapon_PlayerCameraSocket_ADS true 200 1.2 -
W_WHL_07_Ural_RingTurret_R Crouch true vehicleWeapon_PlayerCameraSocket_Crouch true 200 1 -
W_WHL_08_RingTurret HipFire true vehicleWeapon_PlayerCameraSocket_HipFire true 200 1 -
W_WHL_08_RingTurret ADS true vehicleWeapon_PlayerCameraSocket_ADS true 200 1.2 -
W_WHL_08_RingTurret Crouch true vehicleWeapon_PlayerCameraSocket_Crouch true 200 1 -

Weapons with no camera states: W_ROT_02_122mm, W_ROT_03_122mm, W_ROT_03_AttachedMachineGuns_Grouped.

4. Crosshair tables (DT_VehicleCrosshair_*)

There are eight DT_VehicleCrosshair_* tables. Each is a DataTable of WDUIVehicleCrosshairDataTableRow: a row per weapon-extension tag, with the widget class that draws the reticle, the view model class, and an unnamed flag. Only the names are listed; the reticle art is out of scope.

Table Row (weapon extension tag) Reticle widget View model Unnamed flag
DT_VehicleCrosshair_ROT02 Id.Vehicle.WeaponExtension.ROT_02.122mm none (default reticle) WDUIVehicleCrosshairViewModel false
DT_VehicleCrosshair_ROT02 Id.Vehicle.WeaponExtension.ROT_02.30mmCannon W_Havoc_Reticle_02_C WDUIVehicleCrosshairViewModel false
DT_VehicleCrosshair_STN_02 Id.Vehicle.WeaponExtension.STN_02.MainCannon W_STN_02_C WDUIVehicleCrosshairViewModel false
DT_VehicleCrosshair_STN_03 Id.Vehicle.WeaponExtension.STN_03.MainBarrel W_STN_03_Reticle_C WDUIVehicleCrosshairViewModel false
DT_VehicleCrosshair_STN_05 Id.Vehicle.WeaponExtension.STN_05.MainBarrel W_STN_03_Reticle_C WDUIVehicleCrosshairViewModel false
DT_VehicleCrosshair_TNK01 Id.Vehicle.WeaponExtension.TNK_01.Heavy W_Tank01_02_C WDUIVehicleCrosshairViewModel false
DT_VehicleCrosshair_TNK01 Id.Vehicle.WeaponExtension.TNK_01.MachineGun W_Tank01_01_C WDUIVehicleCrosshairViewModel false
DT_VehicleCrosshair_TNK01 Id.Vehicle.WeaponExtension.TNK_01.Artillery W_Artillery_Reticle_C WDUIVehicleCrosshairViewModel false
DT_VehicleCrosshair_TNK01 Id.Vehicle.WeaponExtension.TNK_01.AntiAir W_AntiAir_Reticle_C WDUIVehicleCrosshairViewModel false
DT_VehicleCrosshair_TNK04 Id.Vehicle.WeaponExtension.TNK_04.Default W_Tank01_02_C WDUIVehicleCrosshairViewModel false
DT_VehicleCrosshair_TNK04 Id.Vehicle.WeaponExtension.TNK_04.MachineGun W_Tank01_01_C WDUIVehicleCrosshairViewModel false

11 rows in 6 tables with rows; the tables DT_VehicleCrosshair_STN01, DT_VehicleCrosshair_STN06 exist but have no rows. 1 row has no widget class and uses the default reticle. All rows use the same view model class and have the unnamed flag false.

See also