пятница, 21 августа 2009 г.

Масштабирование персонажа вместе с бипедом.

Дано:
Персонаж ростом 0,001 метра
Бипед и скин и идеально подогнаны и настроены.

Надо:
Привести персонаж не поломав скининг и бипед к росту 1,7 метра.

Как это сделать.
Думать надо вначале, и смотреть на "юниты" ;-)

1. Выделить все сетки персонажа.
2. Сохранить таблицу весов у модификатора "Скин" в файл *.env.
3. Выключить модификтор скин. (не удалить а выключить, лампочку нажать наверху стека)
4-А. Будет совсем хорошо если pivot всех частей персонажа в одной координатной точке по всем осям = 0 0 0. Если у каждой детали pivot свой то создайте любой объект в точке 0 0 0 (pivot этого объекта должен быть в координате 0 0 0 по всем осям) и прилинкуйте к нему все детали. Далее выделите этот объект и масштабируйте его, детали будут масштабироваться вслед за ним. Потом удалите временный объект к которомц мы все это прилинковывали. (Масштабирование делайте в режиме Use pivot Point center)
4-Б. Если pivot-ы всех деталей в нулях то выделите все части сетки персонажа и масштабируйте ее до нужного размера. Поставьте рядом бокс ростом 170 см и ориентируйтесь по нему. (Масштабирование делайте в режиме Use pivot Point center)
5. Выделите все отмасштабированные детали. В понели Hierarchy сделайте Reset Scale.
6. Выделите бипед.
7. В режиме Figure Mode сделайте ему рост точно подходящий под фигуру персонажа.
8. Немного подкоректируйте положение персонажа по оси X Y если что-то не совпадает с частями скелета.
9. Выделите персонаж.
10. В модификатре "Скин" сбросьте галочку Always Deform в свитке Advance Parameters.
11. Включите модификатор "скин".
12. Загрузите сохраненную в п.2. таблицу весов.
13. Активируйте (поставьте) галочку Always Deform в свитке Advance Parameters модификтора "скин".


На этом все. Персонаж должен работать так же как и до масштабирования. Проверял лично, поскольку возникла острая необходимость в смене юнитов в сцене. В моем случае к запястьям персонажа были прикреплены с помощью констрейнов дополнительные кости. Они так же благополучно перенесли масштабирование, с помощью небольшой хитрости.

Надеюсь этот микроурок будет вам полезен.
e.ov. 3.04.2008
http://www.keyframe.ru/forum/index.php?showtopic=74

2 комментария:

Unknown комментирует...

Полезнее использовать не сейв скин, а скин утилиты - експорт/импорт скин в меш. При этом не теряются размеры энвелопов. И не слетает скин.
Я 2 недели назад перемасштабировал 5 персонажей. 3 раза. Сначал конвертил из КАТа в бипид, потом в бипиде уменьшал, потом в бипиде еще подгонял персов под новые размеры, указанные режиссером.

Unknown комментирует...

Так вот при сейв/лоад скина вы подгружаете скин с большего/меньшего персонажа. Соответственно и энвелопы остаются от пержнего роста. Это не критично конечно, но если потом редачить еще скин, то не совсем удобно будет выглядеть. Кроме того, может сложиться так, что вы после скина подредачивали меш и он смещается относительно оригинала. И вот тогда получается, что некоторые вертексы слетают.
А при накладывании скиндаты на новый меш вертексы накладываются идеально друг на друга (если все правильно сделано). А если вы даже подредачили новый меш - добавили новых вертексов, то веса на них кагбе по идее должны интерполироваться .