Render.ru

Скелет и 2 полигональные поверхности.

Wink05

Активный участник
Рейтинг
13
#1
Обьект состоит из 2 полигональных сеток (головы и туловища). Приделал к ним скелет, настроил его, все работает. Но вот во время настройки весовых коэффициентов "костей" в месте сопряжения полигонов значения сбились и перестали совпадать. Получается, что при сильном движении одна сетка перемещается больше другой и образуется дыра. В редакторе Component Editor ситуацию исправить не получается, потому, что когда исправляешь один весовой коэффициент у сопряженных точек, остальные тоже меняются. Как содрать весовые коэффициенты одной точки и присвоить их (все разом) другой?
 

DemX86

Активный участник
Рейтинг
18
#2
В редакторе Component Editor ситуацию исправить не получается, потому, что когда исправляешь один весовой коэффициент у сопряженных точек
Ну и пусть меняются. Мне в такой ситуации помогло следующее: просто выделяешь все пограничные вершины на обоих объектах и в Component Editor ставим вес 1 для одного ближайшего сустава, остальные веса убегут в 0 и все будет ок.

Подробнее см. в рисунках:
01 - Веса на обоих объектах, для ближайшего сустава
02 - Component Editor
03 - Quick Render -- никаких швов, сдвигов и прочей шняги
 

Wink05

Активный участник
Рейтинг
13
#5
Хи... А у меня на каждую точку шеи влияют 4 узла. Так что свести к 1 один из них я не смогу. 2 точки объединить нельзя, т.к. придется объединить поверхности, а следовательно использовать плавную модификацию для головы будет накладно (мощи компа не хватит, чтобы обрабатывать все точки головы и тела). Проблему вообщем-то решил вручную... Выделял смежные точки блокировал одинаковые коэффициенты, остальные подгонял, что затратило много времени. Заметил в Component Editor, что множество точек имеют нулевое влияние сустава, но при этом хранят это значение... Как исключить значения с нулем (для уменьшения загрузки системы и размеров файла)?
 

DemX86

Активный участник
Рейтинг
18
#6
а почему у тебя там 2 точки,? объедени их...
Wink05 совершенно верно ответил на этот вопрос.

Как исключить значения с нулем (для уменьшения загрузки системы и размеров файла)?
Как это ни странно звучит, но выдели этот весь столбец с нулями, и снова забей нуль -- столбец пропадет. Так у меня, по крайней мере.
 

Wink05

Активный участник
Рейтинг
13
#7
У меня тоже пропадает... Но этот метод хорош, когда точно знаешь какие весовые коэффициенты можно обнулить... Но множество точек имеет нулевое значение, и хранит его... Зачем программисты так сделали...
 

Wink05

Активный участник
Рейтинг
13
#8
Да и еще. В некоторых местах весовые коэффициенты принципиально нельзя обнулить методами Paint Skin Weights. Закрашиваешь ее черной, опять выделяешь, а она с оттенком серого. Приходится в ручную коэффициент обнулять.
 

Артём Ягодин

Активный участник
Рейтинг
11
#10
Друзья, привет. Во первых - обрез шеи не там где нужно. Надо сделать его выше к челюсти. Второе - этот вопрос рассматривается в книге К Марафи и там просто ставятся одинаковые веса на точку от соответствующих джоинтов! И все! Третье - в принципе там не должно влиять 4 джоинта. Достаточно двух.
 

DemX86

Активный участник
Рейтинг
18
#11
Во первых - обрез шеи не там где нужно. Надо сделать его выше к челюсти
Да, это рациональная мысль. Стык ближе к челюсти будет меньше подвергаться деформациям.

и там просто ставятся одинаковые веса на точку от соответствующих джоинтов! И все!
Хмм, а мы тут о чем говорим? :)
 

Angelush

Активный участник
Рейтинг
5
#12
Может не в тему но, в одном уроке видел как от туловища отрезали голову, наделали копий головы, сделали блендшейпы, целевая голова та что отрезана, потом скомбинили с туловищем и соеденили вертексы при этом:

ВСЕ БЛЕНДШЕЙПЫ РАБОТАЛИ с головой. Главное чтоб граничные вертексы в копиях не трогались.
 

Wink05

Активный участник
Рейтинг
13
#13
Ндя... Автоматически получилось продолжение. У головы до создания копий был открыт рот. Когда начал создавать копии для блендшейпа, я голове рот закрыл. Наделал копий, деформировал их. Сделал блендшейп, изменил топологию (блендшейп действует первым, затем скелет). И, О ужас! Вместе с любой плавной модификацией у него начинает двигаться рот... Получается монстр :( Я то ему рот закрывал до создания копий головы джойнтом скелета :( Подскажите пожалуйста как по умолчанию скелету (мешу) задать позу с закрытым ртом? Не охота переделывать все копии заново :(
 

tadpole

Знаток
Рейтинг
24
#14
ну дак наверно надо удалить историю башки с закрытым ртом, а потом снова привязать ее к скелету и навесить деформации...
 

Wink05

Активный участник
Рейтинг
13
#15
Я весовые коэффициенты скелета настраивал часов 10... Так что в данном случае уж лучше копии заново наделать... Но, я думаю, в Мае должен быть способ задать исходное положение скелета.
 

Wink05

Активный участник
Рейтинг
13
#16
Я весовые коэффициенты скелета настраивал часов 10... Так что в данном случае уж лучше копии заново наделать... Но, я думаю, в Мае должен быть способ задать исходное положение скелета.
 

Wink05

Активный участник
Рейтинг
13
#17
Ндяя, исходного не нашел, но проблему решил. Блин надо урок написать: возможные ошибки при построении моделей... Кому интересно как исправил: Выделил точки челюсти => сдвинул центр их вращения в центр узла скелета челюсти => повернул точки => взял одну из копий и по ней подогнал точки с сильным отклонением у исходной модели. При блендшейпе конечно некоторые сдвиги происходят, но они маленькие. Теперь еще один вопросик остался... Какие ключи анимации использовать для FBIK скелета? Подскажите пожалуйста.
 

PzVI

Пользователь сайта
Рейтинг
2
#19
Я может ошибаюсь но в майке что нет такого инструмента как Mesh Deform Modifier?
 

DemX86

Активный участник
Рейтинг
18
#20
PzVI
Нет и никогда не было в Maya инструмента с таким названием.
 
Сверху