I've been spending a bit of time recently playing with, and building tools for, the first half of my new OptiTrack motion capture system. The tools include the recent motion track tag I've talked about in previous posts.
Funnily enough, I found a couple of issues with OptiTrack's SDK kit. I've since contacted their support, who are following up with workaround solutions or fixes to their software. Currently the track tool I mentioned above doesn't quite work the way I'd like it to. Hopefully they can fix the software bugs, as this will give me better data control from inside my own animation software.
In the meantime, I'm also just about to order the second half of my mocap system. Figuring that the clock is counting down now, I've turned back to trying to complete the inverse kinematics engine transfer into my ProxyMan tool. I started it sometime ago, but never completed it. It's been a little while since I last had my head in this lot of code; I had to spend some time refreshing myself on where I got to!
The initial transfer hasn't quite worked as seamlessly as I'd hoped. The limbs seem to get rotated strangely. The two images below show this issue on the arms and legs of a test model. You can see the limbs have been rotated 90-degrees from their starting T-pose rest state:


For reference, here's what it should look like:

Turns out, my little engine doesn't work right if limb starting rotations aren't zeroed-out. Here's an example of the system in my test object, showing the same symptoms:

Suffice to say, I've had to go back to my original test experimental object to try and resolve the issue there. It's just easier to do it in the test object, because the project is smaller and quicker to experiment with (hence the 'experimental object' project in the first place!). And it helps to be able to concentrate on just the relevant bits that need working on.
So, looks like I still have some things to sort out with the IK system yet. But, it's a good sign that at least the functions are being read in my ProxyMan motion system engine. Even if they are not working right, it shows that the motion engine side of it is.
In some respects, the way I'm building this is not entirely how it's meant to work. Traditional character animators may not like my solution. But in other ways, this was a smart move. You see, by building it into a clip system, it can take advantage of having the clip system layered on top of it. This means I can work the IK into other motion system clips, such as using the clip blending controls how much the IK solve actually affects the overall animation. It's a really powerful way of being able to work between clips and animation, and layering them in all together to create a final animation state. And, because clips are easy to work with as well. They can be moved around timelines, copied, pasted and deleted easily, and as mentioned they come with additional controls like blending characteristics, among others.
And why is this so important? Well, the real purpose of this was to design it in a way so that I could fix feet and other limb contacts using the IK system, such as for feet contacting with the ground. Or hands contacting some other surface or object. So the clip system should be really useful here, as I can copy paste things as I go along, and control how things blend across time.
So, even though it's not a traditional animators IK system, I thought it was kinda smart the way I'm trying to make it all happen. It should give me plenty of control options, and it may even be possible to use other off-the-shelf IK systems on top of it as well, adding yet another layer of animation on top of my own complete motion system. It's all about the control. That's my thinking, anyway...
The next step here, apart from getting the IK engine to work correctly, is to now get a hold of the second lot of mocap gear and start preparing to learn how to get performance and character animation out of it. I'm in the process of getting a quote for the second lot of gear. Hopefully I can sort all that out this week.
Lest there be a good outcome for all this here. It's one of the last remaining pieces of the puzzle to complete, before I can do a full body motion capture and animation with my tools. Hopefully I'll then be able to make something that's more than just a bunch of 'test' renders. Would be nice to make an animated character doing something, and make a completed composite to show the proof of concept that I can take somewhere - like a funding body!
