ПрограммированиеФорумГрафика

Морфинг (custom character) (2 стр)

Страницы: 1 2
#15
18:25, 24 мая 2011

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

#16
18:27, 24 мая 2011

1. Можно сделать несколько моделей. Высокого толстого, низкого толстого, высокого худого, низкого худого, и смешивать их.
2. Или сделать более фейковую реализацию. Все смешиваемые модели делать одного роста. А рост менять тупым скейлом вдоль одной оси.

#17
18:41, 24 мая 2011

dds
и опять вернулись на несколько постов назад

#18
18:52, 24 мая 2011

задача в том, как правильно подобрать коэффициенты для координат вершин при морфинге:
возьмем для простого случая прямоугольники как в первом посте с такими размерами:
низкий (1.0; 0.5)
высокий (1.0; 2.0)
худой (0.5; 1.0)
толстый (2.0; 1.0)

тогда если мы захотим получить среднего по высоте и толщине сделаем так:
средний = (низкий + высокий + худой + толстый) / 4 = ((1.0 + 1.0 + 0.5 + 2.0) / 4; (0.5 + 2.0 + 1.0 + 1.0) / 4) = (1.125; 1.125)
а должно быть (1.0; 1.0)
имхо можно попробовать подобрать значения так, чтобы получились верные размеры

#19
13:01, 25 мая 2011

nes
> можно попробовать подобрать значения так, чтобы получились верные размеры
То есть в результате будет бленд за границами промежутка [0; 1]? То есть если берем:

А = (толстый * жирность + худой * (1 - жирность))
Б = (высокий * мера_высоты + низкий * (1 - мера_высоты))
результат = А * мера_бленда + Б * (1 - мера_бленда)

То жирность, мера_высоты и мера_бленда может не лежать в пределах 0 и 1?

#20
13:29, 25 мая 2011

AntonV
тут надо как-то более хитро
пока ясно только то, что сначала нужно интерполировать однородные меши, тоесть низкий-высокий и худой-толстый
а вот уже промежуточный меш между этими двумя нужно рассчитывать как-то иначе, тут простой интерполяцией имхо не покатит

#21
18:13, 25 мая 2011

Мб так?

нашперс = средний + (толстый-средний)*толстота + (высокий-средний)*высота.

также можно добавить и другие свойства.

#22
18:18, 25 мая 2011

А что в данном случае делать с нормалями? Ведь у толстого увеличится живот, из плоского превратится в круглый, у высокого многие черты изменятся...

#23
19:12, 25 мая 2011

нормали нужно интерполировать точно так же как и вершины, так что осталось придумать как интерполировать вершины

Страницы: 1 2
ПрограммированиеФорумГрафика

Тема в архиве.