애니메이션 IK에서

5868 단어 MecanimUnity
Mecanim에 대응하는 캐릭터는 애니메이션에서'어떤 점을 보는'행동을 혼합할 수 있다.
우선 메카임에 대응하는 역할을 준비한다.

역할에 대한 Controller 선택

Animator 창에서 BaseLayer의 IK Pass를 On으로 설정합니다.

준비된 캐릭터를 위해 다음 스크립트를 추가합니다.
IKLookAt.cs
using UnityEngine;
using System.Collections;

public class IKLookAt : MonoBehaviour
{
    private Animator avator;
    public Transform lookAtObj = null;

    [SerializeField, Range(0, 1)]
    private float lookAtWeight = 1.0f;
    [SerializeField, Range(0, 1)]
    private float bodyWeight = 0.4f;
    [SerializeField, Range(0, 1)]
    private float headWeight = 0.7f;
    [SerializeField, Range(0, 1)]
    private float eyesWeight = 0.5f;
    [SerializeField, Range(0, 1)]
    private float clampWeight = 0.5f;

    // Use this for initialization
    void Start()
    {
        avator = GetComponent<Animator>();
        if (lookAtObj == null)
        {
            lookAtObj = Camera.main.transform;
        }
    }

    void OnAnimatorIK(int layorIndex)
    {
        if (avator)
        {
            avator.SetLookAtWeight(lookAtWeight, bodyWeight, headWeight, eyesWeight, clampWeight);
            avator.SetLookAtPosition(lookAtObj.position);
        }
    }
}
송이경(신지현):야,저 사람이이쪽을 보고있어.

눈, 목, 몸통의 각 혼합률, 혼합 제한률 등은 매개 변수로 변경할 수 있다.

좋은 웹페이지 즐겨찾기