Здравствуйте,
Мне необходимо создать модуль к своей программе, который будет генерировать 3D тело человека по заданному размеру, например 36,38,40 и так далее. Кроме того, надо "на лету" изменять обхват талии, объем груди и другие стандартные параметры фигуры.Гугл к сожалению ответа не дал.Подскажите пожалуйста, какие алгоритмы использовать и как делать.
Я, к сожалению - без комментариев.
Я только знаю готовые программы, которые такое делают... А как это делается хз...
wipkirill
> какие алгоритмы использовать и как делать.
MakeHuman, например, хранил кучу отдельных мешей для всех частей тела, а потом интерпорлировал результат из этих мешей с некоторыми коэффициентами.
Типа "лицо в целом на 40% негроидное, нос на 60% еврейский, уши ельфийские на 10%, грудь - женщина на 10%, качок на 30%, ...". Ну и т.д.
интересная мыслишка..
poser не юзал? мож он на че натолкнет.
Poser пробовал, это очень крутая программа, но мне нужно самому такой функционал с размерам сделать или библиотеку хоть подключить, если есть
RPGman
> MakeHuman, например, хранил кучу отдельных мешей для всех частей тела, а потом
> интерпорлировал результат из этих мешей с некоторыми коэффициентами
Вот я тоже уже читал про такой подход, там еще было такое понятие как template model, с нее и генерируются тела разных размеров
посмотри плагин MakeHuman к блендеру
wipkirill
Oоо, давным-давно подобное делал. Бралась некая базовая модель туловища (делал только для туловища), делалось около 20 горизонтальных сечений, получались контуры тела. Вот эти контуры скалились (непропорционально) в плоскости. Для заданных параметров тела подбирались коэффициенты масштабирования сечений. Подбирались сложно - решалась нелинейная оптимизационная задача с ограничениями. Ограничения - это заданные базовые параметры тела, для которых все остальные метрические параметры брались из таблички типичных фигур человека. Вот так вот всё было. Может чем и помог.
MakeHuman в виде отдельной программы на Питоне выглядит мощно. Буду с его исходниками разбираться
стандартный скелет * скелет модификатор
st.killer
> стандартный скелет * скелет модификатор
А это имеется ввиду меню программы что ли?
st.killer, видимо, имел ввиду, что модель будет со скиннингом. Тогда можно просто ввести масштабирования для костей и таким образом изменять фигуру.
odino4ka в точку
Проще метода придумать немогу. Ктому же анимации можно юзать одни и теже. Себе такой сделать планирую.
wipkirill
Ну если ты хочеш сделать нечто подобное GTA сфн андреас когда внешний вид игрока менялся в зависимости от его характеристик то...мне кажется у них была иетерполяция от начальной модели (образцовой) например хилой с накачаной моделью, жирной моделью, и т.д.
Может тебе поможет создать несколько моделек (обычную, толстую, накаченую, ) и потом характеристики исполькозовать как весовые коэфициэнты интерполяции...а размеры модели можно применять как значения масштаба к собраной моделе.
Ну и если так то надо стораться чтобы на узловых моделях кол-во триугольников было одинаковым, просто менялось их положеие. иначе будет сложно упровлять такой моделью. применять скилетную анимацию например.
Интерполировать можно данные к вершинам, нормали в вершинам. Карты нормалей как вариант можно хранить для каждой узловой модели и для результирующей их смешивать с теми же коэфициэнтами. Ну это как один из вариантов.
Тема в архиве.