Как я могу имитировать действие 3D модели гуманоида за рулем в автомобиле? - PullRequest
0 голосов
/ 10 ноября 2018

Мой текущий код:

using UnityEngine;
using System.Collections;

public class IKControl : MonoBehaviour {

    Animator animator; 
    public Transform RightFootIKPostion;
    public Transform LeftFootIKPostion;
    public Transform rightHandIKPostion;
    public Transform leftHandIKPosition;
    // Use this for initialization
    void Start () {
        animator = GetComponent<Animator>();
    }

    // Update is called once per frame
    void OnAnimatorIK(int layer){
        animator.SetIKPositionWeight(AvatarIKGoal.RightHand, 1);
        animator.SetIKPositionWeight(AvatarIKGoal.LeftHand, 1);
        animator.SetIKPositionWeight(AvatarIKHint.LeftElbow, 1);
        animator.SetIKPositionWeight(AvatarIKHint.RightElbow, 1);
        animator.SetIKRotationWeight(AvatarIKGoal.RightHand, 1);
        animator.SetIKRotationWeight(AvatarIKGoal.LeftHand, 1);
        animator.SetIKRotationWeight(AvatarIKHint.LeftElbow, 1);
        animator.SetIKRotationWeight(AvatarIKHint.RightElbow, 1);

        animator.SetIKPositionWeight(AvatarIKGoal.LeftFoot, 1);
        animator.SetIKPositionWeight(AvatarIKGoal.RightFoot, 1);
        animator.SetIKPosition(AvatarIKGoal.RightFoot, RightFootIKPostion.position);
        animator.SetIKPosition(AvatarIKGoal.LeftFoot, LeftFootIKPostion.position);

        animator.SetIKPosition(AvatarIKGoal.RightHand, rightHandIKPostion.position);
        animator.SetIKRotation(AvatarIKGoal.RightHand, rightHandIKPostion.rotation);
        animator.SetIKPosition(AvatarIKGoal.LeftHand, leftHandIKPosition.position);
        animator.SetIKRotation(AvatarIKGoal.LeftHand, leftHandIKPosition.rotation);


    }
}

Однако вращаются только руки модели, но не ее локти / предплечья.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...