Автор Тема: Тема для быстрых вопросов от новичков  (Прочитано 433498 раз)

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

Оффлайн Avis

  • Житель
  • Гибридный инженер
Re: Тема для быстрых вопросов от новичков
« Ответ #8580 : 10 Август 2020, 17:21:43 »
День добрый, господа.

Споткнулся на симуляции SoftBody.. Наверное. Есть вот такая конструкция (см. вложение). Сами позвонки через Bone Constraint цепляю на Armature под анимацию с использование IK, шарниры расположены в центре межпозвоночных дисков. Задача: сымитировать на дисках материал вроде жесткой полупрозрачной резины, чтобы позвоночник гнулся и слегка "гулял" в осевом направлении. Диски приклеены своими краями к торцам позвонков, т.е. эти поверхности всегда прилегают торцами друг к другу. Внешняя поверхность центра диска почти не деформируется при изгибе, но внутренние переборки деформируются.

Собственно вопросы:
1. Как привязать диск со свойствами SoftBody к торцам, чтобы они влияли на деформацию диска при наклоне позвонков? Смотрел гайды - там товарищи зачем-то постоянно кидают мячики на объект с Collision - толку мало, мне надо заневолить Soft Body по двум кольцам. Попытка привязать два кольца через Vertex Group в Goal как-то не получилась - не ведаю что творю и оно дергается просто и всё.
2. А может не Soft Body? Может Cloth c Internal Springs лучше для такой задачи? Тогда подкиньте алгоритм к чему и как такое разумно привязать. Опыты у меня тоже не удачные - всё улетает или складывается в месиво. Блендерную физику я до сих пор плохо ощущаю, да.
3. А может ну её эту симуляцию и разумнее будет имитировать костями? Ну, например, пока есть идея прицепить по периметру диска 4-8 костей, Tail к одному позвонку, Head к следующему и Automatic Weight на диск к этой группе. Работать будет, я уверен, но 4-8 костей.. многовато для такой простой задачи вроде. Так что даже на этом пути мне не помешает совет как лучше разместить кости.

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

  • Житель
  • emerge --keep-going
Re: Тема для быстрых вопросов от новичков
« Ответ #8581 : 10 Август 2020, 18:06:51 »
... в первом приближении - а чем тебя не устраивает сегментированная кость? https://docs.blender.org/manual/en/latest/animation/armatures/bones/properties/bendy_bones.html#segments  ...

Оффлайн Avis

  • Житель
  • Гибридный инженер
Re: Тема для быстрых вопросов от новичков
« Ответ #8582 : 10 Август 2020, 19:14:41 »
Кости в принципе меня устраивают вполне. Технически можно вообще нарисовать вес нужных поверхностей диска в привязке к кости позвонка, наверное и обойтись вовсе без лишних костей. Но вот поэтому вопрос в этой ветке - я понятия не имею как, потому что арматуру не знаю в полном объеме. Попробовал вот добавить две промежуточные кости, которые должны в теории деформировать центр, а кости позвонков "тянуть" за собой края. Не тянут - веса разбились неверно.

Наверное, можно нагло вот так и сделать, но я пока дотыкался только как задать для кольца вес. Может подскажете как его теперь "размыть" в градиент по такой поверхности? Или как лучше расположить промежуточные кости, чтобы Automatic Weight сработал нормально?
Bendy Bones - аналогично: я просто не знаю как их привязать к такому мешу, чтобы не надо было "ловить блох" в весах. Использовал их для трубок всяких - там вопросов нет. Там однотипный равномерно изгибающийся массив, и Automatic Weight работает идеально. А тут чередуются жесткий и гибкий элементы к которым я никак не могу найти разумный подход - только какие-то безумные идеи.  :o

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

  • Житель
  • emerge --keep-going
Re: Тема для быстрых вопросов от новичков
« Ответ #8583 : 11 Август 2020, 05:20:26 »
>> Попробовал вот добавить две промежуточные кости, которые должны в теории деформировать центр, а кости позвонков "тянуть" за собой края. Не тянут - веса разбились неверно.

... вот пример, в котором это выглядит нормально - но одна двухсегментовая промежуточная кость, позвонки прицеплены не через веса, а сразу на кость ...
https://yadi.sk/d/MLYBF1JTsvJ5eQ

