Shuttle Spacecraft
Всем привет.
Решил сделать свою первую хорошую работу для публикации на артстейшене. Сам работаю в игровой студии. Занимаюсь космическими кораблями. Поэтому первая публичная работа на площадке будет в этой тематике.
Долго с выбором концепта не возился. Нашел в своей коллекции сохраненных работ не слишком сложный, но и не слишком простой вариант. Собирался сделать как можно быстрее. Заодно параллельно пройти курс Cargo Spaceship by Vaughan Ling (2019). Там уклон идет на быстрое моделирование под концепт-арт. Мне было интересно повозиться с новым билдом интерфейса, предоставленного автором. Но работал он на половину. Профита сильного от него не было. Так что продолжил работать с привычным мне билдом.
https://www.artstation.com/artwork/Xnk2Q за авторством 鄂 零.
Блокаут
Первое с чего начинаю свою работу, это с построения блокаута. Создаю основные формы, смотрю пропорции, соотношу элементы и стараюсь добиться максимального подобия 3д болванки с концептом. Основные формы отмечаю красными линиями, средние формы зелеными, синими отметил форму, которая отличается от остальной большинства форм корабля. Прорисовывая линии я помогаю себе понять как выстроена форма. Это эффективнее, чем просто смотреть на концепт.
Сложностей не возникло, но в какой-то момент понял, что двигатель расширяется от центра корабля к снаружи. После того как это подметил всё формы наконец сработали. И только когда уже перешел после этапа блокаута к проработке форм выяснил, что в этом корабле-бутерброде, нижняя половина имеет скос. Пока я не уяснил этот нюанс, линия посередине, разделяющая корабль на верх и низ, у меня была не параллельна верхней части, а была под сильным наклоном.
Обратная сторона
Автор концепта изобразил лишь одну сторону корабля. Обратную сторону нужно продумывать самостоятельно. Для этого добавил фигуру человека в проект, чтобы понять размерность форм и деталей относительно человека. Это сильно помогает в дальнейшей работе над концептом и моделированием.
На концепте нижней части мне достаточно было придумать основные формы, а детали можно будет набросать уже после создание этих форм в 3д
Развитие форм и игнорирование прокрастинации
Дальше наконец смело начинаю развивать формы. Обогащать их средними и малыми формами. В этот момент важно просто начать делать, потому-что приступить к этому этапу мне далось не сразу. Представляю весь объем работы и прокрастинация стала появляться в моей голове. Я рандомно выбрал для проработки зону двигателя. Потому-что не важно с чего начать, главное начать.
Часто бывает что концепт сложно перенести на 3д, ввиду нарушения линиями перспективы. В такие моменты ничего не остается, кроме как самому принять решение как лучше всего выстроить форму, чтобы выглядело правдоподобно, не рушило образ и решало визуальные задачи. В моей работе такие места конечно же были, но это такие нюансы, о которых хочется упомянуть лишь общими словами и детально не заострять на этом внимания.
Проработка, проработка...
На этом этапе я подсматриваю ранее собранные референсы. Анализирую похожие объекты, смотрю логику построения и наполнения деталями. Я решил что эта работа будет не реалистичная, а в какой-то мере стилизованная, как и концепт на мой взгляд.
Рефов не много. Планирую на этапе текстуринга пополнить коллекцию. Собрал как реальные изображения, так и хорошие работы других художников. Они мне помогли на этапе концепта нижней части.
Лоуполи
В этом этапе важно понять какой рабочий ракурс от модели и какую угловатость мы ожидаем видеть. У меня требований со стороны движка или заказчика не было. Так что выбирал требования под свой вкус. Решил что хочу на крупных ракурсах иметь едва заметную угловатость. Прикинул тексель денсити в 256 пискелей на метр. Чтобы это понять нужно поставить метровый кубик около модели. У меня разрешения экрана по высоте 1080. Значит в текселе 256 этот метровый куб должен занимать 256 пикселей из 1080. То есть примерно 1/4.
Теперь, когда мне нужно было понять что отбивать геометрией, а что запекать, я приближался к поверхности на расстояние рабочего ракурса и смотрел насколько форма силуэтна. На примере ниже я решил по такой логике добавить фаску на лоуполи. Альтернативный вариант - это сэкономить полигонаж и не добавлять фаску на луополи, Но цели лоуполи не только быть экономной, но и работать на визуальное представление образа. Пользуясь исключительно правилом рабочего ракурса количество треугольников получилось почти 33 тысячи.
UV
Как я писал ранее моя цель то тексель равный в 256. Благодаря удачным стечением обстоятельств и нескольким дням развертывания добиться ровно текселя в 256. Кажется только один шел у меня вышел на 245. Понадобилось 2 квадратные текстуры на 4096 и 1 на 2048. Не все игровые движки могут работать с юдимами, но меня для презентационной работы это не ограничивает.
Раскладывал вручную, без использования автоматических пакеров. Мне важно было адеватно распределить шелы и как эту адевкатность объяснить автоматическому пакеровщику. Визуальное разделил геометрию лоуполи по цветам, чтобы мне было проще ориентироваться в дальнейшем, где красный - первый юдим, зеленый - второй, а синий - третий.
У меня есть одна большая геометрия, которая располагается во всех 3 юдимах. И есть объекты поменьше, которые заполлняют свободные пространства. Ниже приложено изображение с полной юв разверткой. Другие объекты лоуполи, которые располагаются в первом, втором или третьем юдиме имеют соответствующий цвет на луопол.
На скриншоте ниже может показаться что часть модели имеет разрешение текстуры больше, чем другие. Просто проверочная текстура имеет один и тот же размер на всей модели, а вот шелы у третьего юдима увеличены в 2 раза, чтобы заполнить квадрат юв.
Для наглядности сместил все шелы за пределы квадрата, чтобы на сером фоне юв читалась лучше.
В процессе развертки в блендере активно пользуюсь системой Live Unwrap. Поэтому на скрине часть точек красная. Live Unwrap позволяет закрепить часть точек на юв пространстве, а остальные точки шела должны автоматически подстроиться так, чтобы растяжки в шеле были минимальны. Удобно в случае выравнивании ребер шела.
Запекание
Этап важный. От него напрямую зависит качество текстурирования.
Придерживаюсь этих принципов:
- Иметь как можно более быстрый и качественный процесс. Я использую мармосет для запекания. Есть свою проблемные нюансы, но свою работу делает.
- Фаски не должны прерываться. Ниже на скрине в зеленой рамке как должно быть, в красной как быть не должно, иначе генераторы на этапе текстуринга будут накладываться не удобным образом. Будут выглядеть артефачно
- Чем лучше отработано по правилу рабочего ракурса, тем лучше лоуполи отрабатывает хайполи в необходимом текселе текстур. Это позволяет избежать большинства артефактов на скруглениях.
- Фаски на хайполи должны быть больше пикселя на запеченной текстуре.
- Где-то намеренно искажаю хайполи, чтобы подогнать форму или фаски под нужное расстояние до лоуполи. Допускается если изменения не сильные и если хайполи не идет на съемки в крупном ракурсе.
- Не дорабатывать артефакты в ручную, а добиваться хорошего результата сразу после запекания. Если работа срочная и не потребует правок, то могу игнорировать этот пункт и доработать вручную. Но это случается крайне редко. Может раз в пару лет.
Так выглядит итоговое место. Линии ровные, верно описывают кривизну поверхности: выпуклости и вогнутости.
Запеченные текстуры на модели выглядят так. Есть еще картай ID, position. Но не вижу смысла их показывать, не самые интересные карты)
На данный момент WIP подходит к концу. Дальше предстоит этап корректировки нормалей лоуполи объекта, Запекание карты нормалей. И планирую долго возиться с текстурами. Часть детализации добавлю через сабстанс дезайнер, чтобы дополнительная детализация проявлялась на курватуре, ао и карте нормалей.
Благодарю за внимание!