Добрый день, Господа.
Прошу поделиться своим опытом по созданию изменяемого персонажа.
Под "изменяемым" я понимаю персонажа, на котором можно сменить одежду, изменить форму тела и прическу\бороду.
Смотрел много уроков, но конкретных ответов на свои вопросы не обнаружил. Может кто-то подскажет урок(и) по моему вопросу.
Использую движок Unity3d
Сперва опишу задачу:
Есть необходимость создать авто генерируемых персонажей. В идеале это одна модель, у которой настраиваешь вес, рост, одежду и прическу. Таким образом из одной модели можно создать несколько почти уникальных персонажей.
В идеале добавить возможность изменение персонажей со временем (например набор веса). А также возможность отделять части тела. К примеру создать персонажа без ноги или без руки.
Интересуют следующие моменты:
1. Blend Shapes. Очень удобная вещь, как по мне. С ее помощью можно реализовать те самые изменения веса или настройку роста персонажа. Вопрос в том, как правильно их использовать.
1.1. Как сочетать прически и одежд с шейпом тела? Например я замоделил одежду под базовые параметры персонажа. Потом персонаж стал полнее. Следовательно одежда должна тоже увеличиться. Напрашивается решение по настройки аналогичного бленд шейпа к одежде. Но может есть более простой\быстрый способ, чем в ручную настраивать каждый предмет одежды, прически и т.д.?
1.2 Как изменять скелет анимации, при изменении параметров тела? Например персонаж стал выше. Можно ли, чтобы скелет пропорционально изменился?
2. Отделяемые части тела.
2.1 Как лучше организовывать персонажа? Из отдельных частей? Или пытаться отрубить конечность непосредственно движком игровым?
2.2. Если из отдельных частей, то как сочетать изменение бленд шейпов из первой части? Чтобы не получилось, что изменение размера руки привело к разрывам межу телом и руками? Может какой-то авто лок места коннекта? Или что-то в этом духе.
2.3 Не будет ли анимация рвать меш на местах стыка?
3. Одежда и прически.
3.1. Есть два варианта реализации одежды. 1й прямо в модели персонажа создается n-е количество одежды и отображается уже игрвым движком. 2й - создание отдельных моделей одежды, которые в последствии цепляются на персонажа в игре.
Поделитесь опытом, какой вариант, на ваш взгляд, предпочтительнее и почему.
3.2. По сути, одевая сверху тела футболку - мы увеличиваем количество полигонов. Хорошо бы убирать тело под футболкой. Но как это сделать? Ведь длины рукавов\штанин разные. Дробить тело на много мелких кусков? Ну очень логично вроде как.
Буду рад получить ответы\советы\рекомендации и ссылки)