Сообщество - CGI Media

CGI Media

3 105 постов 6 552 подписчика

Популярные теги в сообществе:

46

Голливуд vs Болливуд | Удивительные визуальные эффекты

Мир кино очень широк и многогранен, и одним из ярких его представителей является немного странный и трешовый Болливуд. Чем отличается подход к созданию кино в Индии и США и с какими трудностями сталкиваются артисты в южной Азии.

134

Продолжаю делать свой фильм "11vs21"

Готово пока только 82 сцены, озвучка выполнена частично.

Сюжет рассказывает о противостоянии людей из раннего средневековья и людей 21 века.

ПО: Блендер, Крита, Пасьянс Паук.

Все делаю сам кроме музыки.

https://youtu.be/nmarB_JHLsE

Показать полностью 3
17

Магия конфигов или Настройка интерфейса ZBrush | FAQ ZBrush

Добрых времён, пикабушники!

Сегодня в рамках уроков по частым вопросам ZBrush разбираемся с тонкостями настройки интерфейса и сохранения конфигов для переноса их от версии к версии.

Режим Enable Customize

• Для кастомизации интерфейса ZBrush необходимо включить режим Enable Customize в палитре Preferences - Config

• После активации режима доступно перемещение любых кнопок и слайдеров в пространстве интерфейса с зажатыми Alt+Ctrl

• Чтобы убрать любой элемент с полок, нужно, удерживая Alt+Ctrl, перетянуть элемент в пространство холста

• Когда интерфейс будет настроен, функцию Enable Customize нужно отключить


Сохранение кастомизации в файл

Файлы конфигураций интерфейса хранятся в Windows по пути - диск\Users\Public\Documents\ZBrushData****\ZStartup.
Дефолтный файл, который записывается через Store Config, называется CustomUserInterface****. Именно в этот файл пишется информации при сохранении конфигурации через Store Config.

Сохранение собственного интерфейса можно получить двумя путями:

• Сохранить всю конфигурацию через Store Config. Только при таком сохранении все настройки интерфейса, включая цвета и плавающие палитры, будут подгружаться при каждом запуске.

• Сохранить собственную конфигурацию через функцию Save Ui. Может быть получен в исходном виде только через ручную загрузку (Load Ui)

С изменением версии ZBrush можно подгружать любые варианты из сохранённых файлов. Например, для сохранения основных настроек программы держать файл "Main". Добавить к нему настройку цветов и сохранить конфигурацию "Main+Colors" и так далее.

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

Важная особенность. В ранних версиях ZBrush, настройки цветов не подтягиваются при загрузке через Load Ui. Чтобы они загрузились, нужно удерживать Shift при нажатии на кнопку загрузки.

Кастомизация цвета

Цвета палитр настраиваются в Preferences - IColors. Зажимая по любому цвету-пикеру, можно перетаскиванием прицела ловить любой цвет из интерфейса.

Экспорт данных палитры цвета доступен через кнопку Save Ui Colors. Загружать сохранённые цвета можно кнопкой Load Ui Colors. А далее работать с ними по алгоритму сохранения конфигов, описанному выше.

Кастомизация и назначение хоткеев в ZBrush

Назначение хоткеев на любую команду или кнопку происходит путём нажатия Alt+Ctrl+ЛКМ-клик. После чего можно нажать нужный хоткей (или сочетание клавиш).

Экспорт списка хоткеев из ZBrush осуществляется из палитры Preferences - Hotkeys - Store (или Save). Отличие в том, что Store сохраняет файл сразу в каталоге автозапуска :\Users\Public\Documents\ZBrushData2022\ZStartup\Hotkeys с нужным названием. Save же сохранит файл в каталоге и с именем, указанные пользователем.

Внимание. Функция Store Config из субпалитры Config. описанная в начале статьи, не работает для хоткеев! У них своя логика сохранения.

Кастомизация палитр

Создание собственной палитры доступно в Preferences - Custom Ui в режиме Enable Customize. Нужно задать имя будущей палитры, после чего она появится в верхнем основном меню. Новую палитру можно наполнять так же, как и любые области интерфейса, а для промежутков использовать заглушки из субпалитры Custom Ui.

