zwobot 22 Posted January 31, 2020 Hello, I am having trouble getting to grips with the track animations of a tank. The wheels and dampers are all setup correctly so that the animations work Buldozer and ingame. But how do the tracks need to be setup in O2 and cfgSkeletons and cfgModels? There are several selections regarding the tracks in the sample models but no real pointers how their animations are setup. Which selections are required for the tracks in the model and how are they setup in cfgSkeletons and cfgModels for the tracks to be animated? Selections pasanimL, pasoffsetL, pasanimP, pasoffsetP are assigned to the left and right track respectively in O2 What I have so far in the model.cfg is: Spoiler class CfgSkeletons { class zvs_TankSkeleton { skeletonInherit=""; skeletonBones[]= { "podkoloL1","", "podkoloL2","", "podkoloL3","", "podkoloP1","", "podkoloP2","", "podkoloP3","", "wheell_01","podkoloL1", "wheell_02","podkoloL2", "wheell_03","podkoloL3", "wheell_04","", "wheell_05","", "wheell_06","", "wheelr_01","podkoloP1", "wheelr_02","podkoloP2", "wheelr_03","podkoloP3", "wheelr_04","", "wheelr_05","", "wheelr_06","", "mainTurret","", "mainGun","mainTurret" }; isDiscrete = 1; }; }; class cfgModels { class zvs_Tank { sectionsInherit=""; skeletonName="zvs_TankSkeleton"; sections[]= { "pasanimL", // left track "pasanimP", // right track "pasoffsetL", // left track offset - includes same points as pasanimL "pasoffsetP", // right track offset - includes same points as pasanimP }; class Animations { // turret omitted as this already works as expected class Wheel_podkoloL1 { type = "translationY"; source = "damper"; selection = "podkoloL1"; axis = ""; offset0=0; offset1=0; memory = 0; minValue=-1000; maxValue=1000; minPhase=-1000; maxPhase=1000; sourceAddress=0; }; class Wheel_podkoloL2 : Wheel_podkoloL1 { selection = "podkoloL2"; }; class Wheel_podkoloL3 : Wheel_podkoloL1 { selection = "podkoloL3"; }; class Wheel_podkoloP1 : Wheel_podkoloL1 { selection = "podkoloP1"; }; class Wheel_podkoloP2 : Wheel_podkoloL1 { selection = "podkoloP2"; }; class Wheel_podkoloP3 : Wheel_podkoloL1 { selection = "podkoloP3"; }; class WheelL_01 { type = "rotationX"; source = "wheelL"; selection = "wheell_01"; axis = ""; memory = 0; sourceAddress = "loop"; minValue = 0; maxValue = 1; angle0 = 0; angle1 = "rad -360"; }; class WheelL_02 : WheelL_01 { selection = "wheell_02"; }; class WheelL_03 : WheelL_01 { selection = "wheell_03"; }; class WheelL_04 : WheelL_01 { selection = "wheell_04"; }; class WheelL_05 : WheelL_01 { selection = "wheell_05"; }; class WheelL_06 : WheelL_01 { selection = "wheell_06"; }; class WheelR_01 : WheelL_01 { source = "wheelR"; selection = "wheelr_01"; }; class WheelR_02 : WheelR_01 { selection = "wheelr_02"; }; class WheelR_03 : WheelR_01 { selection = "wheelr_03"; }; class WheelR_04 : WheelR_01 { selection = "wheelr_04"; }; class WheelR_05 : WheelR_01 { selection = "wheelr_05"; }; class WheelR_06 : WheelR_01 { selection = "wheelr_06"; }; }; }; Share this post Link to post Share on other sites
zwobot 22 Posted February 19, 2020 I think I got this more or less sorted with assistance provided in private conversations from Macser and Alwarren. First of all, the track needs an .rvmat assignment which I was missing at first. This is also stated in the Wiki for config entry selectionLeftOffset by the way. Secondly, the names assigned in cfgVehicles of my addon for selectionLeftOffset and selectionRightOffset were not the same as the selection names assigned to the tracks in O2. Share this post Link to post Share on other sites