В настоящее время я работаю над созданием другой системы для моей обратной кинематики после создания системы, которая создает экземпляры оружия для префаба игрока.
Недавно я столкнулся с загадкой, которую я запутал в том, как решить, код будет опубликован ниже, но в основном я пытаюсь установить правую руку (IK Goal) в положение игрового объекта (вектор 3) Функция GetHandle () просто получает эти данные из другого скрипта. При запуске игры в консоли не появляется никаких ошибок, и ниже будет размещено изображение того, как оно выглядит.
! [1]: https://cdn.discordapp.com/attachments/279786369902051328/571739583818104842/Capture.PNG
Белый квадрат на сцене изображает гизмо, нарисованное из позиции GetHandle () (вектор 3), именно здесь должна находиться правая рука.
После изменения положения рукоятки правая рука следует за положением рукоятки, но следует за основанием игрового объекта-меча, а само запястье прикрепляется к основанию игрового объекта, а не самой руке (просто смещает меч геймобжекты?).
Я думаю, очевидно, что местоположение преобразования в IKPosition
weapon.currentRightWeapon.GetComponent<WeaponSystem>().GetHandle()
, скорее всего, проблема, но я не уверен, что может быть причиной этого результата,
а также, как я могу сделать захват руки HandlePosition (IK Goal)
Любые Рекомендации или Разъяснения приветствуются, если у вас есть какие-либо вопросы, пожалуйста, задавайте !, спасибо, что нашли время на чтение!
animator.SetIKPosition(AvatarIKGoal.RightHand, weapon.currentRightWeapon.GetComponent<WeaponSystem>().GetHandle());
animator.SetIKPositionWeight(AvatarIKGoal.RightHand, .3f);
public Vector3 GetHandle() {
return handlePosition.transform.position;
}