Назначение горячей клавиши (или сочетания) на всплывающую палитру достигается кликом по заголовку с Alt+Ctrl. После чего нужно сохранить общую конфигурацию, и конфигурацию хоткеев, как говорилось выше, чтобы изменения сохранялись при каждом запуске.

Показать полностью
13

Быстрый драфт 3D-модели: особенности софта и вещи, на которые стоит обратить внимание

Любая большая модель начинается с быстрого драфта, эдакого трёхмерного «наброска», для создания которого достаточно самых простых форм и приёмов. На серии стримов мы подробно поговорили об этом этапе работы с Дмитрием Копейкиным — 3D-художником, который работал над World of Tanks, War Thunder, Escape From Tarkov, и преподавателем курса Draft Punk.


В тексте собрали ключевые моменты серии, в которой также затронули тонкости выбора софта, работу с референсами, типичные ошибки на этапе драфта и способы профессионально реализоваться в области 3D.

На стриме Дмитрий работал в Maya и кратко рассказал о плагинах, которые он использовал, а за основу для модели взял концепт-арт выше.


— Material Manager 5 — компактный менеджер материалов.


— AMT Normal Tools — плагин, который позволяет создавать сглаженные грани, но при этом не ломать их шейдинг.


— Interactive Bool Tool — плагин для более удобной работы с «булианами».


— UVL — инструмент, который позволяет делать UV-развёртку прямо в Maya, а не открывать её в отдельной программе.


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


Что такое драфт

Как и в любом арте, в 3D есть этап наброска. По словам Дмитрия, драфт (его же иногда называют «блокаутом» или «бейзмешем») — очень важная фаза создания модели, так как на ней можно допустить самые неприятные ошибки. Даже оружие с правильной топологией и хорошим шейдингом в итоге может оказаться совсем не похожим на референсы и не передать зрителю те эмоции, которые в него закладывались, если у него был плохой драфт. На нём у художника уже должно быть полное понимание модели.

[На этапе драфта] у вас не должно оставаться никаких вопросов: что и куда стыкуется, как та часть соотносится с этой и так далее.
Дмитрий Копейкин
3D-художник, преподаватель курса Draft Punk

В то же время в драфте можно не следить за полигональной сеткой — всё внимание должно быть направлено на детали, ритмы и пропорции.


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


Разбиение на основные элементы

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

Самые большие ошибки в модели появляются именно на этапе драфта. Люди могут строить оптимизированную сетку, делать качественную хай-поли модель с идеальным шейдингом, но при этом забывают про основные пропорции, и на выходе получается модель, которая от них не требовалась. А вот на драфте мы можем очень быстро всё это править.
Дмитрий Копейкин
3D-художник, преподаватель курса Draft Punk

Базовые форму будущей повозки


Сначала Дмитрий не обращал внимания на пропорции и просто создавал основные составные элементы модели вроде бочки и колёс. В разговоре о масштабе он затронул тему референсов и посоветовал брать фото в качестве примера будущей модели, не пытаться подстроить камеру 3D-пакета под ракурс картинки и так тренировать свой «глазомер». Хотя заказчики иногда присылают заготовки или вспомогательные объекты, чтобы художнику было проще определиться с пропорциями. Например, руку персонажа для оружия.


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

Промежуточный этап работы над повозкой


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


Особенности работы на этапе драфта

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


Какого-то «правильного» порядка «заливки» нет, но на курсе драфт советуют красить после основной работы над ним.

Драфт повозки «в цвете»


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

Дмитрий добавил брезент под решётку на бочке — необязательную, но важную для внешнего вида модели деталь


Кстати, работа над деталями также зависит и от «будущего» модели. Например, повозке для RTS не нужна особая детализация, так как игрок её просто не заметит. По словам Дмитрия, всегда нужно отталкиваться от того, с какого ракурса зритель будет смотреть на вашу работу. А особого перехода к «этапу детализации» нет — количество мелких элементов наращивается постепенно по мере проработки драфта.


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

Слева — готовая модель, справа — драфт


