IK dynamique inverse de Unity

1. Comment utiliser

(1) Ajoutez le script IK Manager à l'objet parent de l'objet

(2) Créez des objets vides aux extrémités des os des membres du personnage et à l'extrémité du sceptre

 (3) Ajouter un nœud IK

Sélectionner un joueur

Après l'ajout, vous constaterez qu'un nœud IK de sous-objet de Player apparaît.

Faites glisser le GameObject à l'extrémité du sceptre dans l'effecteur

 

Après avoir défini ChainLength et crééTarget, vous constaterez qu'il y a des sous-objets dans le nœud IK.

(4) Sélectionnez le nœud IK à déplacer

 

(5) Après avoir défini la position, définissez le nœud IK comme sous-objet du joueur pour éviter les problèmes lorsque le joueur se déplace.

2. Paramètres importants

 

 3. Petit exercice : Là où pointe la souris, où pointe le doigt ?

public class L39 : MonoBehaviour
{
    //两只手的ik节点(是IK节点的子对象target)
    public Transform rightHandIkPoint;
    public Transform leftHandIkPoint;

    //记录鼠标位置
    private Vector3 mousePos;
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButton(1))
        {
            //记录鼠标位置
            mousePos = Input.mousePosition;
            //鼠标的Z轴跟摄像机的Z轴反向,摄像机Z是-10
            mousePos.z = 10;
            //屏幕坐标转世界坐标
            rightHandIkPoint.position = Camera.main.ScreenToWorldPoint(mousePos);
            leftHandIkPoint.position = Camera.main.ScreenToWorldPoint(mousePos);
        }
    }
}

Je suppose que tu aimes

Origine blog.csdn.net/holens01/article/details/131049633
conseillé
Classement