{{tag>motioncapture democap}} [[:start|Start Page]] >> [[main|DEMoCap: Drag[en]gine Motion Capture]] >> **Low Level Motion Transfer: Inverse Kinematics** {{ :democap:motion_transfer_ik.png?direct|Motion Transfer Inverse Kinematics}} If the bone chain consists of 2 or more bones this motion transfer rotates bones in the bone chain to make tip bone touch desired point in space. This is typically used to animate arms to line up with the VR controllers or legs to line up with the ground. If the bone chain consists of 1 bone this motion transfer applies the position and orientation to the bone (using the desired offsets). This is similar to attaching the bone to the target position in space. ====== Name ====== Name of motion transfer to identify it in the list. Name is not required to be unique. ====== Tip Bone ====== Last bone in the bone chain. Click on the label or the combo box to activate bone selection mode. Click in the preview window on a bone to select it. The selected bone is marked in red. Motion transfer has no effect if not set. ====== Base Bone ====== First bone in the bone chain. Click on the label or the combo box to activate bone selection mode. Click in the preview window on a bone to select it. The selected bone is marked in red. Motion transfer has no effect if not set. ====== Guide Bone ====== Bone to use to guide the rotation of the bone chain. This is typically used to set the desired elbow or knee orientation. Click on the label or the combo box to activate bone selection mode. Click in the preview window on a bone to select it. The selected bone is marked in red. If not set inverse kinematics determines this orientation itself which is not always reasonable. Guide bone is not used if the bone chain consists of of only 1 bone. ====== Actor Reach ====== Sets the reach calculation used to calculate reach stretching. Reach stretching matches the actor limb reach with the respective character limb reach. This ensures the bone chain does not over stretch as well as preventing bone chains from never stretching out properly. ===== None ===== Use no reach stretching. ===== Arm ===== Use the actor profile defined arm length to calculate reach stretching. ===== Leg ===== Use the actor profile defined leg length to calculate reach stretching. As of 0.4 not supported yet since the result is not stable enough. ====== Reach Limit ====== Scale factor to apply to the reach limit. If reach calculation is used a reach limit is calculated. The target point is prevented from moving further away than this reach limit distance to avoid bone chain from over stretching. This calculation can be inaccurate if the character has troublesome characteristics. Using the scale factor the calculated reach limit can be pushed further away (value larger than 1) or closer (value less than 1). Typically this is used to slightly reduce the reach limit. ====== Reach Scaling ====== Scales reach calculation. Reach calculation uses the bone layout to calculate the reach of the character limb. This is used to scale the actor reach along each axis to about over and under stretching. Nevertheless this calculation can be slightly off depending on how the character is crafted. By manually shortening or enlarging the reach this can be compensated. Reach is applied along X, Y and Z axis. A uniform reach can cause problems due to base bone movement. The coordinate system of the base bone is used to determine the X, Y and Z axis. The reach scaling is multiplied with each of these axes. This allows to fine tune inverse kinematics results along each individual axis. The best way to adjust these values is to change the value, save the configuration and using reconfiguration. The reach scaling is typically in the range from 0.8 to 1.2 . Values outside this range are usually not useful. ====== Reach Scaling Back ====== Scales reach calculation backwards. Reach is applied along negative X, negative Y and negative Z axis. ====== Adjust Position ====== If the bone chain consists of only 1 bone sets if the position is applied to the bone in addition to the orientation. ====== Move Base IK ====== Move to use from character animation file as base IK state. IK does not work well if bone chains are fully stretched out. Characters are though calibrated in T-Pose which is all about bone chains being stretched out. As a result IK tends to calculate strange results. Using a base IK move an initial state can be defined where the bone chains are in half bend position close to natural pose. This ensures IK can calculate good results improving motion capture results. The move is required to have one animation frame. Additional animation frames beyond the first one are ignored. ====== Move Retracted ====== Move to use from character animation file as retracted state. This further refines the IK calculation for bone chains used for example for legs. Instead of using just the base IK move this move blends between bone chain in base IK pose and bone chain in fully retracted pose (crouching in case of legs). This move can have as many frames as required. The reach of the bone chain is used to blend between the first animation frame (0s) and the last animation frame (move play time). The reach limit is used as fully expanded position. ====== Twist Propagation ====== Twisting is applied to the bones along the chain if the tip bone is rotated along the twist axis. This allows bone chain to follow the tip bone rotation to a certain degree. ====== Twist Bone Count ====== Sets the count of bones to be affected by twisting. Starts counting with the first bone after the tip bone. Hence if the bone chain has 5 bones and twist bone count is set to 2 then the bones 1 and 2 are twisted using bone 0 as input while bone 3 and 4 are not twisted (tip bone is index 0). ====== Twist Axis Rotation ====== Sets the orientation of the twist axis relative to the base bone. The Z axis has to point along the bone chain. You are free to orient the X and Y axis. Click on the label or the text widgets to activate coordinate system mode. A coordinate system gizmo is shown in the preview window at the origin of the character. Rotate the coordinate system until the Z axis (blue arrow) points along the bone chain. The X axis is the red arrow and the Y axis the green arrow. ====== Tip Tracker ====== [[democap:motiontransfertracker|Tracker]] to use for tip bone. ====== Guide Tracker ====== [[democap:motiontransfertracker|Tracker]] to use for guide bone. ====== Base Tracker ====== [[democap:motiontransfertracker|Tracker]] to use for base bone.