Search Unity

Question How can I change a bone's pivot rotation

Discussion in 'Animation' started by SassyPantsy, Jul 27, 2022.

  1. SassyPantsy

    SassyPantsy

    Joined:
    May 17, 2020
    Posts:
    142
    Hi all, I'm trying to set up an animation system that works like this:

    One skeleton is a humanoid rig, that came from mixamo. We'll call it Skeleton 1.
    The other skeleton, skeleton 2, is a set of nodes and edges, where the nodes represents organs location in 3D space (Right knee, right foot, left elbow, left wrist and so on), and the edge is a line that passes between them.

    I want to take the direction vector of each edge, and assign it as the rotation value of a bone in skeleton 1, so that skeleton 1 is a reflection of skeleton 2.

    The problem is that axis' don't comply, their pivot rotation on (0,0,0) look different, and so they react differently.

    Here are a few screenshots to help you understand the issue:

    This is the axis as it is right now


    https://drive.google.com/file/d/186dX5OX3tGAYFFOLgjqnB0-CQ6LC3e2I/view?usp=sharing

    This is the axis as shown on skeleton 2, drawn on skeleton 1-


    https://drive.google.com/file/d/1-w88EMehdzs2DSv6fjdOH5P1pzaiq_8C/view?usp=sharing

    This is the gizmo (drawn in white) of the LookRotation I'm trying to assign, and what happens to the arm because of the difference in pivot rotations


    https://drive.google.com/file/d/1C3an2qDxElge9_5KYIHVhOwXXssD6QMD/view?usp=sharing

    So how can I go about doing it? I was trying to fix it in blender, but the axis of each bone isn't drawn there, and I'm not sure which parameter to change (some of them don't do anything also).

    Anybody know how to go about doing this?

    Thanks!