0 votes
asked in InteractionSystem by
edited
Before calling InteractionSystem.TriggerInteraction, I am changing the settings (right hand or left hand) of the Interactions effector in the script.

It is possible to pick up the product by changing the pickup with key input.

Although the InteractionTarget sets the left and right hands, the direction of the hand specified by the InteractionTarget may be incorrect each time the play button on the editor is pressed.

If I pick it up with my right hand, the right hand will turn in the right direction.

However, when picking up from the right hand, the left hand picks up in a different direction than specified.

When I pick up from the left hand, the left hand picks up in the right direction and the right hand may rotate in a strange direction.

How should I set InteractionTrigger or InteractionTarget if I want to change the hand picked up by key input?

1 Answer

0 votes
answered by (13.8k points)
 
Best answer
Hey,

You should set up InteractionTargets for both hands. Like the Button in the "Interaction" demo. In InteractionTarget you can specify which effector the target is used with. So if you trigger the interaction with the left hand, it will automatically pick the left hand target for the interaction.

Best,

Pärtel
commented by
edited
I set up InteractionTargets for both hands but it doesn't work.

Pick it up with the same hand.

In the case of the demo button, it seems that the hand of the character and the trigger determine which hand to pick up.

For example, when picking up a ball, specify MaxAngle as 45 and turn on Orbit so that I can pick up from all directions.

And if the character is pointing in the direction of the ball, I want to specify which hand to use and pick up by key input.

For example, if I pick up with my right hand, press the K key, and if I pick up with the left hand, press the J key.

In that case, how is it determined by the script?

Is there a way to specify an effector by key input?
commented by (13.8k points)

Hey,

Int the "Interaction Trigger" there is a button on the wall with trigger ranges set up for left and right hand, so the hand that is used will be determined by character position and facing angle. In the scene view you can see that visualized if you have the trigger object (under the button) selected.

In UserControlInteractions.cs there is an example of how the triggers should be used.

To define the hand by key input, you don't need triggers at all, just call 

interactionSystem.StartInteraction(FullBodyBipedEffector.RightHand, button, interrupt);

or 

interactionSystem.StartInteraction(FullBodyBipedEffector.LeftHand, button, interrupt);

Best,

Pärtel 

commented by
It worked well.

Thank you.

Welcome to RootMotion Q&A, where you can ask questions and receive answers from the developer of Final IK and PuppetMaster and other members of the community.

Post as a guest, create an account or login via Facebook.

Please use the correct category when you post your questions.

...