Оффлайн Avis

  • Житель
  • Гибридный инженер
Re: Тема для быстрых вопросов от новичков
« Ответ #8584 : 11 Август 2020, 22:32:04 »
Это потому что там кубики с ровной гранью..  :D

Посмотрел, сравнил.. Когда на двухсегментную кость вешается меш с параметром Automatic Weight, то он создает целый список VertexGroup с именами соответствующей кости. В вашем примере эти группы создались (или были созданы?) правильно: к предыдущей (условно Bone) кости привязана одна грань + два центральных ближайших фейса на каждый боковой грани, к текущей (Bone.001) кости привязан весь меш целиком, а к последующей (Bone.002) - противоположная грань + 2 фейса на каждой боковой грани. Это и обеспечивает неподвижность граней при деформации.

Но у меня VertexGroup формируются не так - все три группы (Bone, Bone.001, Bone.002) содержат все вершины меша.. ну почти. Отличия в две вершины на концах сферы - они входят поочередно в крайние кости и обе вершины не входят в группу для центральной. Несомненно, можно ручками просто пересобрать VertexGroup как надо, задав поверхности. Однако это для каждого диска отдельно: зайти в меш и отредактировать по три VertexGroup для каждого диска. Ну.. это для 6 позвонков ладно, а вот для 38-ми, скажем - уже не очень. А если геометрия импортирована из CAD через STL, то там мешанина по вершинам и всё будет вручную.

Есть методики как скопировать эм.. шаблон VertexGroup на другой меш с другой костью? Трансляция весов, как я понял, работает к одной кости.

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

  • Житель
  • emerge --keep-going
Re: Тема для быстрых вопросов от новичков
« Ответ #8585 : 12 Август 2020, 06:29:02 »
>> Когда на двухсегментную кость вешается меш с параметром Automatic Weight, то он создает целый список VertexGroup с именами соответствующей кости. В вашем примере эти группы создались (или были созданы?) правильно
... руками группы вершин не правил, все группы были сформированы автоматически ...
... суть сегментирования кости - сократить количество манипуляций - выделил один объект, выделил одну кость и сделал привязку ...

>> Есть методики как скопировать эм.. шаблон VertexGroup на другой меш с другой костью? Трансляция весов, как я понял, работает к одной кости.
... есть техническая специфика, которая может немного упростить манипуляции - кости и группы вершин связаны именами, то есть переименовав группы вершин именами других костей будет перепривязка, при этом значения весов для вершин сохранятся ...
... более того, можно у объекта оставить только существенные группы вершин, то есть исходя из твоего описания их должно быть три и тогда можно попробовать нормально настроить веса руками для трех групп и уже далее просто переименовывать группы вершин требуемого объекта именами соответствующий костей ...

>> Это потому что там кубики с ровной гранью.. 
... выкладывай свою модель, будем на ней экспериментировать вместе ...


Оффлайн Avis

  • Житель
  • Гибридный инженер
Re: Тема для быстрых вопросов от новичков
« Ответ #8586 : 12 Август 2020, 12:33:41 »
С именами групп - вариант, да. Я уже поэкспериментировал с переименованием.

Модели тут: https://drive.google.com/drive/folders/1CC-iK_qnbiPitoUyjR566dPSmNCdYyUN?usp=sharing

Там обе.. одна построена в Blender и там с вершинами всё ок. Vertex Group одного из центральных дисков уже изменены вручную (тот который прилегает таки к позвонку). Не так чтобы именно так надо - слишком большая деформация получилась, но это самое близкое что я получил. Вторая модель - импорт через STL (минус треугольники через Ctrl+J, плюс модификатор Edge Split и Separate). Вот там веселье в полный рост. Группы создаются точно так же: все вершины меша прописаны во все три группы.

P.S. Может я неправильно делают привязку?
1. Armature перевожу в Pose Mode.
2. В Outliner выделяю нужный меш
3. Shift выделяю нужную кость
4. Ctrl+P - >
● Если это позвонок, то -> Bone
● Если это диск, то -> ..With Automatic Weights
5. Повторить для всех требуемых объектов.

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

  • Житель
  • emerge --keep-going
