These Physical Hands are made to interact with absolutely anything. The Hand Mesh is the default Unreal Engine Mannequin Hand, which is included with the VR Template Project inside UE4.
Simply add a "grab" Tag to any Actor or Component that should be grabbed by the Hands. The same for Pulling an Object, you simply have to add a "pull" tag to it. You can also change the actual Tag names inside the settings of the VR Hand Blueprints.
The Hands have Collisions for the Index Finger and Thumb. The Middle, Ring and Pinky Finger are combined into a single Collision.
For any grabbed Object that does not have a Hand Interaction Component with a custom Animation, the Hands will automatically try to position the Fingers to the nearest Surface.
Since the Physics Pawn and Body can interact with any Object, it will cause bigger Objects like the Crowbar or Rifle to collide with your Body. This can cause issues when aiming while Shooting for example. To prevent this, use the BPC_HandGrabCollisionUpdater Component when needed. It will automatically change the current Collision Profile of the Root Primitive Component (Static Mesh) to ignore the Player Pawn.
Additionally to grabbing Objects, you are able to interact with any Actor that has includes a BPC_HandInteraction Component. This creates a fixed Socket for your Hands to grab, while also giving you the Options to pull Triggers and do Button Presses.
It is recommended to use the Example Blueprints contained in the Demo Folder to learn and understand how to use this Component and its Settings!
We will use the BP_Gun from the Demo Content as an example for this!
Any Hand Interaction Component must be placed under a Primitive Component (Static Mesh Components for example). The Primitive Component needs to have a "grab" tag!
In Addition to the Interaction Component, it is recommended to place a BPC_HandAttacher_Right under it. You can move it around and place it into a position that will be used for the physical hand grabbing.
To actually use the Hand Attacher, you will have to change the "Hand Offset Type" Setting on the Hand Interaction Component to "FixedAttacherPositions".
The last step is to mirror the Right Hand Position of the BPC_HandAttacher_Right with the Setting "Mirror Hand Fixed Position". This automatically generates the needed Position for the Left Hand, based on the BPC_HandInteraction Component as the Root.
Every Hand Interaction Component allows you to Bind Event Dispatcher Events for Trigger and Button Events. You can use this to shoot bullets from a gun for example.
You can add Custom Animations for every Interaction Component. If you leave the "Grab Type" of the Interaction Component to "Default", it will use the Finger Solver to generate a possible Hand Pose.
The Fingers of the Hand will move between 3 States: Stretched, Opened and Closed.
Stretched = Fingers do not touch the Controller.
Opened = Fingers do touch the Controller, but are not pressing Controller Buttons.
Closed = Fingers are pressing Controller Buttons.
It is recommended to use the Example Blueprints contained in the Demo Folder to learn and understand how to use this Component and its Settings!