Основные ошибки на этапе драфта

Одна из самых частых ошибок в наброске модели — злоупотребление угловатыми элементами. Хотя топология на этой фазе не важна, лучше стремиться к наиболее плавным формам, если их требует референс. В противном случае «угловатости» могут запутать при работе с пропорциями — к примеру, цилиндр с шестиугольником в основании даёт совсем не те ощущения, что цилиндр с двадцатиугольником.

Слева — неправильный драфт, справа — правильный


Другая типичная проблема заключается в «сшивании» элементов в один большой объект. Дмитрий показал это на примере чайника, у которого геометрия носика — одно целое с основой. Гораздо лучше составлять такие детали из нескольких простых объектов. К тому же, при таком подходе намного проще вносить изменения в модель — отдельный носик легче повернуть, чем часть цельной геометрии.


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

Детализированный драфт в цвете


Разный софт и первые шаги в индустрии

По мнению Дмитрия, каждому 3D-художнику необходимо знать ZBrush. Даже в Hard Surface эта программа может сильно ускорить работу — например, с плавными формами, вспомогательной геометрией и шейдингом. К тому же, в ZBrush можно разнообразить внешний вид модели с помощью мелких деталей вроде сколов металла.


Иногда в студиях есть конкретные требования к 3D-пакету. Художник рассказал, что в моделировании обычно нет жёсткой взаимосвязи между «софтом» художника и игровым движком, поэтому создавать модели можно в любой удобной утилите, главное — предоставить их в нужном виде заказчику. Даже в Blizzard 3D-художники работают в тех программах, в которых умеют, а не в установленных каким-то «регламентом».


Дмитрий советует выбирать тот софт, который нравится лично вам, а не тот, который наиболее востребован индустрии — он на своём опыте ощутил, что это препятствует развитию навыков. Также стоит учитывать, что если вы овладеете основами одной программы, то сможете их легко применить и в другом редакторе, так как многие 3D-пакетов очень похожи.


От софта не зависит и точность работы, но иногда полезно доделать какой-то этап в другой программе. В пример Дмитрий привёл плавный переход куба во встроенный в него цилиндр, который гораздо удобнее и быстрее сделать в ZBrush, чем в Maya. Единственный минус такого подхода в том, что после ZBrush будет очень сложно внести в модель какие-то радикальные изменения.

Цилиндр и куб из Maya, сшитые с помощью ZBrush


Особых «законов» нет и по времени работы над драфтом. По словам Дмитрия, необязательно всегда придерживаться «правила 40 минут», которое работает на курсе Draft Punk.

[Это ограничение] даётся лишь для того, чтобы художники не уходили в какую-то сверхмаленькую детализацию и не сидели на одной модели слишком долго.
Дмитрий Копейкин
3D-художник, преподаватель курса Draft Punk

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

Детализированный драфт


На стриме Дмитрий ответил на пару вопросов о том, как попасть в индустрию. Он считает, что не стоит начинать свой «путь» в 3D с собственного дизайна — лучше побольше попрактиковаться на воссоздании готовых чужих артов и моделей, чтобы понять, как они устроены изнутри, а после этого уже учиться воплощать свои фантазии. В то же время важно пораньше озаботиться созданием портфолио. Хотя у самого Дмитрия не так много публичных работ — заказчики сами его находят благодаря хорошей репутации.


Также он посоветовал ресурсы, которые могут помочь при работе с 3D. В первую очередь в их понимании очень пригодится знание английского языка, так как большая часть игровой индустрии «говорит» на нём. Главным сайтом по теме Дмитрий назвал Polycount, но отметил, что на Reddit тоже можно найти полезную информацию.


А в работе с заказчиками Дмитрий посоветовал сразу просить референсную модель. Например, если вы делаете что-то для целого проекта, то на нём, скорее всего, уже есть похожий объект. На нём вы можете посмотреть, как можно распределить полигоны, сколько там сегментов скругления и другие детали.

Показать полностью 10
104

Карты детализации: зачем они нужны и как их использовать

