Tutorial: Wrist Rocket Animation For Other Units? [Solved]

In this forum you will find and post information regarding the modding of Star Wars Battlefront 2. DO NOT POST MOD IDEAS/REQUESTS.

Moderator: Moderators

Post Reply
rc1207sev
Private Second Class
Posts: 72
Joined: Fri Mar 08, 2013 4:53 pm
Projects :: SWRC Capital Supremacy
Games I'm Playing :: SWBF-SWBF2-SWRC
xbox live or psn: DolphinRepublic

Tutorial: Wrist Rocket Animation For Other Units? [Solved]

Post by rc1207sev »

EDIT: This post has been solved. If you want to see what the problem was, check the 1st hidden tab (replies for when I figured it out). If you need a tutorial, check the 2nd hidden tab

Problem
Hidden/Spoiler:
Hello everyone!
I'm working on a mod currently and decided to start on custom sides because I find it very fun to see what you can create. I modified the clone jet trooper with many enhancements, like a heavy sniper rifle, burst-fire pistol and one of my favorites, the wrist rocket. However I quickly found that when the wrist rocket (A modified version of Boba's wrist rocket) fired, everything worked but the animation. It simply played the grenade throw animation instead. I'm not sure what I did as I copied Boba's wrist rocket files verbatim and even applied the "fett" animation bank to my jet trooper. I know it has been accomplished (I know Dev's Side Mod had it) so I'm not entirely sure what's going on.

I have used the search function on the site, but all I have found is what I've tried already (applying the animation bank to the unit as it was for Boba and Jango). Or I made a mistake in what I thought I learned from the search and this post is almost pointless.

Here are all of the ODFs of my jet trooper and related:
rep_inf_ep3jettrooper.odf
[code][GameObjectClass]
ClassParent = "rep_inf_default_jettrooper"


[Properties]
GeometryName = "rep_inf_ep3jettrooper"
GeometryLowRes = "rep_inf_ep3jettrooper_low1"
FirstPerson = "REP\reptroop;rep_1st_trooper"[/code]

Its parent, rep_inf_default_jettrooper.odf
[code][GameObjectClass]
ClassParent = "rep_inf_default"

[Properties]
MaxHealth = 700.0
MaxSpeed = 7.0
MaxStrafeSpeed = 6.0

PointsToUnlock = 12

UnitType = "trooper"

AnimationName = "fett"

AISizeType = "HOVER"

ControlSpeed = "jet 1.50 1.25 1.25"

JetJump = "14.0" //7 //The initial jump-push given when enabling the jet
JetPush = "8.0" //The constant push given while the jet is enabled (20 is gravity)
JetAcceleration = "40.0" //Acceleration while hovering.
JetEffect = "rep_sfx_jetpack"
JetType = "hover"
JetFuelRechargeRate = "0.5" //Additional fuel per second (fuel is 0 to 1)
JetFuelCost = "0.05" //Cost per second when hovering (only used for jet-hovers)(fuel is 0 to 1)
JetFuelInitialCost = "0.12" //initial cost when jet jumping(fuel is 0 to 1)
JetFuelMinBorder = "0.24" //minimum fuel to perform a jet jump(fuel is 0 to 1)

CAMERASECTION = "STAND"

EyePointOffset = "0.0 1.8 0.0"
TrackCenter = "0.0 1.8 0.0
TrackOffset = "0.0 0.0 3.5"
TiltValue = "7.5"

//These probably need to be set
//CAMERASECTION = "STANDZOOM"
//EyePointOffset = "0.0 1.8 0.0"
//TrackCenter = "0.0 1.8 0.0
//TrackOffset = "0.4 0.05 2.8"
//TiltValue = "3.5"

CAMERASECTION = "CROUCH"

EyePointOffset = "0.0 1.3 0.0"
TrackCenter = "0.0 1.3 0.0
TrackOffset = "0.0 0.15 3.5"
TiltValue = "7.5"

//These probably need to be set
//CAMERASECTION = "CROUCHZOOM"
//EyePointOffset = "0.0 1.3 0.0"
//TrackCenter = "0.0 1.3 0.0
//TrackOffset = "0.4 0.2 2.8"
//TiltValue = "3.5"


WEAPONSECTION = 1
WeaponName = "custom_weap_sniper"
WeaponAmmo = 7

WEAPONSECTION = 2
WeaponName = "custom_weap_burstpistol"
WeaponAmmo = 10

WEAPONSECTION = 3
WeaponName = "custom_weap_wrist"
WeaponAmmo = 4
WeaponChannel = 1

CollisionScale = "0.0 0.0 0.0"

EngineSound = "rep_inf_Jetpack_engine_parameterized"
TurnOnSound = "rep_weap_jetpack_turnon"
TurnOffSound = "rep_weap_jetpack_turnoff"
TurnOffTime = 0.0


VOUnitType = 121
[/code]

My wrist rocket: custom_weap_wrist.odf
[code][WeaponClass]
ClassParent = "custom_weap_default_wrist"

[Properties]
HUDTag = "hud_imp_wristrocket"
OrdnanceName = "custom_weap_wrist_ord"

// to make it work - Mike Z
FireAnim = 1
InitialSalvoDelay = "0.46" // 14 frames
InstantPlayFireAnim = 1

//************************************************
//******************* SOUND *****************
//************************************************

FireSound = "imp_weap_inf_rocket_launcher_fire"
ReloadSound = "com_weap_inf_equip_lg"
ChangeModeSound = "com_weap_inf_equip_med"
FireEmptySound = "com_weap_inf_ammo_empty"
WeaponChangeSound = "com_weap_inf_equip_med"
JumpSound = "com_weap_inf_rifle_mvt_jump"
LandSound = "com_weap_inf_rifle_mvt_land"
RollSound = "com_weap_inf_rifle_mvt_roll"
//ProneSound = "com_weap_inf_rifle_mvt_lie"
SquatSound = "com_weap_inf_rifle_mvt_squat"
//StandSound = "com_weap_inf_rifle_mvt_getup"

[/code]
The wrist rocket parent: custom_weap_default_wrist.odf (I know this AnimationBank is "rifle", but this was how it was set up for Boba)
[code][WeaponClass]
ClassLabel = "cannon"

[Properties]
AnimationBank = "rifle"

//***********************************************
//************* TARGET & RANGE VALUES **********
//***********************************************
TargetEnemy = "1"
TargetNeutral = "0"
TargetFriendly = "0"

TargetPerson = "1"
TargetAnimal = "1"
TargetDroid = "1"
TargetVehicle = "0"
TargetBuilding = "0"

MinRange = "0"
OptimalRange = "16"
MaxRange = "48"

LockOnRange = "64.0"
LockTime = "0.4"
LockOnAngle = "1.0"

ZoomMin = "2.5"
ZoomMax = "2.5"
ZoomRate = "0.0"

NoFirstPersonFireAnim = 1

YawSpread = "0.25"
PitchSpread = "0.25"

SpreadPerShot = "1.1"
SpreadRecoverRate = "4.8"
SpreadThreshold = "1.6"
SpreadLimit = "6.0"

StandStillSpread = "0.0"
StandMoveSpread = "0.0"
CrouchStillSpread = "0.0"
CrouchMoveSpread = "0.0"
ProneStillSpread = "0.0"
ProneMoveSpread = "0.0"

//***********************************************
//*********** WEAPON PERFORMANCE VALUES *********
//***********************************************

RoundsPerClip = "1"
ReloadTime = "2.0"
ShotDelay = "0.0"
TriggerSingle = "1"

OffhandWeapon = 1
//***********************************************
//*********** HUD & CONTROLLER VALUES *********
//***********************************************
MuzzleFlash = "small_muzzle_flash"
Discharge = "small_smoke_effect"

RecoilLengthHeavy = "1.5"
RecoilStrengthHeavy = "1"
RecoilDecayHeavy = ".75"


[/code]

Here are Boba's files and the Imperial wrist rocket if that helps for reference:

imp_hero_bobafett.odf
[code][GameObjectClass]
ClassParent = "com_hero_default"
GeometryName = "imp_inf_bobafett.msh"

[Properties]
AISizeType = "HOVER"

MaxHealth = 1200.0

ClothODF = "imp_inf_bobafett_cape"
GeometryName = "imp_inf_bobafett"
GeometryLowRes = "imp_inf_bobafett_low1"
FirstPerson = "IMP\impboba;imp_1st_bobafett"

AnimationName = "fett"

//JET JUMP
JetJump = "7.0" //7 //The initial jump-push given when enabling the jet
JetPush = "8.0" //The constant push given while the jet is enabled (20 is gravity)
JetAcceleration = "30.0" //Acceleration while hovering.
JetEffect = "imp_sfx_jetpack"
JetType = "hover"
JetFuelRechargeRate = "0.12" //Additional fuel per second (fuel is 0 to 1)
JetFuelCost = "0.15" //Cost per second when hovering (only used for jet-hovers)(fuel is 0 to 1)
JetFuelInitialCost = "0.25" //initial cost when jet jumping(fuel is 0 to 1)
JetFuelMinBorder = "0.24" //minimum fuel to perform a jet jump(fuel is 0 to 1)

CollisionScale = "0.0 0.0 0.0"
//JET JUMP END

WEAPONSECTION = 1
WeaponName1 = "imp_weap_hero_bobarifle"
WeaponAmmo1 = 4

WEAPONSECTION = 2
WeaponName2 = "imp_weap_hero_flamethrower"
WeaponAmmo2 = 3

WEAPONSECTION = 3
WeaponName3 = "imp_weap_inf_wrist_rocket"
WeaponAmmo3 = 5
WeaponChannel3 = 1

WEAPONSECTION = 4
WeaponName4 = "imp_weap_inf_detpack"
WeaponAmmo4 = 4
WeaponChannel4 = 1


//SOUND
SndHeroSelectable = ""
SndHeroSpawned = "hero_boba_spawn"
SndHeroDefeated = "hero_boba_exhausted"
SndHeroKiller = "hero_boba_exhausted"

VOSound = "imp_off_response_hero_command SC_Follow"
VOSound = "imp_off_response_hero_command SC_StopFollow"
VOSound = "imp_off_response_hero_command SC_VehicleWaitUp"
VOSound = "imp_off_response_hero_command SC_GetIn"
VOSound = "imp_off_response_hero_command SC_GetOut"

VOSound = "hero_boba_AcquiredTarget AcquiredTarget"
VOSound = "hero_boba_KillingSpree4 KillingSpree4"
VOUnitType = 192
SoldierMusic = "imp_hero_Boba_lp"

VOSound = "boba_hero_pc_com_hostile SpottedVO"
VOSound = "boba_hero_pc_com_mechanic NeedRepairVO"
VOSound = "boba_hero_pc_com_transport NeedPickupVO"
VOSound = "boba_hero_pc_com_backup NeedBackupVO"
VOSound = "boba_hero_pc_com_clear_area AttackPositionVO"
VOSound = "boba_hero_pc_com_defend DefendPositionVO"

VOSound = "boba_hero_pc_com_hostile_inVehicle SpottedVO +InVehicle"
VOSound = "boba_hero_pc_com_mechanic_inVehicle NeedRepairVO +InVehicle"
VOSound = "boba_hero_pc_com_transport_inVehicle NeedPickupVO +InVehicle"
VOSound = "boba_hero_pc_com_backup_inVehicle NeedBackupVO +InVehicle"
VOSound = "boba_hero_pc_com_clear_area_inVehicle AttackPositionVO +InVehicle"
VOSound = "boba_hero_pc_com_defend_inVehicle DefendPositionVO +InVehicle"

HurtSound = "fett_inf_com_chatter_wound"
DeathSound = "fett_inf_com_chatter_death"
ShockFadeOutTime = ""
ShockFadeInTime = ""
ShockFadeOutGain = ""
ShockSound = ""
ClothingRustleSound = ""
LowHealthSound = ""
//LowHealthThreshold = 0.25
EngineSound = "rep_inf_Jetpack_engine_parameterized"
TurnOnSound = "rep_weap_jetpack_turnon"
TurnOffSound = "rep_weap_jetpack_turnoff"
TurnOffTime = 0.0
FoleyFXClass = "imp_inf_trooper"
[/code]
Imperial wrist rocket: imp_weap_inf_wrist_rocket.odf
[code][WeaponClass]
ClassParent = "com_weap_inf_wrist_rocket"

[Properties]
HUDTag = "hud_imp_wristrocket"
OrdnanceName = "imp_weap_inf_wrist_rocket_ord"

// to make it work - Mike Z
FireAnim = 1
InitialSalvoDelay = "0.46" // 14 frames
InstantPlayFireAnim = 1

//************************************************
//******************* SOUND *****************
//************************************************

FireSound = "imp_weap_inf_rocket_launcher_fire"
ReloadSound = "com_weap_inf_equip_lg"
ChangeModeSound = "com_weap_inf_equip_med"
FireEmptySound = "com_weap_inf_ammo_empty"
WeaponChangeSound = "com_weap_inf_equip_med"
JumpSound = "com_weap_inf_rifle_mvt_jump"
LandSound = "com_weap_inf_rifle_mvt_land"
RollSound = "com_weap_inf_rifle_mvt_roll"
//ProneSound = "com_weap_inf_rifle_mvt_lie"
SquatSound = "com_weap_inf_rifle_mvt_squat"
//StandSound = "com_weap_inf_rifle_mvt_getup"

[/code]
And the wrist rocket parent: com_weap_inf_wrist_rocket.odf
[code][WeaponClass]
ClassLabel = "cannon"

[Properties]
AnimationBank = "rifle"

//***********************************************
//************* TARGET & RANGE VALUES **********
//***********************************************
TargetEnemy = "1"
TargetNeutral = "0"
TargetFriendly = "0"

TargetPerson = "1"
TargetAnimal = "1"
TargetDroid = "1"
TargetVehicle = "0"
TargetBuilding = "0"

MinRange = "0"
OptimalRange = "16"
MaxRange = "48"

LockOnRange = "64.0"
LockTime = "0.4"
LockOnAngle = "1.0"

ZoomMin = "2.5"
ZoomMax = "2.5"
ZoomRate = "0.0"

NoFirstPersonFireAnim = 1

YawSpread = "0.25"
PitchSpread = "0.25"

SpreadPerShot = "1.1"
SpreadRecoverRate = "4.8"
SpreadThreshold = "1.6"
SpreadLimit = "6.0"

StandStillSpread = "0.0"
StandMoveSpread = "0.0"
CrouchStillSpread = "0.0"
CrouchMoveSpread = "0.0"
ProneStillSpread = "0.0"
ProneMoveSpread = "0.0"

//***********************************************
//*********** WEAPON PERFORMANCE VALUES *********
//***********************************************

RoundsPerClip = "1"
ReloadTime = "2.0"
ShotDelay = "0.0"
TriggerSingle = "1"

OffhandWeapon = 1
//***********************************************
//*********** HUD & CONTROLLER VALUES *********
//***********************************************
MuzzleFlash = "small_muzzle_flash"
Discharge = "small_smoke_effect"

RecoilLengthHeavy = "1.5"
RecoilStrengthHeavy = "1"
RecoilDecayHeavy = ".75"


[/code]

I will keep experimenting, but I'm not sure what to mess around with. I think it's possible that changing the order of the lines of codes in the ODF could make a difference (maybe?), and it might depend on where I put the animation names. Anything can help.
Cheers!
How to apply Jango & Boba's Wrist Rocket Anims to any unit:
Hidden/Spoiler:
Note: This tutorial assumes you already have a working wrist rocket that fires and explodes on your desired unit, and working custom sides. If you have a problem with getting the weapon itself working, there are probably plenty of tutorials or forum topics that can help. It may even be in the Everything You Need Thread.

To start, make sure you have all of your unit's and rocket's files and parent files. For me, I have "rep_inf_ep3jettrooper" with a ClassParent of "rep_inf_defaultjettrooper". The files call for the wrist rocket "custom_weap_wrist" (copied from IMP) which has a ClassParent of "custom_weap_default_wrist" (Copied from common, for custom weapons I copy the all of the parent files over to my side odf folder to have complete control over the weapon's values).

With that figured, we now have total control over the weapon and unit values (copy over the ordinance "..._ord" and explosion "..._exp" ODFs if you want to modify those too).

Time to start applying the animation. Head over to your unit parent ODF. In my case, that's "rep_inf_default_jettrooper". If you're like me, you can see that the ODF does not call for any specific animation. That's because the jettrooper follows the standard animation bank for his skeleton and doesn't need any special animations. Except now he does.

In between the lines "UnitType" and "AISizeType", put in the ODF param "AnimationName" and set it equal to "fett". Those lines should now look something like this:
[code]UnitType = "trooper"

AnimationName = "fett"

AISizeType = "HOVER"[/code]
We're doing the same, but for the wrist rocket. Head into your wrist rocket parent ODF, which is in my case "custom_weap_default_wrist". Find the line with the ODF param "AnimationBank". It should be the first line under "Properties". If you're applying this to the wrist rocket like me, it should be set to "rifle". Change that to "fett" too. (If you're using the parent in the common folder, watch out changing this as it may effect other units who call upon this parent, like Boba, Jango or the SBD. That's why I recommend copying it over and renaming it). It should now look like this:
[code]AnimationBank = "fett"[/code]
There's a catch to all of this. Because we called for the animation "fett", we need to make sure we have his animation files in our side's munged folder. If your unit is on the CIS or IMP, you're in luck, because the animation files are already there for Boba and Jango. No need to do anything. If you're on REP, ALL, or a custom side, go to either the CIS or IMP's side folder under assets/sides, and then find CIS/munged or IMP/munged. In there is a bunch of already munged files ready to be moved over to the final folder. Find "fett.anims", "fett.zaabin" and "fett.zafbin". Copy them all over to your side's munged folder. (In my case, this is Data_UWC/Sides/rep/munged).

Munge your map along with the beautiful sides you just modified (and I always check "Common" in the munger just in case), and you should be golden!

In summary:
[list=6][*]Get your unit and weapon(s) working
[*]Get your unit and weapon ODF hierarchies together
[*]Modify/Add in the unit's parent's "AnimationName"
[*]Modify the weapon's parent's "AnimationBank"
[*]Copy over the Animation files (.anims, .zaabin, .zafbin)
[*]Munge and have fun[/list]

Also make everything else about the side and you can have this!
Image

Cheers!
Last edited by rc1207sev on Mon Sep 10, 2018 2:08 am, edited 2 times in total.
AQT
Gametoast Staff
Gametoast Staff
Posts: 4910
Joined: Sat Nov 03, 2007 4:55 pm
Location: SoCal, USA

Re: Wrist Rocket Animation For Other Units?

Post by AQT »

Did you copy the "fett" animation files to your side's munged folder?
rc1207sev
Private Second Class
Posts: 72
Joined: Fri Mar 08, 2013 4:53 pm
Projects :: SWRC Capital Supremacy
Games I'm Playing :: SWBF-SWBF2-SWRC
xbox live or psn: DolphinRepublic

Re: Wrist Rocket Animation For Other Units?

Post by rc1207sev »

AQT wrote:Did you copy the "fett" animation files to your side's munged folder?
Copied the animation files into the Republic munged folder, confirmed that the munging did move the animation files into Data_UWC/_Build/Sides/REP/MUNGED/PC. Didn't change

I did, however, change the weapon's AnimationBank to "fett" and it worked!
(The reason I didn't do that before was because both Boba and Jango's files had the animation "fett" inside their unit odf, not the weapon odf. Their wrist rocket odfs just had "rifle")

It was probably necessary to include the munged animation files inside your side's folder, so thanks AQT!

EDIT: I wrote out a tutorial in case anyone else was having an issue with this. I hope whoever needs to see this gets to see it. Also here is a preview of the unit I applied this to:
Hidden/Spoiler:
Image
Image
Image
User avatar
Needo62
Private Third Class
Posts: 49
Joined: Fri Jan 12, 2018 12:26 am
Projects :: is a secret owo
Games I'm Playing :: SWBF2
Location: STRAYA MATE
Contact:

Re: Wrist Rocket Animation For Other Units?

Post by Needo62 »

rc1207sev wrote:
AQT wrote:Did you copy the "fett" animation files to your side's munged folder?
Copied the animation files into the Republic munged folder, confirmed that the munging did move the animation files into Data_UWC/_Build/Sides/REP/MUNGED/PC. Didn't change

I did, however, change the weapon's AnimationBank to "fett" and it worked!
(The reason I didn't do that before was because both Boba and Jango's files had the animation "fett" inside their unit odf, not the weapon odf. Their wrist rocket odfs just had "rifle")

It was probably necessary to include the munged animation files inside your side's folder, so thanks AQT!

EDIT: I wrote out a tutorial in case anyone else was having an issue with this. I hope whoever needs to see this gets to see it. Also here is a preview of the unit I applied this to:
Hidden/Spoiler:
Image
Image
Image
Woahh cool looking skin!
Post Reply