[BNW] Unit has Wrong walk animation, No clue how to fix it.

NO_Body

Chieftain
Joined
Oct 25, 2017
Messages
19
(This isn't making a NEW unit but changing the appearance of the old unit for a set civ.)

So i was playing in DX9 and the units walk worked fine.
i switched to DX10/DX11 and now the units walking is messed up.
(edit, Now the issue appears in DX9 too.)

What i'm trying to do is basically make the Mechanized infantry into a regular Human infantry.
Its just the walk that is messed up, the rest works fine.


What happens is, instead of moving as a group, they move ONE soldier at a time and it looks silly and takes forever. I want them to move like a normal infantry.

Here's the code:
I know the way to fix it is in here Somewhere, i just don't know where...
i tried a number of things and nothing worked.

Spoiler :
Code:
-- SWEDEN
INSERT INTO "ArtDefine_UnitInfos" ('Type','DamageStates','Formation')
    SELECT    ("ART_DEF_UNIT_MECHANIZED_INFANTRY_SWEDEN"), "DamageStates", "UnFormed"
    FROM "ArtDefine_UnitInfos" WHERE (Type = "ART_DEF_UNIT_MECHANIZED_INFANTRY");
INSERT INTO "ArtDefine_UnitInfoMemberInfos" ('UnitInfoType','UnitMemberInfoType','NumMembers')
    SELECT    ("ART_DEF_UNIT_MECHANIZED_INFANTRY_SWEDEN"), ("ART_DEF_UNIT_MEMBER_MECHANIZEDINFANTRY_SWEDEN"), "12"
    FROM "ArtDefine_UnitInfoMemberInfos" WHERE (UnitInfoType = "ART_DEF_UNIT_MECHANIZED_INFANTRY");
INSERT INTO "ArtDefine_UnitMemberCombats" ('UnitMemberType', 'EnableActions', 'DisableActions', 'MoveRadius', 'ShortMoveRadius', 'ChargeRadius', 'AttackRadius', 'RangedAttackRadius', 'MoveRate', 'ShortMoveRate', 'TurnRateMin', 'TurnRateMax', 'TurnFacingRateMin', 'TurnFacingRateMax', 'RollRateMin', 'RollRateMax', 'PitchRateMin', 'PitchRateMax', 'LOSRadiusScale', 'TargetRadius', 'TargetHeight', 'HasShortRangedAttack', 'HasLongRangedAttack', 'HasLeftRightAttack', 'HasStationaryMelee', 'HasStationaryRangedAttack', 'HasRefaceAfterCombat', 'ReformBeforeCombat', 'HasIndependentWeaponFacing', 'HasOpponentTracking', 'HasCollisionAttack', 'AttackAltitude', 'AltitudeDecelerationDistance', 'OnlyTurnInMovementActions', 'RushAttackFormation')
    SELECT    ("ART_DEF_UNIT_MEMBER_MECHANIZEDINFANTRY_SWEDEN"), "EnableActions", "DisableActions", "MoveRadius", "ShortMoveRadius", "ChargeRadius", "AttackRadius", "RangedAttackRadius",
            "MoveRate", "ShortMoveRate", "TurnRateMin", "TurnRateMax", "TurnFacingRateMin", "TurnFacingRateMax", "RollRateMin", "RollRateMax", "PitchRateMin", "PitchRateMax", "LOSRadiusScale", "TargetRadius", "TargetHeight", "HasShortRangedAttack", "HasLongRangedAttack", "HasLeftRightAttack", "HasStationaryMelee", "HasStationaryRangedAttack", "HasRefaceAfterCombat", "ReformBeforeCombat", "HasIndependentWeaponFacing", "HasOpponentTracking", "HasCollisionAttack", "AttackAltitude", "AltitudeDecelerationDistance", "OnlyTurnInMovementActions", "RushAttackFormation"
    FROM "ArtDefine_UnitMemberCombats" WHERE (UnitMemberType = "ART_DEF_UNIT_MEMBER_MECHANIZEDINFANTRY");
INSERT INTO "ArtDefine_UnitMemberCombatWeapons" ('UnitMemberType', 'Index', 'SubIndex', 'ID', 'VisKillStrengthMin', 'VisKillStrengthMax', 'ProjectileSpeed', 'ProjectileTurnRateMin', 'ProjectileTurnRateMax', 'HitEffect', 'HitEffectScale', 'HitRadius', 'ProjectileChildEffectScale', 'AreaDamageDelay', 'ContinuousFire', 'WaitForEffectCompletion', 'TargetGround', 'IsDropped', 'WeaponTypeTag', 'WeaponTypeSoundOverrideTag')
    SELECT ("ART_DEF_UNIT_MEMBER_MECHANIZEDINFANTRY_SWEDEN"), "Index", "SubIndex", "ID", "VisKillStrengthMin", "VisKillStrengthMax", "ProjectileSpeed", "ProjectileTurnRateMin", "ProjectileTurnRateMax", "HitEffect", "HitEffectScale", "HitRadius", "ProjectileChildEffectScale", "AreaDamageDelay", "ContinuousFire", "WaitForEffectCompletion", "TargetGround", "IsDropped", "WeaponTypeTag", "WeaponTypeSoundOverrideTag"
    FROM "ArtDefine_UnitMemberCombatWeapons" WHERE (UnitMemberType = "ART_DEF_UNIT_MEMBER_MECHANIZEDINFANTRY");
INSERT INTO "ArtDefine_UnitMemberInfos" ("Type", "Scale", "ZOffset", "Domain", "Model", "MaterialTypeTag", "MaterialTypeSoundOverrideTag")
    SELECT    ("ART_DEF_UNIT_MEMBER_MECHANIZEDINFANTRY_SWEDEN"), "0.14", "ZOffset", "Domain",
            ("EuropeanSF.fxsxml"), "MaterialTypeTag", "MaterialTypeSoundOverrideTag"
    FROM "ArtDefine_UnitMemberInfos" WHERE (Type = "ART_DEF_UNIT_MEMBER_MECHANIZEDINFANTRY");


Oh and Thanks for the help so far BTW, i didn't wanna bump the old post to just say thanks.


Edit: Yep, tried everything i could, even changing everything to the Infantry art wont effect the movement.
 
Last edited:
I'd recommend using different default values than pulling the ones from ART_DEF_UNIT_MECHANIZED_INFANTRY and ART_DEF_UNIT_MEMBER_MECHANIZEDINFANTRY. One of these default elements (not sure which one, perhaps in "ArtDefine_UnitMemberCombats") wants to maneuver the individual members in the model in a sequential manner - like the Mech Infantry model does in the game - trying to look like a gaggle or armored vehicles lining up for moving or attack.

Recommend using something more basic, e.g. ART_DEF_UNIT_INFANTRY and ART_DEF_UNIT_MEMBER_INFANTRY.
 
I'd recommend using different default values than pulling the ones from ART_DEF_UNIT_MECHANIZED_INFANTRY and ART_DEF_UNIT_MEMBER_MECHANIZEDINFANTRY. One of these default elements (not sure which one, perhaps in "ArtDefine_UnitMemberCombats") wants to maneuver the individual members in the model in a sequential manner - like the Mech Infantry model does in the game - trying to look like a gaggle or armored vehicles lining up for moving or attack.

Recommend using something more basic, e.g. ART_DEF_UNIT_INFANTRY and ART_DEF_UNIT_MEMBER_INFANTRY.

Thanks, But i did try that, it didn't work.
i replaced every possible one with INFANTRY, and they still ran like that.
 
Perhaps try changing the MoveRate in Units? Iirc someone mentioned recently that animation speed is what it actually handles.

Code:
UPDATE Units
SET MoveRate = (SELECT MoveRate FROM Units WHERE Type = 'UNIT_INFANTRY')
WHERE Type = 'UNIT_MECHANIZED_INFANTRY';
 
Perhaps try changing the MoveRate in Units? Iirc someone mentioned recently that animation speed is what it actually handles.

Code:
UPDATE Units
SET MoveRate = (SELECT MoveRate FROM Units WHERE Type = 'UNIT_INFANTRY')
WHERE Type = 'UNIT_MECHANIZED_INFANTRY';
IT WORKS!
Thank you SOOO much!!

I knew it was a code i missed, i just didn't know WHAT, since i only know how to edit code.
I'm so glad its finally fixed, Thanks a Billion!
 
Top Bottom