Because the model mising the variable binding of turret_control__animVars, BM13N Katyusha can only do so much

Because the 3d model mising the variable binding of turret_control__animVars

After some tests, I think the key setting enabled the rotation of the turret is in turret_control__animVars, which binding the 3d model skelton to rotation.

Finally the Katyusha can only do so much. It can drive and fire but can not rotate the turret.

This is so close to perfect. I believe the development team can complete it anytime they want, there should not be too works much left on it

Some other models such as the stuh42 105mm also can not be rotated the gun, I believe it is caused by the same reason

entities.blk for anyone wants to try it

put it in

/path/to/your/mod
scene.blk
entities.blk  // <---
big_action_ussr_bm_13n{
  _extends:t="base_tank"
  _extends:t="big_action_bm_13n_16_ammo_stowages"
  killLogName:t="ussr_bm_13n"
  animchar__res:t="bm_13n_char"
  collres__res:t="bm_13n_collision"
  //vehicle_net_phys__blk:t="%ugm/data/gen/units/bm_13n.blk:VehiclePhys"
  vehicle_net_phys__blk:t="content/e_ww2_common/gamedata/units/vehicles/gmc_353.blk:VehiclePhys"
  particle_phys__blk:t="gamedata/suspension/empty.blk"
  dmg_animchar__res:t="bm_13n_char"
  xray_resource__modelName:t="bm_13n"
  cockpit__zoomOutFov:r=2.7475
  cockpit__zoomInFov:r=5.3955
  cockpit__sightName:t="sight_model/default_tank_spg"
  cockpit__sightFov:r=20.0
  drowningHeight:r=1.05
  //damage_model__blk:t="%ugm/data/gen/units/bm_13n.blk"
  damage_model__blk:t="content/e_ww2_common/gamedata/units/vehicles/gmc_353.blk"
  item__name:t="items/ussr_bm_8_24"
  resupply__cooldownOverride:r=1.5

  "vehicle_seats__seats:shared:array"{

    "seats:object"{
      name:t="commander"
      locName:t="vehicle_seats/car_driver"
      seatOwnsEntityControl:b=yes
      ignoreAttachNodeRotation:b=yes
      attachNode:t="driver"
      entranceNode:t="char_driver_landing"
      attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.1, -0.12, 0.0]]
      seatComponent:t="isGunner"
      seatEnum:t="left_seat"
      cockpitTemplate:t="big_action_bm_13n_16_gunner_cockpit"
      cameraType:t="machinegunner_cockpit"

      "turretNames:array"{
        turretNames:t="turret_01"
      }
    }

    "seats:object"{
      name:t="passenger1"
      locName:t="vehicle_seats/commander"
      seatOwnsEntityControl:b=no
      ignoreAttachNodeRotation:b=yes
      attachNode:t="commander"
      entranceNode:t="char_passenger_01_landing"
      attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [0.0, -0.33, 0.0]]
      seatComponent:t="isPassenger"
      nextSeat:t="driver"
      seatEnum:t="right_seat"

      "loaderTurretNames:array"{
        turret:t="turret_01"
      }
    }
  }

   "turret_gun_flash_fx__flashNodes:shared:array"{
    node:t="emtr_gun_flame_01"
  }

  "turret_gun_flash_fx__flashFx:shared:array"{
    fx:t="muzzle_ground_8mm"
  }

  "turret_gun_flash_fx__flashFxScale:shared:array"{
    scale:r=1.0
  }

  "turret_control__emitterNodes:shared:array"{
    node:t="bone_rocket_01"
  }

  "turret_control__animVars:shared:array"{

    "vars:object"{
      curYawParamName:t="turret_01_yaw"
      curPitchParamName:t="gun_01_pitch"
      aimActiveParamName:t="aim_01_active"
      paramYawSpeed:t="turret_01_yaw_speed"
      paramYawSpeedMul:t="turret_01_yaw_mul"
      paramYawAccel:t="turret_01_yaw_accel"
      paramMinYawAngle:t="turret_01_min_yaw_angle"
      paramMaxYawAngle:t="turret_01_max_yaw_angle"
      paramMinPitchAngle:t="turret_01_min_pitch_angle"
      paramMaxPitchAngle:t="turret_01_max_pitch_angle"
      paramPitchSpeed:t="gun_01_pitch_speed"
      paramPitchSpeedMul:t="gun_01_pitch_mul"
      paramPitchAccel:t="gun_01_pitch_accel"
      wishYawParamName:t="gun_01_aim:targetYaw"
      wishPitchParamName:t="gun_01_aim:targetPitch"
    }
  }

  "turret_control__turretInfo:shared:array"{

    "turretInfo:object"{
      turretName:t="turret_01"
      gun:t="big_action_bm_13n_16_rocket+main_turret"
      barrelDm:t="gun_barrel"
      breechDm:t="cannon_breech"
      salt:i=1
    }
  }

  "vehicle_seats__canAcquireControls:shared:object"{

    "default:object"{
      movement:b=yes
      turrets:b=yes
    }

    "driver:object"{
      movement:b=yes
      turrets:b=yes
    }

    "main_gunner:object"{
      movement:b=yes
      turrets:b=yes
    }
  }
}

