Basic Shooter Attack
This motion is responsible for the activating the aiming and shooting functionality. It will activate when the gun is being aimed or when it’s actively shooting.
It’s the core motion used by any gun and typically lives on the second motion controller layer.
The properties are described by tool-tips. So, I won’t rewrite them all here. However, there are some things worth talking about.
The action aliases listed are used to control when we are aiming and shooting.
The unique one is Alt Aim Alias. This provides a way to shift the character from one side of the reticle to another in order to provide a better view.
Rotate with Input and Rotate with Camera
These options are only valid when the motion is on the first layer.
Like several other motions, these propertied determine how the character will rotate when the motion is active.
With shooting, we’d typically use a strafing motion and looking in the direction of the camera. If that’s the case, selecting Rotate With Camera will keep the player synced with the camera direction.
In some cases, having the rotation controlled by the raw player input is valid. So, that option exits as well.
This motion support rotating the spine and chest bones to point in the direction of the reticle.
This helps to give the character more life as the player is aiming up and down. It also helps to fix rotation errors that occur when shooting animations are put on the second layer.
Since the character can have any type of weapon equipped, the motion doesn’t really know about the weapon itself. So, the motion need to use the inventory to determine what weapon is in hand.
This motion will use the inventory and slot specified to get the current Gun Core. We’ll then use this component to fire the weapon.
While I include the Basic Inventory for free, you can use any inventory solution you want as long as it implements the IInventorySource interface.