Today I'm going to show you what you can do with your animationsystem1p.inc file to make animations smoother, more fluid, and even give them a whole new feel. No experience besides notepad editing is required. These tweaks should work with any weapon, but some weapons will work better than others.
I have posted a few videos showing the results of my tweaks. You can them on my YouTube channel here: Youtube.com
If you've never taken a look inside an inc file before, you'll see that under the Animations section you can change the length of any animation using the line animationManager.length [seconds]. This is very useful to change the deploy time, reload time, or aim down sight time. I'm sure this is pretty obvious to anyone with a small amount of experience, so I'll move on.
Now, the Bundles section is where things get interesting. In this section, I will be making significant use of the lines animationBundle.fadeInTime and animationBundle.fadeOutTime to enhance the transition between any two animations. These functions are actually very powerful. For example, if you deploy or reload a weapon while sprinting, usually after the animation ends it will quickly warp to the sprint animation, which looks quite unrealistic. In order to make these transitions smoother, we'll add animationBundle.fadeOutTime 0.4 to the animationSystem.createBundle deploy and animationSystem.createBundle reload. We'll also have to add animationBundle.fadeInTime 0.4 and animationBundle.fadeOutTime 0.4 to animationSystem.createBundle still and animationSystem.createBundle sprint. Now, the last 0.4 seconds of the reload or draw animation will smoothly blend into the still and sprint animation, making the whole animation much more fluid. In addition, these tweaks will make the transition from still to sprint slower, which gives a greater sense of acceleration and weight to the animation. You can play around with the length of the fade in and out times depending on the weight of the weapon. For example, I usually use 0.2-0.3 for pistols, 0.3-0.4 for assault rifles, carbines, and SMGs, etc., and 0.5+ for machine guns, sniper rifles, rocket launchers, etc. The effect of all of this is to make the weapon handling feel more realistic and immersive, like you're actually carrying around a real weapon that has mass and momentum and not a plastic toy or a collection of pixels.
Battlefield 4 style sprint is an extension of the above. It's actually very simple: all you have to do is increase the animationBundle.fadeInTime for the sprint bundle to something around 0.6-1.0+ depending on the weight of the weapon or your preference. I also like to add animationBundle.fadeOutTime [same time] to the run bundle to make it smoother. To really increase this effect, go into Objects_server/soldiers/common/common.con and decrease Vars.Set phy-soldier-acceleration to something like 0.075. This makes soldier acceleration slower, so you will really be able to see the effect of the new animation system as you accelerate from still to walking to sprinting.
There are some other cool things you can do with animation fadeIn and fadeOut. For example, you can completely eliminate the zoom_transition animation for any weapon that uses 3D sights. This enables you to effectively mix unzoomed animations with zoomed animations from another weapon. All you have to do is delete the tozoom animation from the Animations section and the ZoomTransition bundle from the Bundles section. Now, you will use fadeIn and fadeOut times instead of the aim down sight time. Add animationBundle.fadeInTime [ADS time] and animationBundle.fadeOutTime [ADS time] to the ZoomStill bundle. You will also need to change the fadeOut times of your still, run, and sprint bundles to [ADS time]. Now, the game will automatically blend into the zoom animations when you aim down your sights. This is a very powerful tool that allows you to transfer animations from weapon to weapon while still keeping the sights lined up correctly. If you use the other fadeIn and fadeOut tweaks as mentioned above, you'll be able to mix several animations for one weapon. You can have a weapon that uses a draw animation from weapon B, a reload animation from weapon C, and a deploy animation from weapon D, while keeping its original zoomed animations. With fadeIn and fadeOut, you can have all of these different animations blend into each other smoothly and naturally.
I just want to put out a disclaimer that fadeIn and fadeOut are not perfect. Like I said, they will work better with some animations and weapons than others. Sometimes the blending will be inconsistent and you'll have hands clipping through the gun or the gun floating above the hands. The basic tips that I gave above should work fine for most weapons. If you get into the more advanced stuff like mixing animations you will really need to do a lot of experimenting, using different animations and fadeIn and fadeOut times, if you want the blending to look good. But if you can do it well, it can really make a weapon feel fresh and exciting.
If anyone wants me to post the full animationsystem1p.inc file for any of the weapons in the videos I posted above, I can do that. If you don't feel experienced with inc file tweaking, and would like me to mix animations for some of your weapons, I would be happy to do so. Hope my advice will make your Battlefield experience just a little bit better!