x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

How to constrain joint when using two bone IK?

I am developing arms for VR, make hand follow controller. I have separate arm meshes and animation blueprint like in below.

alt text this AnimBP is for left arm and AnimBP for right arm is about same as left one except for offset rotation.

alt text problem is as show in this picture, left arm joint is bent opposite direction. right arm is just fine.

Since they are separate mesh and animBP i didn't make one hand with negative scale [-1, 1, 1] for other hand. both of them are [1, 1, 1].

I have seen FABRIK might be solution for this but those arms just don't have Effector information in this case.

how can i figure this out?

Product Version: UE 4.15
Tags:
img_9053.jpg (1.3 MB)
animbp.png (211.2 kB)
more ▼

asked Apr 23 '17 at 12:51 AM in Using UE4

avatar image

Jaemoon
8 1 2 4

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

When solving a two bone IK, the middle joint (elbow or knee) has a range of valid positions - anywhere in a circle that in in the middle between the two outer bones. In your case the left arm is picking the "top" of the circle when you want somewhere near the bottom.

You can't constraint the angles with the two bone IK solver, but you can provide a target position which the solver will try to position the middle joint near - so it will pick the point closest on the possible circle to that location. So you set that location off to the side, but the hips and the elbow will solve to be in that direction.

The property is called JointTargetLocation. Like the effectors, it can be relative to a bone or not - JointTargetLocationSpace and JointTargetSpaceBoneName tell the solver where you have defined it.

That should be all you need, but if you want to see examples of using JointTargetLocation it is used in the content examples IK examples.

more ▼

answered Apr 23 '17 at 06:58 AM

avatar image

TurtleSimos
368 3 7 20

avatar image Jaemoon Apr 23 '17 at 08:14 AM

I thought JointTargetLocation is for shoulder not elbow, i was totally misunderstood. now it works perfectly! Thank you, you saved me a week.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question