Pull to refresh

Comments 23

Тема очень интересная. Но после прочтения статьи, осталось ощущение, как в той картинке «Как нарисовать Сову».
Да, интересная тема. Сколько весит файл .obj из примера после экспорта?
Сколько нужно Внутренней Памяти(ОЗУ) и/или Графической памяти при экспорте и работе с Hi-poly(примерно, 1 — 3 миллиона), Mid-poly — среднее количество полигонов, Low-poly(примерно 5 — 10 тысяч)?

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

Простите, что? А чем же я занимался лет 6 своей жизни тогда? А я вам скажу. Из бокса лепил домики по чертежам с точностью до миллиметра. И полигональное моделирование для этого подходит более чем прекрасно.
Имеет смысл поправить: привязка к единицам измерения во многих программах, всё-таки, есть. И в «мэйнстримовском» софте (типа Майи или 3DS Max) и в «альтернативном» (например, в Blender'е) имеются настройки для «калибровки» сцен в удобной метрике. Как сейчас модельки на печать выводить без этих настроек?
Предлагаю взять Zbrush для скульптинга и 3D Coat для ретопологии и развертки.


Отличный выбор! Приготовьте 994$. :)
Тогда еще придется раскошелиться на попугая на плечо :)
Без ампутации ноги не аутентично.
Тогда еще придется постелить на пол коврик, стилизованный под палубу, чтобы ходить по нему, покачиваясь и выражая недовольство через «arrrr!!!».
А можно взять бесплатный blender где в бетке 2.8 неплохо так допилили режим скультинга.
Вроде в Blender давненько z-brush есть?
Можно. ) Правда, в бетке 2.8 ничего у скульпта не допиливали, к сожалению. И судя по блогу, в ближайшем будущем не собираются.
Тут нам нужно фактически вручную рисовать полигоны.

Для Blender'а есть addon'ы, которые позволяют сильно упростить процесс создания топологии по готовой скульптуре: от полностью автоматического (например, DynRemesh) до режима «ручного управления» (RetopoFlow).

Вокруг глаз и рта полигоны выстраиваем кругом.

Понимаю, что картинку с топологией лица вы использовали больше для наглядности, чем для «красоты», но нужно понимать, имхо, почему некоторые полигоны строятся по окружностям. Точнее — по кольцевым формам. Вообще, топология лица модели в идеале должна воспроизводить натуральную структуру мышечных волокон лица живого человека. При анимации модели мимика, выраженная в деформациях сетки, будет приближена к естественной. В противном случае получим что-то ненатуральное.
Кстати, чаще всего у полигона четыре грани, но бывает и три.

А почему так? Было бы неплохо привести какое-нибудь сравнение

Четырёхугольники удобны для так называемого моделирования в режиме subdivision surface (разбиение поверхности на более мелкие полигоны). Применяется для моделирования сглаженных поверхностей с высокой детализацией. С четырёхугольниками на таких поверхностях не возникает искажений / артефактов. Треугольники же, если они есть в модели, могут вносить сумбур и «глюки» в структуру. Треугольники «прокатят» для низкополигональных (low-poly) моделей, которые чаще используются в играх.

Можно погуглить эту тему, ещё проще и быстрее — глянуть ролики на Youtube.
Я читал, что экспорт моделей из того же 3ds Max разбивает все квады на треугольники, т.к. драйвера OpenGL и DirectX, например, работают только с треугольниками. Значит, искажения/артефакты возникают на стадии моделирования, но не использования?
Формат .fbx так работает, да. И для лоуполи модельки это не будет принципиальным моментом. При экспорте сохранятся группы сглаживания и координаты развертки. Но вот если моделировать, скажем так, для картинки, то именно из-за алгоритмов сглаживания полигоны, которые имеют не 4 вершины, а больше или меньше, дадут артефакты. Там не будет нормально рассчитываться свет и текстуры поползут не пойми куда. Получится просто темное или светлое пятно непонятной формы.
Subdivision surface — математическая процедура, описанная алгоритмом, сглаживает всё, что ей предложат. Применяется, в основном, для визуализации, но не в «real time». Если на входе — сетка, состоящая из треугольников, то результат сглаживания непредсказуем. И не важно, готовая это модель или ещё в процессе создания.

Экспорт в формат 3ds, возможно, разбивает поверхность на треугольники. В Blender это лечится нажатием 4 клавиш (последовательно — 2+2). Сейчас «тридэшники» экспортируют в основном в OBJ или FBX (более продвинутый формат обмена, придуманный Autodesk на замену 3ds). Оба формата сохраняют правильную топологию из четырёхугольников.

Как это всё согласуется с драйверами OpenGL и DirectX — интересный вопрос, сам бы хотел знать :)
Если на входе — сетка, состоящая из треугольников, то результат сглаживания непредсказуем

Ну вообще-то предсказуем, osd также разбивает треугольники на 3 четырёхугольника и продолжает работать (а теселяционные шейдеры в dx и ogl так вообще работают только с треугольниками). И вообще причина в четырёх угольниках как стандарт виновата pixar из-за своих видней в реализации сабдивов и из-за ptex формата.
Сейчас «тридэшники» экспортируют в основном в OBJ или FBX (более продвинутый формат обмена, придуманный Autodesk на замену 3ds). Оба формата сохраняют правильную топологию из четырёхугольников.

ну вообще-то это не так, obj создаёт огромные файлы и грузится слишком долго, fbx вообще от версии к версии меняется и не сохраняет обратную совместимость, к тому же формат закрытый. Нормальные студии используют Alembic, а в последнее время все потихоньку переползают на USD.
Ну вообще-то предсказуем

Если OpenSubDiv в теории проделывает некоторую полезную работу, это ещё не значит, что на практике всё замечательно: треугольники в структуре топологии модели не проявляют себя только на сплошных гладких поверхностях (пусть даже равномерно изогнутых). Во всех остальных случаях, особенно на контрастных сгибах, — искажённая геометрия.

Нормальные студии используют Alembic, а в последнее время все потихоньку переползают на USD.

Кстати, да, полезное замечание.
Я имею небольшой опыт работы в 3DS Max/Blender/Fusion360 и потому меня подобные статьи очень интересуют — однако после прочтения этой у меня возникло ощущение смятения: Много моментов показались спорными, например, как можно было смешать в одно мух и котлетами — полигональное, примитивы и сетка, NURBS, САПРы… Т.е., возможно, это я где-то чего-то недопонимаю, то ли автор где-то намеренно упрощает для новичков, то ли автор где-то ненамеренно сам ошибается… Вероятно, для совсем новичков все ок, для опытного — тоже, он и так все понял, а для меня — «эм, я запутался… :(»
Автору спасибо за тему — мне такие посты крайне интересны, т.к., как минимум, комменты можно крайне полезные почерпнуть. Надеюсь, мое ворчание будет воспринято, как обратная связь и последующие статьи будут лучше и еще полезнее!
Sign up to leave a comment.

Articles