
The Orbital Aiming System is a universal, Mecanim based, rifle and shotgun hand position type aiming animation and recoil system featuring:
-
Compatible with almost all Mecanim characters.
-
Compatible with most standard character controllers independent of user or AI control.
-
360 Degree aiming window around the Y-axis.
-
157.5 Degree aiming window around the X-axis (90° Up; 67.5° Down)
-
Full control over the available aiming window on a per-character basis.
-
Provisions for transitioning between the aiming and not-aiming states.
-
Adjustable aiming speed.
-
4 Methods of targeting including:
-
Raycast from an object (usually camera)
-
Mouse to world position
-
Transform based with a constant, world and local position, offset
-
Transform based with target-relative, world and local position, offsets.
-
-
0% to 100% target lock with world and local position offsets for both the “mouse to world” and “raycast from an object” target acquisition methods.
-
Aiming provisions for gravity-affected projectiles.
-
Adjustable hand positions for each weapon.
-
Adjustable finger orientations for each weapon.
-
Supports the most common vertical, horizontal, and angled rifle and shotgun grip types.
-
Dynamic recoil system for individual weapons, featuring:
-
Adjustable kick intensity
-
Adjustable recoil in all four directions (up, down, left, right)
-
Adjustable speed and recovery time
-
Additive recoil across several shots
-
Adjustable soft and hard caps for additive recoil
-
Video Tutorials are linked the package documentation!
Weapon Type Information:
The base package will only support weapons that have rifle and shotgun type hand carriages.
Compatibility Information:
Character Mesh:
The Orbital Aiming System overrides the character’s animations from the base of the spine up and, due to a host of complications that would occur, does not affect the character’s hip bone. This means that in order to get the most out of this package, your character’s armature should support a large amount of available rotation within the spine before too much distortion in the mesh occurs. However, if your character cannot support the full 360 degrees of rotation, the available aiming window may be reduced as needed.
Character Controller:
Your character controllers must use Unity’s default animation system, and they must not use hand IK in scenarios where the character should be aiming. The controller may use hand IK when the character is not in aim mode.
Character Animator:
The orbital aiming system must be able to override the character’s upper body and hand IK as needed. Additive animations may be layered over the orbital aiming system as desired but will decrease accuracy.
Character Animations:
The orbital aiming system is bound to the character’s hip bone. This is desired in most cases as the basic locomotion animations and movement of the hip bone will affect the aiming system. However, in some situations, the quick, rapid rotation of the hip bone is too much for the aiming system to compensate for and will give the aiming animation an odd appearance. Another set of animations with the hip bone’s rotation quieted may be desired in this situation.
Character Physics:
The Orbital Aiming System’s aim mode will not work with characters that have a non-kinematic rigidbody attached to the character’s hip bone. Toggling the rigidbody’s kinematic state when switching in and out of aim mode is enough to compensate for this. Alternatively, if your character has a ragdoll, you can disable aim mode and set the rigidbody’s kinematic state before the ragdoll is enabled. IMPORTANT: This only applies to the hip bone! Any other bone with a non-kinematic rigidbody is fine and the character controller may use the physics system on the armature’s parent gameobject without any problems.
Weapon:
The pivot point of the weapon must be or must be able to be located in the middle of the weapon’s trigger-side grip.
Accuracy:
The Orbital Aiming System focuses on being visually accurate. However, it is not perfect. When you implement projectile systems, you cannot depend on the target always being perfectly in line with the barrel of the weapon at all angles and target distances. In most cases, a standard degree of bullet deviation is sufficient to compensate for any inaccuracies in the aiming system, but more active correction methods may also be used as deemed necessary.
Not included in this package:
Because this package includes a system that is closely associated with other core weapon systems, this list has been provided to inform you of what is NOT included in this package:
-
Any form of a projectile system
-
Weapon inventory/swap system
-
Weapon pickup system
-
Weapon firing systems (You will be responsible for triggering the included recoil system. This is very simple and well documented.)
-
Gun meshes
-
Character meshes
-
Character Controllers
-
Camera Aiming Systems