Создание 3D-персонажа начинается с этапа скульптинга — это процесс, когда художник лепит в ZBrush высокодетализированную модель. Такие модели могут содержать миллионы полигонов, поэтому с ними крайне сложно проводить какие-либо операции — например, создавать риг и анимацию.


Для решения этой проблемы был придуман способ, как перенести детализацию с высокополигональной модели (Highpoly) на низкополигональную (Lowpoly). Это делается с помощью особых текстурных карт, которые позволяют сократить многомиллионный полигонаж до нескольких сотен тысяч для кино и нескольких десятков тысяч для игр. А о том, какими бывают карты детализации и как они работают, рассказывает художник по персонажам и преподаватель курса XYZ School Movie Man Артём Гансиор.


Карты детализации

Карты детализации бывают четырёх видов — displacement, vector displacement, bump и normal. По принципу работы их можно разделить на две группы. Карты displacement и vector displacement честно меняют геометрию модели, добавляя ей необходимые рельефы и детали. Карты bump и normal, в свою очередь, никак не влияют на геометрию и вместо этого имитируют наличие деталей путём смещения нормалей, то есть просто изменяют поведение света на поверхности модели.


Давайте рассмотрим каждую карту по отдельности.


Карта displacement

Displacement — это чёрно-белая текстура, каждый пиксель на которой имеет значение от 0 до 255. Когда вы накладываете её на модель, эти значения используются для определения высоты каждой точки на поверхности объекта. Высота может быть нулевой (когда точка остаётся на своём месте), положительной (когда точка выдавливается из объекта) и отрицательной (когда точка вдавливается в объект).


Карта displacement детализирует модель на этапе рендеринга. Сначала запускается процесс тесселяции — каждый полигон модели делится на четыре равных полигона, а затем ещё раз и ещё, в зависимости от заданного количества сабдивов. После этого рендер-движок берёт информацию о значении пикселя с displacement-текстуры и выдавливает или вдавливает реальные полигоны на объекте.


Главное преимущество такой системы — она даёт возможность усложнять геометрию во время рендеринга и при этом не повышать полигонаж в сцене во время работы с мэшем.

Карта displacement

Лоуполи

Результат наложения карты displacement на лоуполи


Другое преимущество — это возможность работать с SSS-эффектом (подповерхностное рассеивание света как у кожи, молока, гранита, воска и т.д.). Эффект SSS опирается на расстояния между полигонами, поэтому displacement дает наиболее реалистичный результат, полученный без «фейков».


Карты displacement используются преимущественно в VFX-индустрии. В VFX главная цель — это наивысшее качество и достоверность картинки. Displacement-текстуры позволяют легко этого добиться, поскольку они честно детализируют модели и меняют их силуэт. В игровой индустрии displacement встречается редко, так как тесселяция и расчёт смещения — это довольно ресурсоёмкий процесс, и оптимизировать его для игровых движков пока очень проблематично. Но это вопрос времени.


Важно понимать, что в карте displacement смещение происходит только по одной оси — вдоль нормали каждого полигона (другими словами, перпендикулярно каждому полигону). Это может стать проблемой, если вы захотите запечь какую-то деталь, которая смещается не только вверх, но и в сторону. Для таких случаев понадобится карта vector displacement.


Карта vector displacement

Vector displacement — это тот же displacement, только он позволяет смещать полигоны не по одной оси, а по всем трём. Это значит, что формы типа гриба, уха или рога можно запечь в текстуру и не моделить их на лоуполи. Как и displacement, эта карта взаимодействует с реальной геометрией, то есть по-честному добавляет детали в процессе рендеринга. Это даёт более реалистичный расчёт освещения и трассировки лучей.

Результат наложения карты vector displacement на объект

Для сравнения — попытка добиться той же детализации с помощью карты displacement

Так выглядит карта vector displacement для уха. Источник


Vector displacement — это довольно специфическая текстура. Её редко используют в продакшене даже несмотря на то, что она невероятно мощная и открывает поле для экспериментов. Дело в том, что она требует огромных вычислительных мощностей. Чаще всего это нецелесообразно — такого же результата, который даёт vector displacement, можно добиться менее энергозатратными способами.


