Hello Everyone, here the goal trying to archive; creating hand tablet/pad and physically touching/interacting with finger(sphere/capsule collider) to the buttons, without gravity user can grab and drag anywhere else (floating in the air while not grabbing)…
i just used default BP_Pickup blueprint turn into BP_Pickup_Bsfpad which is contain static mesh (tablet/pad) and widget (button/s) on it for interaction, without gravity. Here the components:
The problem is whenever i try to approach to button (widget) hand always getting ‘CanGrap’ state because BP_Pickup_Bsfpad(tablet/pad) on top everything, in this case how can i bypass/avoid cangrab/grab states for reaching to button and firing(trigger) pointing finger animation and execute interaction stuff (eg. quit game, turn on/off music etc.) ?
If i can solve the animation state problem, do i need to add another collision into widget(button) for colliding with finger capsule/sphere collider, how can i physically touch a single button ?
I also tried that, widgetinteraction inside BP_MotionController turning on ‘show debug’ and using the trigger button for executing something totally working but there is a 2 issue with that:
first issue: debug shapes showing up with extra black duplicates (as you can see on the first hand pic.)
second issue: MotionController (R) Trigger for Press/Release Pointer key cause losting other ‘open/cangrab/grab/pointing’ states !
Is there is a way to pointing with debug(redbeam)+progressbar, without pressing any button hovering for awhile and executing something ?
If you have anykind of idea would be really really great for me guys, thank you for your time…
Disable ‘show debug’ property of the widget interaction component.
Add a thin box collider (0.5 cm or less) attached to widget component and a small sphere collider attached to index finger.
On BeginOverlap event of the index collider make sure it’s overlapping box collider of a tablet actor and call WidgetInteraction component -> ButtonPress(Left Mouse Button) to simulate touch event.
Hand animations. Universal and correct approach is to use a priority system. For each interactive object save required animation and priority index just like you save ‘PointTo’ in tags.
But ‘PointTo’ animation has a priority over ‘CanGrab’ in most cases, so you can simply check a current animation and ignore overlaps with ‘can grab’ components if you’re playing ‘point to’.
I have a problem with this.
I realized that UMG simulates the touch of the mouse, and the touch of the mouse is very fast.
If I overlap slowly, nothing happens.
So with the finger I can’t give a slight touch, but I have to quickly penetrate the button of the widget so that it receives the command.
How can I solve this problem?