moraell / KinectMocap4Blender

A Kinect motion capture plugin for Blender
MIT License
197 stars 32 forks source link

I'm configuring my armature structure wrong pls help #10

Open thelabcat opened 5 years ago

thelabcat commented 5 years ago

Basically, I have been configuring my armatures hit and miss, and I'm not sure where the problem is. I never watched the videos on rigging, and sorta learned by trial and error, except now I'm out of defendants to try. I did check bone roll which seems to often be the problem, but seemingly not in this case. The problem usually is that some part of the skeleton doesn't track, but rather spins slowly around in circles, but there are two others I've encountered. Here are three example files (basically where I've encountered them but with everything but armature and camera deleted. Apologies for anything like text data blocks that may still be there :).

head_twisting: Yes, I have a strange neck here, but I thought taking that bone out would fix the problem. Also, I've experienced the same problem with normal skeletons, except rather on the waist or something. Basically the head just keeps slowly revolving around in circles. If you need a different one I can get it, but was in a hurry when I posted this and that was the first one I thought of.

torso_no_rotate: had the most success here, but for some reason my torso isn't rotating. If i turn, my arms and shoulders move properly but the torso bone doesn't rotate and leaves my chest facing the camera.

shoulders_invert: Basically, the character's shoulders look like they're trying to move into the other shoulder's position. I have checked three times now to make sure I didn't get L and R mixed up.

examples.zip

moraell commented 5 years ago

I identified the issue with each example.

head_twisting : indeed, your neck is pretty strange... and your head bone too. The system is supposed to work with human like armatures in standing position. If one of the spine bones (head and neck included) is more than 45° from vertical, the kind of side effects you have will happen. There's no preventing it. If you want to capture movement for your armature with KinectMocap4Blender you may use a hidden human armature and have yours copy its relative rotations (and hip bone position for position tracking).

torso_no_rotate : yes, the current version is really bad at following the vertical rotation of the spine bones. It works a bit better when they are not completely vertical. I cannot do better right now... but I am experimenting with kinect bone orientation in order to solve this kind of problem.

shoulders_invert : you built your armature on the wrong side. It's facing +Y axis. By default, it should face -Y. If you activated the Riggify plugin, try adding a meta-rig armature from scratch : it will face the other way. For your example, in edit mode, select all your bones, rotate them 180° on the Z axis, and ... tadaaaa ! It works !

thelabcat commented 5 years ago

Ah, thx! 1: Sounds good. Will try. 2: Hmm, makes sense. Maybe try borrowing orientation from the shoulders somehow, maybe averaging between hips and shoulders (I tried myself with constraints but local/global and inheritance without wanting to use a separate armature killed the process)? 3: Looky there. :)P Thank you a bunch!