Автор Тема: Ограничение движения шарнира в одной плоскости  (Прочитано 394 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Simon-Phoenix

  • Житель
Доброго дня.
Есть некий футуристический доспех, есть сочленение брони голени и брони ступни. Нужно, чтобы кольцо, которое свободно крепится некой спицей к голени жестко сидело на втулке, закрепленной на ступне, т.е. конструкция кольцо-спица могло вращаться только по оси втулки.
Есть ли возможность граничить вращение только локальной плоскостью, либо как-то в свойствах объекта указать запрет на пересечение с другим объектом?
Пробовал через limit rotation, но там ограничения по осям, а не плоскостям. Т.к. объект не выровнен строго по осям (ступни же не смотрят строго вперед), то при ограничениях по локальной оси нужно задавать диапазон углов от и до, поскольку поворот по любой из осей автоматически изменяет углы и по другим. Но в таком случае получаем люфт и пересечение объектов. Если сбросить локальные координаты к мировым, то, опять же ввиду отсутствия выравнивания объекта по сетке, поворот будет не в плоскости объекта.

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
это без арматуры и rigid body?

Оффлайн Simon-Phoenix

  • Житель
это без арматуры и rigid body?
Да мне хоть как-нибудь. Первый раз такое делаю, а какие-либо материалы под такую задачу найти не могу. Вот и интересуюсь как такое реализовать вообще.
Арматура есть, голень к ней привязана. Кольцо является потомком голени, т.е. будет поворачивать за ней. Нужно лишь ограничить свободу поворота одной локальной плоскостью. Т.е. либо как-то жестко задать свободу поворота в одной локальной плоскости, либо как-то запретить объекту кольца пересекаться с объектом втулки. Ни то, ни другое не знаю как сделать.

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
... так еще одну кость добавь для кольца и установи ограничитель ...
... и если есть желание - выложи модель и попробуем прямо по модели внести изменения ...

Оффлайн Simon-Phoenix

  • Житель
... так еще одну кость добавь для кольца и установи ограничитель ...
... и если есть желание - выложи модель и попробуем прямо по модели внести изменения ...
А в чем будет принципиальная разница ограничителя на кости от ограничителя на объекте? Или у кости есть возможность ограничения не осью, а плоскостью?

Оффлайн Simon-Phoenix

  • Житель
... так еще одну кость добавь для кольца и установи ограничитель ...
... и если есть желание - выложи модель и попробуем прямо по модели внести изменения ...
Вернулся к этому делу :)
Да, выложить файл будет проще всего для предметного рассмотрения, но в процессе подготовки, чтобы более-менее понятны привязки были, возникли проблемы.
Есть, например, ступня, она состоит из нескольких деталей. Есть голень тоже из нескольких деталей. Если я через ctrl+P делаю привязку деталей ступни, допустим, к кости непосредственно ступни, то при движении они движутся за соответствующей костью, но в разнобой, как разные части. Если привязывать только одну деталь к кости, а остальные как потомков к ней, то фокус не работает - двигается только непосредственно привязанная к кости деталь и все.
Если же я через ctrl+P привязываю деталь к Armature Deform With Empty Groups, а потом через раскраску весов делаю привязку конкретной детали к конкретной кости (в виде группы вершин), то движутся группы привязанные к одной кости монолитно, как и нужно, но в процессе раскраски весов позиционирование деталей изменяется (поворачиваются немного или ужимаются).
Как этого избежать?

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
>> ни движутся за соответствующей костью, но в разнобой, как разные части
... покажи видео на котором бы была очевидна проблема  ...

Оффлайн Simon-Phoenix

  • Житель
>> ни движутся за соответствующей костью, но в разнобой, как разные части
... покажи видео на котором бы была очевидна проблема  ...
Разобрался с проблемой. У части деталей была привязка по пустым группам, у части нет. Видимо из-за этого. С деформацией при раскрасе весов немного позже разберемся :)
Файл в приложении.
Собственно возвращаемся к изначальной задаче.
Есть втулка Boot_left_hinge, есть две спицы с кольцами Leg_lower_left_hinge1 и Leg_lower_left_hinge2, которые на втулке должны крутиться. Втулка привязана к ступне (кость foot.L), а спицы привязаны к голени (кость shin.L). Соответственно спицы должны поворачиваться вместе с голенью (прокручиваться на втулке вперед и назад), но при этом оставаться на оси втулки и не пересекать ее границы (влево, вправо).

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
сразу не удалось полностью посмотреть модель, но мне думается что всё можно реализовать через кости (существующие или дополнительные, только нужно всю схему прорисовать)

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
>> Есть втулка Boot_left_hinge, есть две спицы с кольцами Leg_lower_left_hinge1 и Leg_lower_left_hinge2, которые на втулке должны крутиться. Втулка привязана к ступне (кость foot.L), а спицы привязаны к голени (кость shin.L).

... у костей foot.L и shin.L есть мнимый шарнир ...
... если кости будут находиться в соприкосновении в этом мнимом шарнире, то нужно чтобы центры вращения втулки и спиц тоже находились в этом мнимом шарнире ...

Оффлайн Simon-Phoenix

  • Житель
Убрал метариг, воткнул кости руками. Движения стали поадекватней. Через вкладку Инверсной кинематики достаточно удобно управлять ограничениями поворота костей, но есть существенное НО - оно в глобальных координатах. Есть возможность делать эти ограничения в локальных? :)

 


* По форуму

* Последние вложения

2020-07-04_17-25-09.png
Скачано: 16
Автор: vanchu
IMG_20200621_154937_291.jpg
Скачано: 107
Автор: Pavelnikai
Screenshot_12.png
Скачано: 117
Автор: aaa1223
untit23led.jpg
Скачано: 114
Автор: Dim
111111.png
Скачано: 133
Автор: RomanZig