Unity 6.3
0 онлайн 38 гостей 3 в системе
Вход

MonoBehaviour.OnAnimatorIK(int)

Параметры

Параметр Описание
layerIndex Индекс слоя, на котором вызван решающий IK.

Описание

Обратный вызов для настройки анимации IK (обратная кинематика).

OnAnimatorIK вызывает Animator компонент непосредственно перед тем, как он обновит свою внутреннюю систему IK. В этом обратном вызове удобно задавать положения целей IK и их веса.

OnAnimatorIK вызывается только в том случае, если выполнены следующие условия:

  • Компонент Animator должен ссылаться на Avatar, настроенный как Гуманоид. Общие или Legacy аватары не поддерживают IK.
  • Уровень Контроллера Animator, на котором вы хотите обработать IK, должен иметь включённую опцию IK Pass.
  • Компонент Animator должен быть включён и воспроизводить анимацию на GameObject.
  • Скрипт, содержащий OnAnimatorIK, должен быть прикреплен к GameObject с помощью компонента Animator.

Общие виды использования включают:

  • Установка положения и вращения IK целей, таких как руки и ноги, для взаимодействия с объектами или достижения целей в окружающей среде.
  • Смешивание движения, управляемого анимацией, и движения, управляемого IK, путем настройки весов IK.
  • Создание процедурных анимаций, таких как взгляд на цель или прикосновение к объекту.

Дополнительные ресурсы: ,AnimatorController,, ,Avatar,, ,Animator,.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { float leftFootPositionWeight; float leftFootRotationWeight; Transform leftFootObj;

private Animator animator;

void Start() { animator = GetComponent<Animator>(); }

void OnAnimatorIK(int layerIndex) { animator.SetIKPositionWeight(AvatarIKGoal.LeftFoot, leftFootPositionWeight); animator.SetIKRotationWeight(AvatarIKGoal.LeftFoot, leftFootRotationWeight); animator.SetIKPosition(AvatarIKGoal.LeftFoot, leftFootObj.position); animator.SetIKRotation(AvatarIKGoal.LeftFoot, leftFootObj.rotation); } }

Дополнительные ресурсы: ,Animator.SetIKPosition,, ,Animator.SetIKPositionWeight,, ,Animator.SetIKRotation,, ,Animator.SetIKRotationWeight,.