HACs
Last updated
Last updated
This is the BP that loads, displays and animates the hands and controllers.
HAC uses Soft References to load only the necessary assets. Thus, we have to wait for assets to be loaded asynchronously to work on them.
On Begin Play, BP_HAC calls Update HAC to set visibility and start loading. Then, if there are no errors and everything is loaded, Load Finished will be called. You should treat the Load Finished as the Begin Play for your logic. Otherwise, some of your logic might not reach their destination.
For example, if we try to set thumb position before loading is finished, Update Fingers Interface Message won’t reach AnimBP_MannequinHand and it will not give you a warning.
Variable
Description
Hand
Sets which hand this HAC should be
Controller Mesh
Sets which mesh should be used for displaying controller
Hand Mesh
Sets which mesh should be used for displaying hand
Visibility
Sets visibility of Hand and Controller
Optimized
‘Optimized’ will load static mesh for controllers, ‘NotOptimized’ will load skeletal mesh for controllers
Hand Hint Material
Hint material to be loaded for hand
Controller Hint Material
Hint material to be loaded for controller
Laser
Sets whether laser should be active or not
Collision
Sets whether collision should be enabled
Load Time Out Duration
Max loading waiting time
The default UE4 hand mesh is too big for a normal human hand. That’s why its scaled down to 0,75.
Setting Optimization to Optimized will load static mesh version of controllers for optimization.
This function sets where each finger will be. 0 extends, 1 curls the fingers while -1 ignores input for that finger. All, Just Hands and Just Both are essentially the same thing. Difference is that Just Hands only works in Hands visibility, Just Both only works in Both visibility and All works in both. This will be handy if you want to use multiple visibility modes in the same application. Otherwise, you can use All.
In Both visibility mode, 1 will rest the finger on the button for most cases except thumb. Only pressing a button will further move the finger. For example, on Oculus Quest, Index value of 1 will rest the finger on the trigger, will not fully pull the trigger. Pressing the trigger button will further move the finger according to trigger axis.
This function sets blend speed for each finger. Animation blend will not work at 0, will be almost instant at 10 and will be ignored at -1. Default value is 3,5.
You might want the Axis Event based animations more responsive and Boolean based animations to be slower. Index, Middle, Ring and Pinky are generally tied to Axis Events. While Thumb is tied to a Boolean Event.
Lets you know if an actor is grabbed or released.