3D Battle CGEvent 2017. Разбор полетов (часть 2. Техническая)
Продолжая тему баттла, начатую в предыдущем посте 3D Battle. Разбор полетов (часть 1), разберем теперь конкретные решения и технические ошибки участников. Поскольку сами по себе картинки не всем понятны, я постарался снабдить их комментариями так, чтобы даже начинающие могли понять суть. Осторожно дальше много картинок.
Внимание! В данном посте я не пытаюсь сравнивать пакеты или работы участников. Это просто подборка типовых ошибок для того, чтобы участники получили обратную связь, а новички могли научиться анализировать модели. То, что в картинках полно ошибок — это оттого, что я СПЕЦИАЛЬНО их так подбирал. Не надо делать «могучих» выводов о преимуществах 3D-пакетов и, пожалуйста, удержитесь от комментариев в адрес участников. Не забывайте, что они делали работы в стрессовых условиях (мало того, что на время, да еще и на незнакомой ненастроенной машине) и у них не было возможности переделать работу даже тогда, когда они понимали, что «накосячили». Показательно, что все, кто обнаружил артефакты моделирования (т.е. столкнувшись с последствиями неудачного выбором метода моделирования) продолжали бороться и заканчивали модель.
Меш Цельный или Раздельный
Первая проблема, которую пришлось решать участникам: как моделировать форму — единым объемом или раздельно по частям.
В полигональном моделировании это прям философский вопрос. Вообще меш (англ. Mesh) — полигональная сетка, общее название используемое 3d-шниками для обозначения конечной геометрии. Сама по себе геометрия может быть как единой полигональной сеткой, так и раздельными фрагментами входящими в состав объекта.
С точки зрения визуализации (то есть получения просто картинки) обычно без разницы цельный меш или раздельный, т.к. никто разбирать объект не собирается.
Однако, раздельный меш в низкополигональном (Low-poly) моделировании часто позволяет получить меньшее общее количество полигонов за счет отсутствия необходимости отрабатывать линии соединения частей. Да и зачастую быстрее моделировать отдельные части чем единый объем.
В высоко-полигональном моделировании ситуация обратная. Даже если объект изначально раздельный, то в ходе эксплуатации и сборки могут возникать эффекты вроде выхода клея, забивания в углах грязи. С некоторыми оговорками можно сказать, что обычно цельный меш смотрится реалистичнее, особенно если технология его изготовления обеспечивает однородность по всему объему, как, например, при литье металлов или пластмасс. Цельный меш также обычно немного удобнее при последующем текстурировании.
В качестве промежуточного вывода отметим Цельный меш делать сложнее и не всегда нужно.
По условиям соревнования можно было делать меш раздельным. Большинство участников так и поступили. Это не ошибка, это нормальное разумное решение. НО!
Самая популярная ошибка — меш не был объединен
Больше половины участников не объединили в конце отдельные части в финальный меш (за что были бы несомненно оштрафованы если бы претендовали на призовое место).
Зачем нужно было соединять все части в единый меш?
Практически все современные игровые движки работают по принципу «один объект — один меш». Да и при визуализации обычно меньше всего хочется разбираться из каких «осколков» состоит чужая модель. Если объект един в материале, то и в работе он должен быть цельным. Это вопрос удобства использования.
Почему нельзя использовать группы и иерархические связи?
Иерархии и особенно группы очень своеобразно передаются между пакетами и в игровые движки. Так, например, группы созданные что в 3ds Max, что в Maya по сути являются неконтроллируемыми иерархическими моделями. Фактически, создается некий абстрактный объект-группа, который располагается в произвольном месте и относительно него описывается расположение всех остальных объектов.
Сплайны или полигоны
У участников был непростой выбор чем моделировать: сплайнами или полигонами? Геометрически правильные формы кольца в форме сердечка на ключе безусловно навевают мысль о сплайновом моделировании. Все пакеты имеют в своем составе такую возможность, многие новички начинают изучение 3D-пакетов именно со сплайнов, так что неудивительно, что было немало работ со сплайновыми моделями.
У сплайновых моделей один существенный недостаток — странная триангуляция покрытий (разбиение на конечные треугольники верхних и нижних плоскостей). В то время как у полигонального моделирования этой проблемы нет в принципе, там регулярные четырехугольные сетки получаются естественным образом. Теоретически, поскольку в задании требовалось получить статическую высокополигональную геометрию, то сплайновое моделирование вполне имеет право на существование, но то, что оно производит многоугольные полигоны на верхнем и нижнем основании требует применения каких-то манипуляций для разбиения на более простые полигоны (треугольники или четырехугольники).
Low-Poly вместо High-Poly
Несмотря на то, что по правилам баттла нужно было подготовить высокополигональную модель, очень многие участники оставляли модель в состоянии Low-Poly. Это можно понять, ведь в реальной работе у моделеров есть привычка не применять подразбиения и сохранять исходную модель для возможности внесения правок. Собственно именно благодаря этой ошибке у нас есть так много материала к анализу.
Ну, и давайте уже, наконец, смотреть картинки.
Поскольку картинок оказалось слишком много, то я для удобства разбил их на три группы: общая форма модели, моделинг кольца, моделинг конца ключа.
Общая форма модели
Прежде чем перейти к ошибкам еще раз отмечу, что были хорошие интересные работы, которые проиграли в основном только по времени. Вот, например, очень приличная и форма и сетка. Мой внутренний полимоделер ликует.
Вот еще одна хорошая работа с небольшими помарками в сетке, возникшими, скорее всего из-за невнимательности или несвоевременной попытки оптимизации (в соревновании на оптимизацию нужно было забить).
А вот пример редкого подхода к созданию цельной модели ключа. Приличная топология, но ошибки в форме кольца и месте соединения с цилиндром.
Главной ошибкой многих участников было сильное расхождение с референсом. Модель банально не похожа на картинку.
Тонкий цилиндр ключа (или других элементов) — очень распространенная история.
И как видим не зависит от пакета, в котором работает участник.
Или вот обидная ошибка — некруглое окончание ключа. При том что сетка выполнена хорошо.
Та же история, другой участник.
И снова тонкие цилиндры.
Тут вообще с формой непорядок. Скорее всего делалось вообще без референса.
Здесь участник увлекся сплайновым моделированием и не обратил внимание на дефекты в кольце и концевой части ключа.
Тут кольцо сделано слишком просто — обычной экструзией сплайна. Для высокополигональной модели это не годится. К тому же кольцо съехало.
Снова цельная модель, но тут форма не задалась. Опять-таки похоже работа велась без референса на подложке.
Вот довольно приличная по форме модель, но цилиндр съехал и окончание не круглое.
Вообще место соединения цилиндра и кольца давало информацию о взаимных толщинах. Это место сильно разнилось в работах.
Только хардкор — только Low-poly! При том что форма схвачена неплохо.
Еще одна работа с интересными топологическими решениями, но части ключа все на разной высоте.
Тут не хватает разрезов для удержания формы под сглаживание.
Жесткий Low-poly. До High-poly еще слишком много работы
Толщина кольца и концевой части часто не давалась участникам.
Тут нужно больше практики в создании четких высокополигональных форм.
Форма сильно не очень.
Проблемы сплайнового моделирования, помноженные на неаккуратную симметрию.
Low-poly и без надежды на выход в High-poly
Слишком сегментированное кольцо. Без сглаживания это не вариант, а сглаживание съест форму.
Снова невнимательность к форме
И это не зависит от пакета.
Напоследок не мог не отметить вот эту работу. Очень интересная сетка. Умелое использование фасок. И пусть вас не смущают треугольники на конце ключа. Если фаски отработаны верно, то для высокополигональной модели это не проблема.
Продолжение следует…
Пожалуй, следующую порцию снова придется вынести в следующий пост…
Александр Миловский, 3D Master
Организатор и член жюри 3D Battle
Куратор секции Opensource CGEvent