Procedural animation variations?

I have a theoretical question as I move into tackling animations and animation Blueprints within my game project.

I have purchased Kubolds Rifle and Pistol animation packs. They have all the animations I need for my game so far but there is one small caveat. I am attempting to make a true first person shooter, with your character model being the same in both your first person view, and to your friends in coop mode. The problem comes when i think about implementing an Aim down the sites animation state. I’m planning on having multiple rifles, with multiple attachments each, which means the visual aimpoint will be slightly different not only for each gun but also for each sight variation of each gun.

What would be some suggestions for a good way to approach this. I’m assuming for most guns of the same relative shape and size, (aka all rifles) that you would use one aim animation for aiming, rather than one for each specific weapon. For example I find it hard to believe that for a game like Battlefield 4, that has like 30 rifles with about 8 sights each, that they had 240 unique aiming animations, and then the same again for the LMGs, Shotguns, Pistols. ETC. But if anyone has any thoughts or information on this, please feel free to share.

Can you procedurally add some offsets to animation data using Unreal engine? Like could I use the basic rifle AIM animation, and then add some slight offset to maybe the hand bones or something so the sights line up exactly with the center of the screen?

Thanks in advance for any ideas or information regarding this :slight_smile:

An easy way to get some animation variation over a group of entities would be to take advantage of the Crowd Ramp.

Here is how it works:

1/ Drag and drop a setBone behavior in parallel of your motion/locomotion behaviors

2/ Go inside the setBone Behavior’s attributes. Click the Add a New Ramp button and create a small expression to drive the desired bone.

3/ Click the arrow button next to the ramp to go inside the ramp’s attributes.

4/ Add some points to the curves to edit the value of the noise. For a static variation "disable “Ramp is Dynamic” option.

5/ Edit the output Max value to the desired maximum value (e.g 90°).

6/ Play your simulation.

Hey Ethan,

Thanks for taking the time to reply. Ill have a look into this when I get home. Will this allow me to be very specific about my control over the bones? I’m not looking for a random variation over a series of animations, but more for some fine tune control over the final position of an animation pose, so that the sights for the guns are directly in front of the first person characters view. Ideally I am able to control this with a 2 - 3 offset variables. So for example, maybe AK47 animation needs to be shifted 2 cm up off the default and then it could check to see if it has a sight, and maybe shift it an additional 1cm up to compensate for that.

Sorry if my explanation is crappy, and thanks again for your help