BinaryCats

I spend my days refreshing this forum hoping someone will post something... At this moment in time I have 3 forum tabs open, not of different forums, just the main forum... I seem to collect them


:(


(we sometimes have long build times)
Avatar
BinaryCats
  • Postovi: 1299

Nate

I wish I could be more active like I used to, but I've got to spend some time coding if we're going to make any progress! After v3 is released I expect things to be more exciting around here as we address some smaller issues and add smaller new features.

I'm glad to say that last night I've finished the new IK algorithm. It would be great if you guys would like to test it. Our test harness is here:
http://esotericsoftware.com/temp/iktest.jar
You can click and drag the buttons at the top to change their values. Right click drag to change scale uniformly.

All aspects of IK need testing, both with uniform and nonuniform scale on any or all of the bones. Also negative scale should always work. Other features are important to: bend direction, mixing, etc. All the things should work!

Please remember that if the child Y position is not zero and the parent is scaled nonuniformly then the IK solution will be incorrect. This is an expected drawback of the nonuniform scale IK solution and is not a bug. You can either have a child Y position != 0 and use only uniform scaling of the parent bone, or you can have child Y position = 0 and use uniform or nonuniform scaling of the parent bone. Note that nonuniform scale inherited from the parent bone's parents doesn't affect using a child Y position != 0.

For other cases, keep in mind that the correct solution may not be what you expect at first when using nonuniform scaling. The goal is for the tip of the yellow child bone to be as close to the target as possible. With nonuniform scaling, rotating the parent changes the length of the child bone. This means that when the target is too far (or too close), the best IK solution may not result in the bones being in a straight line toward the target. The reason is if the parent were rotated to point at the target, it would make the child bone shorter or longer which would make the tip of the child further from the target.

I hope that is entertaining for you! :)
Avatar
Nate

Nate
  • Postovi: 11852

BinaryCats

Yaay, something todo.

hmm, things have gone weird, I don't like this :o , send help.

;)

I think im going to have to re-read the skewing thread and your post ( ^ ) again lol :bang:

---

Also can we get a hot key to create new bones from the end position of bone, I believe maya has something like this:
hold hotkey, click to make bone, then you can create a new bone from the end pos of bone (because hotkey is held down),

I can see that being crazy usful for new iks
Avatar
BinaryCats
  • Postovi: 1299

Nate

On the hotkey, possibly. One thing at a time!

---

A new IK test is up, same link as above. It has some additional optimizations, so please download again if you'd like to test it works in all cases. I'm really happy with it, except for the child Y = 0 restriction which is a bummer.

---

Here it is integrated into Spine! :) So much effort has gone into making IK work with nonuniform scale, it's really great to see it work!



It doesn't seem like much, but the IK on the raptor legs and spineboy arms is correct even though nonuniform scale is applied to the root bone.



Here is with scaleX = -1 on the root bone -- finally proper flipping and everything works!
Avatar
Nate

Nate
  • Postovi: 11852

BinaryCats

Firstly, I find it strange, but one of our artists was enthusiastic about it, so I guess its good.

Hooray for Flipping!!!

Boo For IK Spinning still being a thing. I can go into more detail if you cant make it repo
Avatar
BinaryCats
  • Postovi: 1299

Nate

IK spinning? Nice term. :) It is a problem with 1 bone IK, not 2 bone IK, but I've fixed it in v3.
Avatar
Nate

Nate
  • Postovi: 11852

BinaryCats

yay :)

I came up with the term when one of our projects, the guy would load a gun, play an anim which would turn on the ik. But because of (floating point?) errors it would miss the goal, so it would rotate all the way around again, and again, and again and again which made some very humorous results :P

---

sooo.... hows that scale stuff coming along
tumbleweed
Avatar
BinaryCats
  • Postovi: 1299


Natrag na Off-topic