1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Риг. Проблемы с предплечьем

Тема в разделе "Maya", создана пользователем BELLinSKY, 13 окт 2008.

Модераторы: Dark™, Skif
  1. BELLinSKY

    BELLinSKY Активный участник

    С нами с:
    10.03.2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    5
    http://81.9.6.4/books/show_book.php?book_id=4&start=2 - вот страничка урока по ригу. Там примерно в середине описывается зависимость некой вспомогательной косточки в предплечьи, которая подхватывает вращение (X) ладони с коэф. 0.3
    Отличная штука, все сделал (только я нод использовал, а не экспрешн). Но есть один баг, который делает всю эту затею неюзабельной. Если просто поставить IK так, чтобы рука согнулась вперед под 90 градусов в локте и повернуть соответствующим образом кисть, то есть момент, при котором эта вспомогательная кость прокручивается мгновенно на 180 градусов.
    Я провозился полдня пытаясь сделать разные обходы - ну я в майке новичок, не обессудьте.
    Вопрос с следующем: оставить это на какой-то канал в манипуляторе для ручной "подкрутки" и не морочить себе голову? Или все-таки есть простое и элегантное решение по автоматизации подобной задачи?
    Спасибо.
    Жду с нетерпением =)
     
  2. BELLinSKY

    BELLinSKY Активный участник

    С нами с:
    10.03.2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    5
    Понятно =) судя по
    - массе уроков, где эта лажа присутствует
    - нулю ответов на вопрос
    - куче сетапов (весьма продвинутых), где эти "твисты" в отдельный канал вынесены
    не так уж много людей знают как одолеть "схлопывание" (складывание) осей вращения =)

    Ну ничего, разобрался =) "а ларчик просто открывался" ©
     
  3. Denzil

    Denzil Мастер

    С нами с:
    29.08.2000
    Сообщения:
    314
    Симпатии:
    0
    Баллы:
    360
    проблема решаема.
    аим констрейн тебе в помощь. экспрешенами это не решить, даже нормально выставив ротейшен ордер.
     
  4. BELLinSKY

    BELLinSKY Активный участник

    С нами с:
    10.03.2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    5
    а что на что будет смотреть?
     
  5. Denzil

    Denzil Мастер

    С нами с:
    29.08.2000
    Сообщения:
    314
    Симпатии:
    0
    Баллы:
    360
    Объяснять долго. Пример (не идеальный, но демонстрационный) - в аттаче (переименуй в rar).
    Вес докрутки регулируется
    L_Arm W0 и Locator1 W1, в сцене они по 1, соответственно 50 процентов вращения.
     
  6. xeash

    xeash Активный участник

    С нами с:
    26.04.2007
    Сообщения:
    208
    Симпатии:
    0
    Баллы:
    12
    Да сколько же этот сетап будет людей мучить?
    Вообщем, глянул его...
    Самое быстрое лечение для твоей проблемы
    В коде экспрешшна
    Если у него там будет:
    R_ForeArm_Twist.rotateX=R_Hand.rotateX*0.3;
    То чтобы не было глюка нужно:
    R_ForeArm_Twist.rotateX=R_Hand_locator.rotateX*0.3;
    P.S. В этом сетапе много чего такого... не ориентируйся на него,ищи другие источники информации по риггингу,удачи ;)
     
  7. BELLinSKY

    BELLinSKY Активный участник

    С нами с:
    10.03.2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    5
    Это метод я опробовал. Скручивания, о котором я говорил нет, но Twist себя ведет несколько неправильно... непредсказуемо...
    Например при наклонах ладони вверх-вниз - он прокручивается. А при небольших уклонах вправо-влево он несколько отворачивается в противоположную сторону. Это не вариант.
    В итоге пришел-таки к конструкции дополнительного локатора, на который смотрит ладонь. Все работает хорошо, но в разумных пределах. Ладонь нормального человека (считаем что он стоит в Т-позе) не может отклониться назад больше, чем на 40-45 градусов и вперед на 10-15. Вот в этих пределах ничего не скручивается и не глючит.
     
  8. xeash

    xeash Активный участник

    С нами с:
    26.04.2007
    Сообщения:
    208
    Симпатии:
    0
    Баллы:
    12
    Странно у меня ничего подобного не происходит о_О
    При
    R_ForeArm_Twist.rotateX=R_Hand.rotateX*0.3; происходит
    При
    R_ForeArm_Twist.rotateX=R_Hand_locator.rotateX*0.3; нет
    Может уменьшить коэффицент "скручивания"?
    Можешь выложить сцену где подобный сетап, по словам не совсем понятно что ты сделал,просто интересно)
    P.S.Можно убрать все лишнее просто пример на одних костях
     
  9. BELLinSKY

    BELLinSKY Активный участник

    С нами с:
    10.03.2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    5
    Не врубил, как тут файлы прикреплять.
    Вот пример. В нем попробуй повращать L_Hand_Locator вокруг оси Z. Twist "ходит".
     
  10. BELLinSKY

    BELLinSKY Активный участник

    С нами с:
    10.03.2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    5
    А вот пример того, как я это сейчас еализовал. При тех же вращениях ложных движений нет.
     
  11. xeash

    xeash Активный участник

    С нами с:
    26.04.2007
    Сообщения:
    208
    Симпатии:
    0
    Баллы:
    12
    Хм...спасибо изучу на досуге..
    Так глянул, для еще большой минимизации нежелательных поворотов я бы на локаторе руки Rotation Order поставил бы, например xzy, а то сейчас
    при например Y=-90 невозможно согнуть руку меняя значение поворота только 1ой оси(на анимиционную кривую это тоже будет влиять)
     
  12. BELLinSKY

    BELLinSKY Активный участник

    С нами с:
    10.03.2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    5
    Разумный совет, но он "одно лечит - другое калечит". Если я выберу xzy, то ситуация перейдет "наверх": при повороте Z=90 будет то же самое. А это довольно стандартная позиция.
     
  13. xeash

    xeash Активный участник

    С нами с:
    26.04.2007
    Сообщения:
    208
    Симпатии:
    0
    Баллы:
    12
    Универсального способа победить gimbal lock нет, такова система вычисления вращения по Элейру, выбери то что тебе удобнее,как аниматору...
    Я исходил из частоты использования поворотов(как движений кисти), Y -наиболее редкое движение, с Z и X выбери сам что ты хочешь чтобы вычислялось в 1ую очередь;)
     
  14. BELLinSKY

    BELLinSKY Активный участник

    С нами с:
    10.03.2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    5
    Ок =) пока меня вторая схема (пост #10) устраивает. Спасибо за помощь и советы!
     
Модераторы: Dark™, Skif

Поделиться этой страницей