Со стороны character builder выглядит почти очевидно: берем базовое тело, выбираем лицо, одежду, броню, оружие, позу - и получаем персонажа. Именно поэтому первая оценка сложности почти всегда занижена. Как только мы начали раскладывать задачу TRUE VISUAL BUILDER на реальные технические слои, оказалось, что "собрать персонажа" - это не одна операция, а цепочка зависимых систем.

Тело нельзя менять отдельно от всего остального

Если персонажу изменить рост, ширину плеч, пропорции рук или объем корпуса, эти изменения сразу затрагивают одежду и экипировку. Куртка должна повторять новую форму тела, ремень не должен проваливаться внутрь модели, наплечник должен сохранить правильную посадку, а жесткий предмет не должен деформироваться как ткань.

Отсюда появляется первое фундаментальное разделение: мягкие элементы, которые должны следовать морфологии тела, и жесткие attachments, которым нужна другая логика привязки.

Риг - это не просто возможность согнуть руку

Даже хороший набор моделей бесполезен, если они не договорились о скелете. Поза влияет на одежду, оружие, аксессуары и итоговый силуэт. Разные источники используют разные риги и соглашения по костям. Поэтому для Builder важен не только факт наличия рига, но и понятный стандарт, к которому можно приводить импортируемые модели.

Мы отдельно исследовали распространенные подходы вроде Mixamo и Rigify именно как части пайплайна, а не как волшебную кнопку "сделать анимацию".

Одежда и броня требуют разных правил

Футболка, плащ и мягкая куртка должны подстраиваться под тело и позу. Шлем, оружие, металлический наплечник или механический модуль ведут себя иначе. Если применять одну схему ко всему гардеробу, результат быстро начинает выглядеть как пластилин.

Поэтому в архитектуре пришлось явно разделять morph/wardrobe и rigid attachments. Это не косметическое различие, а разные классы объектов с разным поведением.

Высокая детализация тоже имеет цену

Для финального изображения хочется максимально качественную геометрию и материалы. Но Builder должен оставаться достаточно быстрым, чтобы пользователь мог перебирать варианты. Отсюда появляется классическая high/low задача: тяжелый источник может использоваться для подготовки качества, но рабочая сцена и предпросмотр не должны каждый раз тащить максимальную сложность.

Пайплайн приходится проектировать так, чтобы качество финального рендера не делало каждую итерацию мучительно медленной.

Готовая бесплатная модель полезнее десятка теорий

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

Такой разбор не дает готовую архитектуру Builder, но резко сокращает количество предположений. Мы начинаем проектировать не по картинке персонажа, а по реальным данным, которые должен уметь понимать инструмент.

Главный вывод оказался простым: character builder - это не генератор внешности. Это система совместимости между телом, ригом, одеждой, жесткими объектами, материалами и рендером. Пока эти уровни не формализованы, любая красивая демонстрация остается набором удачных исключений, а не настоящим конструктором.