Карта bump

Bump — это чёрно-белая карта со значениями пикселей от 0 до 255. Эти значения, как и в случае с displacement, задают смещение высоты на объекте. Разница в том, что bump не меняет геометрию, а просто имитирует изменение направления нормалей. Луч света, сталкиваясь с поверхностью объекта, берёт информацию о направлении нормали из текстуры и меняет свое направление. Это изменение фиксируется относительно камеры, и таким образом создаётся иллюзия рельефа.

Карта bump

Результат её наложения на объект


В целом эта система работает неплохо, но есть две проблемы. Во-первых, эта текстура работает только по одной оси и не может корректно отображать более сложные рельефы.


И, во-вторых, она никак не влияет на геометрию, а значит, на силуэт. Если мы посмотрим на поверхность модели под углом, то станет очевидно, что это лишь имитация детализации.


Главное преимущество карты bump — это низкий вес текстуры и возможность комбинировать её с другими чёрно-белыми картами (metalness, roughness, ambient occlusion и т.д.). Bump можно с успехом использовать для создания микрорельефов или для ассетов заднего плана, но с более сложными задачами она уже не справится.

Карта bump

Результат её наложения на объект


Карта нормалей (normal map)

Normal map — это карта, у которой во всех трёх RGB-каналах хранится информация о направлении нормали каждого пикселя. В процессе рендеринга эта информация используется для коррекции поведения света. То есть карта нормалей никак не влияет на геометрию объекта — вместо этого она имитирует неровности на его поверхности, заставляя свет вести себя так, как будто он взаимодействует с реально существующими деталями.

Карта нормалей

Результат её наложения на объект


Карта нормалей не увеличивает полигонаж модели, но при этом создаёт вполне реалистичный эффект рельефа. Также она позволяет избежать сильной нагрузки на CPU и GPU при просчёте финальной картинки, что сильно оптимизирует процесс и позволяет смотреть на результат в реальном времени.


Главный недостаток карты нормалей в том, что она не влияет на силуэт — по этой причине она никогда не сможет заменить карту displacement для VFX, где требуется максимальная правдоподобность. Но именно эту карту чаще всего используют в играх — в геймдеве она является стандартом индустрии.


Форматы текстур

Отдельно стоит поговорить про битность и форматы карт детализации.


Битность в картинках — это количество уникальных оттенков в палитре изображения, которые используются для представления каждого цвета. Основная масса текстур использует значение 8 бит, то есть 256 цветов (8 для R, 8 для G и 4 для B — синий обделили из-за слабой чувствительности человека к синим оттенкам). Карты diffuse, bump, reflection, roughness и другие текстуры могут использовать 8-битную систему безо всякой потери качества.


16 бит используют для карт displacement, vector displacement, normal map и вообще любых текстур, где нужна очень крутая градация цветов. Ведь 16 бит — это аж 65 536 возможных вариаций цветов, так что качество displacement напрямую зависит от битности. Также 16 бит используются для карт diffuse + alpha, когда нужен отдельный канал с прозрачностью.


32 бита используются только для карты displacement и для композитинга финальных изображений. Такое огромное количество цветов позволяет тоньше настраивать оттенки во время сборки рендерпассов. Также 32 бита используют в текстурах освещения — так называемых HDRI-картах.


В общем, 32 бита пригождается везде, где нужен огромный диапазон информации. Хороший пример — HDRI-карта с ярким солнцем. Если мы снижаем экспозицию, то всё равно видим яркую точку, а градиенты меняются. Если попробовать провести этот опыт с 8-битной текстурой, то вы получите вот это:

Вывод

Каждая из вышеописанных карт детализации имеет свои преимущества и недостатки, поэтому часто их используют вместе. В real-time движках displacement используют для придания фактуры средним формам, а normal map — для мелкой детализации. В VFX вся детализация чаще всего создается за счёт displacement, хотя для мелкой детализации bump и normal тоже используются.


Поиск правильного решения и подхода — всегда творческий процесс, поэтому удачи!

Показать полностью 15
Отличная работа, все прочитано!