Re: Тема для быстрых вопросов от новичков
« Ответ #8587 : 13 Август 2020, 05:53:38 »
>> Это потому что там кубики с ровной гранью.. 
>> P.S. Может я неправильно делают привязку?
... нет, последовательность правильная, но дело как раз в том что часть резины внутри диска и по сути не работает как резина, а работает как часть диска ...
... механизм расстановки весов рассчитывает веса по всей протяженности объекта вдоль арматуры, а в твоем случае нужно чтобы только для видимой части резины ...
... пока не нашел красивого решения, но по логике если у резинового шарнира убрать невидимые части, которые уходят в диск, то веса должны быть рабочими ...


... другое решение, возможно менее понятное, но делать быстрее - при автоматическом расчете весов для резины нужно убрать влияние костей дисков - для этого отжать чек Deform для всех костей дисков в режиме PoseMode или EditMode ...
... в таком случае соседние с резиной кости не будут её деформировать ...
... вот файл с этим решением https://yadi.sk/d/d-BQcRW4Av9jzg

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

  • Житель
  • emerge --keep-going
Re: Тема для быстрых вопросов от новичков
« Ответ #8588 : 13 Август 2020, 07:33:05 »
>> ... другое решение,
... кстати, попробуй просто отключить Deform для костей дисков без пересчета весов для своей модели Spine_BB1 (покликать на этот чек Deform) ...
... вроде результат более-менее адекватный ...

Оффлайн Avis

  • Житель
  • Гибридный инженер
Re: Тема для быстрых вопросов от новичков
« Ответ #8589 : 13 Август 2020, 09:51:20 »
Цитировать
..просто отключить Deform..
:o
Идеально, огромное спасибо. Даже в голову не пришло его отключить, потому что предполагалось что эти кости должны тянуть за собой края дисков. А оказалось вот так - ровно наоборот.

Оффлайн Ronnie Fox

  • Житель
Re: Тема для быстрых вопросов от новичков
« Ответ #8590 : 18 Август 2020, 02:15:37 »
Всем привет! :) Ай нид ю хелп!!!
Почему, когда я раскрашиваю модель в области головы параллельно раскрашиваются детали в разных частях? Как это отвязать? :'(

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

  • Житель
  • emerge --keep-going
Re: Тема для быстрых вопросов от новичков
« Ответ #8591 : 18 Август 2020, 05:21:26 »
... насколько понял, пропущен важный этап - создание корректной UV развертки https://docs.blender.org/manual/en/latest/editors/uv/introduction.html , то есть приведение в соответствие между координатами на поверхности трёхмерного объекта и текстурными координатами ...

Оффлайн Valentine40000

  • Житель
Re: Тема для быстрых вопросов от новичков
« Ответ #8592 : 18 Август 2020, 15:02:45 »
Всем привет. Есть проблема при анимации ткани. Во время симуляции ткани Plane превращается в комок, по ощущениям грани сталкиваются между собой.(Прин скрин во вложении, все выделенные параметры уже менял в разные стороны, толку нет)

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

  • Житель
  • emerge --keep-going
Re: Тема для быстрых вопросов от новичков
« Ответ #8593 : 18 Август 2020, 19:36:12 »
... раскрой свиток свойств "Форма", не установлен там какой-нибудь чек? если да, то сними их ...

Оффлайн Chey_Tac

  • Житель
Жирные грани в режиме tab
« Ответ #8594 : 19 Август 2020, 18:45:22 »
Друзья, всем привет! Прошу сильно не пинать, но на форуме ответа на свой вопрос не нашел. При попытке применить модификатор subdiv сглаживаются не все грани объекта, верхний контур остается острым, хотя bevel я не применял. И как будто-то визуально грани верхнего контура кажутся жирнее, чем остальные. Кто может подсказать, где и что я наколбасил, я ли виноват, и как исправить ситуацию? Заранее все большое спасибо за ответы.

 


* По форуму

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


Скачано: 118
Автор: Алексей Лябик
untitled1.png
Скачано: 108
Автор: Алексей Лябик
packt200910.jpg
Скачано: 94
Автор: Striver
2020-09-06_12-24-29.png
Скачано: 131
Автор: barmalej
-2.png
Скачано: 141
Автор: R_M_S