big_action_bm_13n_16_gunner_cockpit{
  _extends:t="base_gunner_cockpit"
  animchar__res:t="t_26_1940_gunner_char"
  cockpit__minZoom:r=-0.27
  cockpit__offset:p3=-0.0, 0.0, 0.0
  animchar_render__enabled:b=no
  cockpit__offset:p3=-6.0, 2.3, -0.0
  // vehicle_sight__blk:t="%ugm/data/sight/artilery_indirect_ami_sight_bm8_24.blk"
  
  "cockpit__slitForwardOffset:list<r>"{
    slit:r=0.0
  }

  "cockpit__visibleVehicleNodeNames:list<t>"{
    node:t="@root"
    node:t="wheel_r_top_03"
    node:t="ex_decor_l_04"
    node:t="ex_decor_l_05"
    node:t="ex_decor_l_02"
    node:t="ex_decor_l_03"
    node:t="ex_decor_l_01"
    node:t="ex_decor_r_04"
    node:t="ex_decor_r_05"
    node:t="ex_decor_r_02"
    node:t="ex_decor_r_03"
    node:t="ex_decor_r_01"
    node:t="ex_decor_02"
    node:t="ex_decor_01"
    node:t="ex_decor_03"
    node:t="ex_armor_01"
    node:t="wheel_r_01"
    node:t="wheel_r_02"
    node:t="wheel_r_03"
    node:t="wheel_r_04"
    node:t="wheel_r_top_01"
    node:t="wheel_r_top_02"
    node:t="wheel_r_top_03"
    node:t="wheel_r_drive"
    node:t="wheel_l_drive"
    node:t="wheel_l_01"
    node:t="wheel_l_02"
    node:t="wheel_l_03"
    node:t="wheel_l_04"
    node:t="wheel_l_top_01"
    node:t="wheel_l_top_02"
    node:t="wheel_l_top_03"
    node:t="wheel_r_back"
    node:t="wheel_l_back"
    node:t="ex_decor_turret_01"
    node:t="ex_lantern_b_01"
    node:t="ex_lantern_01"
    node:t="hatch_01"
    node:t="hatch_02"
    node:t="bone_turret"
    node:t="bone_gun"
    node:t="gun_barrel"
  }

  "cockpit__cockpitOffsetBySlit:list<p3>"{
    item:p3=0.396494, -0.43033, 0.816323
  }

  "cockpit__attachNodeNames:list<t>"{
    node:t="bone_turret"
  }

  "cockpit__attachNodeIndices:list<i>"{
  }

  "cockpit__slitNodeNames:list<t>"{
    slit:t="cam_front_right"
  }

  "cockpit__slitIsGun:list<b>"{
    slit:b=yes
  }
}

big_action_bm_13n_16_ammo_stowages{
  _tags:t="server"
  _extends:t="vehicle_ammo_stowages"

  "ammo_stowage__stowageTemplates:shared:list<t>"{
    stowage:t="big_action_bm_13n_16_ammo_stowage_1"
  }
}

big_action_bm_13n_16_ammo_stowage_1{
  _extends:t="ammo_stowage"

  "ammo_stowage__clusterTemplates:shared:list<t>"{
    cluster:t="big_action_bm_13n_16_ammo_cluster_1_1"
  }

  "ammo_stowage__turretNames:shared:list<t>"{
    gun:t="turret_01"
  }
}

big_action_bm_13n_16_ammo_cluster_1_1{
  _extends:t="ammo_cluster"
  ammo_cluster__isShell:b=yes

  "ammo_cluster__slotNames:shared:list<t>"{
    part:t="ammo_turret_02"
  }

  "ammo_cluster__slotsMaxAmmo:list<i>"{
    count:i=16
  }
}

big_action_bm_13n_16_rocket{
  _extends:t="base_tank_rocket_gun"
  turret__yawSpeed:r=15.0
  turret__pitchSpeed:r=5.0
  turret__aimNodeName:t="bone_turret"
  turret__limit:p4=-13.0, 13.0, -3.0, 40.0
  gun__projectileTemplate:t="bm_8_24_projectile"
  gun__projectileDebugTemplate:t="bm_8_24_projectile+bomb_projectile_debug"
  item__name:t="guns/82mm_M8_rocket_launcher"
  gun__blk:t="content/enlisted/gamedata/weapons/bm_8_24/m_8_launcher.blk"
  gun__shotFreq:r=1.0
  gun__locName:t="82mm_M8_rocket_launcher"
  gun__shootNodeName:t="bone_rocket_01"
  gun__shootNodeEmitterGenFmt:t="bone_rocket_%02d"
  gun__shootNodeItemTemplate:t="bm_8_24_item"
  gun__maxAmmo:i=16
  gun__ammo:i=16

  "gun__ammoSetsInfo:shared:array"{

    "default:array"{

      "shell:object"{
        blk:t="content/enlisted/gamedata/weapons/shells/m_8_rocket_bm_8_24.blk"
        name:t="82mm_M8_rocket_launcher"
        type:t="he_frag_tank"
      }
    }
  }

  "gun__shellsAmmo:array"{
    ammo:i=16
  }
}

5 Likes

wait?
how do you unlock that thing
I can’t find it anywhere

3 Likes

I hope there is a fun Katyusha truck in Stalingrad for ALL players next update

2 Likes

I think he use other vehicle and add models and some stats from bm 13n.
(Seems some code wasn’t removed by devs).
You can see in code:

  animchar__res:t="bm_13n_char"
  collres__res:t="bm_13n_collision"
  dmg_animchar__res:t="bm_13n_char"
  xray_resource__modelName:t="bm_13n"

These lines changes model, collision and maybe some anims?
By this way you can return back tanks from modern event.

3 Likes

If the 3d model corresponding to animchar still exists and is imported. For example, KV2 and many models were removed, waiting to be added again.

It also depends on whether the 3d model is bound to enlisted-specific control variables. It seems that Enlisted and Warthunder are different for control variables and configuration details.

bm13n, I believe the model function is 100% complete, just missing variables

3 Likes

Is the KV-2 1939 back in the files? Jw! (im hopeful it could mean we could see a Finland campaign one day)

2 Likes