Hello guys
It`s me again.
As I said before, I am extending UTGame and turning it into a Third Person Shooter (soon I will showcase my game here), and as I am a n00b in UDK, I am using many of the UT functions as a base for my own classes, I am using even the same UT3 Skeleton for my custom character, same AnimationTrees and even same animation set (however I am replacing almost ALL UT3 locomotion animation like running, crouching, running left, right, pistol aiming, and so on…)
Something I never liked in UTGame is the running animation, because the character runs and aims at the same time, and as I have got many mocap files for different actions, I am using a cool sprint running animation similar to PUBG and Fortnite. However, as I am using the UTGame AnimationTree, whenever I am running with my custom sprint animation and shoot, there is no shooting animation, so I added this code on my weapon code to play a shooting (aiming) animation whenever the Pawn (player and enemies) shoots while is running (because for the idle state, the idle animation already has the aiming position):
//function to fire gun and play animation/////////////////////////
simulated function FireAmmunition()
{
//this will play the shooting animation only whenever the player is running, which is when it is needed to make the transition
//between running and shooting
if(UTPawn(Owner).Velocity.x > 0 || UTPawn(Owner).Velocity.y > 0 || UTPawn(Owner).Velocity.z > 0)
{
//this will play the custom shoot animation only on the half top body
UTPawn(Owner).TopHalfAnimSlot.SetActorAnimEndNotification(true);
UTPawn(Owner).TopHalfAnimSlot.PlayCustomAnim('shoot_aim_rif', 1, 0.15, 0.15, true, false);
}
else
{
UTPawn(Owner).TopHalfAnimSlot.StopCustomAnim(0.15);
}
super.FireAmmunition();
}
//function to fire gun and play animation/////////////////////////
The problem is that the UTPawn(Owner).TopHalfAnimSlot.StopCustomAnim(0.15); doesn’t seem to be working, the aiming animation continues to be played on the tophalfslot until another animation overrides it like reload animation (I created a reload system).
I tried to add this function on the weapon code also:
simulated function ConsumeAmmo( byte FireModeNum )
{
if(UTPawn(Owner).Velocity.x == 0 || UTPawn(Owner).Velocity.y == 0 || UTPawn(Owner).Velocity.z == 0)
{
//this will stop the custom shoot animation only on the half top body
UTPawn(Owner).TopHalfAnimSlot.StopCustomAnim(0.15);
}
super.ConsumeAmmo(1);
}
Because after reading the UDK Weapons Technical Guide, I learned that the ConsumeAmmo() is the function that comes right after FireAmmunition(), so I thought that it would work, however, it didn’t work.
Whenever I added the ConsumeAmmo() the shooting animation does not play, so the Pawn only runs (sprint animation), and shoots while his hands are playing the sprint animation (looks weird).
Any help?