Продолжаем изучать 3D и CG терминологию (Часть 2). В этой статье мы рассмотрим еще партию 3D и CG терминологии.

Источник: http://3dyuriki.com/category/cg/slovar/

Ambient occlusion (AO)

Ambient occlusion (AO) — если грубо, но чтобы доступно, то это способ затенения объектов, когда освещенность объекта (с примененным к нему AO) зависит от наличия вблизи других объектов.

Теперь подробнее. Изначально ко всем объектам в сцене применен полностью белый материал. Потом из каждой точки испускается пучок лучей во всех направлениях. Если луч встречает на своем пути какую-то геометрию (препятствие), то точка, из которой луч вылетел окрашивается в более темный цвет. Если луч не встречает препятствий, то цвет точки не меняется (т.е. точка так и остается белой).

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

Как можно использовать Ambient Occlusion.

Полученный Ambient Occlusion проход (слой, пас) визуализации можно использовать непосредственно для композитинга (подчеркнуть детали, акцентировать внимание на тенях и т.д.).

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

Третий способ (обратный предыдущему) — запыленность объекта. В этом случае, там где больше черного цвета на карте АO (под чайником, на внутренней стороне ручки чашки и чайника, под чашкой, под столом), там пыли нет. А там где максимально белого цвета (на поверхности стола, на крышке чайника, на блюдце и т.д.), там применяется материал запыленной поверхности.

И куча других способов, где нужна НЕ растровая, а динамическая (меняющаяся во времени либо от каких либо параметров) маска. Это и барашки на гребне волны, и пена на поверхности моря возле песчаного берега, и т.п.

Pipeline (пайплайн)

Pipeline (пайплайн) — это процесс разработки (подготовки, производства), программный конвейер.

В отношении 3D (трехмерной) компьютерной графики пайплайн — это цепочка процессов преобразования сценария (исходных данных) в 2D (двухмерную) или 3D (стереоскопическую) картинку или в последовательность картинок (видео).

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

Приведу как пример усредненный пайплайн анимационной студии делающей полнометражный CG-мультфильм: после написания сценария его отдают раскадровщику, который рисует ключевые кадры. Также в работу включаются концепт-художники, которые прорисовывают персонажей. Эти концепты отдают моделерам, которые используя ZBrush моделят 3D-макеты персонажей. После утверждения 3D-макетов приступают к созданию низкополигональных персонажей в Maya (или в 3ds Max, или в XSI — это кому где удобнее) с правильной топологией пригодной для анимации. После, создают высокополигональные модели в Mudbox и отдают их текстурщикам для рисования текстур. Текстуры рисуются, к примеру, в Mari сразу поверх 3D-моделей, а могут и в Photoshop. Далее 3D-модели отдают сетапщикам для привязки в Maya. Модели с готовым ригом отдают аниматорам, которые всё в той же Maya приступают к анимации. Параллельно специалисты по VFX (спецэффектам) приступают в Houdini к созданию пыли, дыма, огня, воды и прочих эффектов с частицами. Готовую анимацию персонажей с окружением отдают в отдел визуализации, где с помощью рендерера Renderman получают проходы визуализации, которые потом передают для финального композитинга с помощью Fusion.

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

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

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

Т-образная поза (T-pose, Т-поза)

Т-образная поза (T-pose, Т-поза) — поза персонажа, когда он стоит, поставив ноги на ширину плеч и разведя руки строго в стороны ладонями вниз. Для определенных целей иногда используют  слегка модифицированную Т-позу — когда ноги немножко согнуты в коленях, руки немножко опущены вниз, локти немножко согнуты, ладони направлены вперед, а не вниз.

Поза, в которой руки немного опущены вниз (где-то под углом в 45 градусов), называется А-позой. Обычно такую позу используют для пошива 3D одежды. А в последнее время её всё чаще стали использовать в производстве 3D фильмов и мультиков.

В таких позах, моделеры моделируют персонажей. В таких же позах художники рисуют концепты персонажей и модельные листы.  В такой позе создаётся скелет для персонажа.

Т-образная поза (и А-поза) облегчает процесс создание персонажа и его последующий сетап (настройку скелета и его присоединение к оболочке модели).

Сетап, риг (риггинг), cетапщик

Сетапщик, сетапер (от англ. setup — настройка) — человек, который занимается настройкой (привязкой) 3d-персонажей — сетапом, ригом, риггингом (от англ. rig — снаряжение, оснастка (персонажа)). Он создает скелет, контрОлы/управлялки (специальные управляющие 3d-элементы, за которые аниматор, дергая как за ниточки кукловод, управляет персонажем), динамику ткани, волос, селектор (продвинутая версия системы управлялок с графическим интерфейсом), занимается скинингом и т.д.

Риг состоит из таких шагов (описываю очень грубо, просто чтобы была понятна логика):

  1. Получить 3D модель от моделера в Т-позе (A-позе), ну или создать эту модель.
  2. Создать скелет внутри 3D модели.
  3. Приделать к скелету контрóлы, за которые аниматору будет удобно дёргать, чтобы анимировать персонажа.
  4. Определить связи между контролами и скелетом. Т.е. настроить этот скелет таким образом, чтобы там работала инверсная кинематика (ИК) и другие автоматически просчитываемые изменения положения костей. Это делается, чтобы аниматору не нужно было гнуть КАЖДУЮ кость. К примеру, достаточно потянуть за управлялку кисти вверх, чтобы все кости кисти (запястья), руки и плеча поднялись вверх.
  5. Привязать/заскинить скелет к 3D модели. Сюда же входит создание корректирующих блендшейпов, чтобы всякие там локти/плечи/ягодицы, при экстремальных углах изгиба, деформировались правильно.
  6. Настроить физику для разных висюлек на персонаже (ткань, волосы, верёвки, ленточки, серёжки, шнурки и т.д.)
  7. Настроить систему мышц или эффект жира (большой трясущийся живот, женские груди и т.д.)

Зачастую пункты 2, 3, 4 опускают и просто берут ГОТОВЫЙ скелет. В 3ds Max — то Biped или CAT.

Z-Depth

Z-Depth (другими словам, глубина 3d-сцены) — это графическое представление удаленности объектов от камеры в полутонах серого. Т.е. чем ближе объект к камере, тем он белее, а чем дальше — тем чернее.

Z-Depth Pass (проход при визуализации) обычно используют для имитации эффекта глубины резкости — DOF. Т.е. картинку с Z-Depth проходом применяют как маску для эффекта размытия в графическом редакторе (Photoshop, к примеру), в программе для композитинга (например, Fusion или Nuke) или в любой другой программке для постобработки. Таким образом, та часть изображения, что дальше от фокуса (белее или чернее на картинке), будет больше размываться.

Дальше идёт часть для опытных.

Требования к Z-Depth или какой должен быть правильный Z-Depth 

  1. Поскольку DOF в постобработке зачастую не дотягивает до реального (трехмерного) эффекта глубины резкости из-за нехватки информации в Z-Depth pass’е, то его (Z-Depth pass) следует сохранять с глубиной цвета 32 bit. К примеру, в формат OpenEXR (Float — 32 bits per channel).
  2. Визуализировать Z-Depth pass следует минимум в 2 раза большего размера, чем финальный рендер (можно и в четыре и шесть раз). Это делается для того, чтобы был правильный antialiasing после уменьшения Z-Depth pass’а до размера финальной картинки. Возможно, кто-то спросит «Зачем?». Отвечаю:
  3. Очень часто при визуализации Z-Depth pass’а в 8 bit + antialiasing можно натолкнуться на лесенку в градиенте. Так вот чтобы это обойти нужно еще отключить antialiasing.

Глубина резкости (Depth of Field, DOF)

Глубина резкости (Depth of Field, DOF) — понятие используемое в фотографии и обозначающее пространство в поле зрения камеры, в пределах которого объекты находятся в фокусе (т. е. получаются четкими на снимке).

Глубина резкости очень важна для передачи масштаба сцены.

Часто DOF используют для того чтобы изменить наше представление о размерах. К примеру, на фотографии ниже глубина резкости искусственно занижена (с помощью онлайн сервиса TiltShift maker), что создает эффект съемки макета, а не реального ландшафта.

Скининг (Skinning)

Скининг (от английского слова skin — кожа, skinning — процесс создания кожи, встречается также написание скиннинг) — это один из этапов сетапа 3d-персонажа, когда модель персонажа привязывается (скинится) к скелету. Делается это для того, чтобы при движении скелета двигалась и сама модель персонажа.

Это достаточно трудоемкий процесс, поскольку нужно правильно назначить вес (англ. weight) для каждой вершинки модели. Чем больше вес, тем больше влияет конкретная кость на конкретную вершину 3d-модели.

Блендшейпы (Blend Shapes), морфы (Morph), Shape key

По своей сути, блендшейпы, морфы и шейпкеи — это одно и то же, но только применительно к разным 3d-редакторам. К примеру, термин блендшейпы используют в 3d-пакете Maya, а в Blender — это shape keys, а понятие морфы — в 3ds Max, Poser.

Теперь подробно о каждом.

Блендшейпы (от английского Blend Shapes, формы для смешивания) — это 3D-модели идентичной топологии (т.е. одинаковое количество вершин и их нумерация), но с отличающейся формой.

Аналогичное значение имеет понятие морфы:

Понятие морфы походит от английского слова Morph, которое является сокращением от слова metamorphose — в переводе трансформироваться, превращаться.

Shape keys можно перевести как ключи формы (по аналогии с ключами анимации).

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

Но запомните одну деталь — вершинки (ребра, полигоны) на копиях можно только перетаскивать и ни в коем случае НЕ сшивать, НЕ удалять, НЕ добавлять новых. Иначе изменится количество вершин или их нумерация, что приведет к плачевным результатам в конце процедуры создания блендшейпов.

После подготовительной операции нужно указать 3d-редактору, где у вас базовая модель, а где модель цель (Target). После чего 3d-программа создаст управляющие элементы (ползунки) для каждого из блендшейпов. Перемещая, к примеру, ползунок «Улыбка» от 0% до 100% вы плавно изменяете выражение лица от нейтрального до широкой улыбки.

Применение блендшейпов и морфов.

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

Преимущества и недостатки блендшейпов для лицевой анимации.

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

А вообще мускульная модель и модель на основе блендшейпов не единственные методы для лицевой анимации. Есть еще кластерная модель и анимация с помощью костей.

Проходы визуализации (Render passes, Рендер пасы, Multi-Passes)

Проход визуализации (от английского render pass) или рендер элементы (render elements) — это изображение, которое получается в процессе рендеринга определенного свойства 3D-сцены отдельно от других свойств. Используется для композитинга финальной картинки.

Основные типы проходов визуализации:

  • Основной проход визуализации (не нашел я более подходящего перевода для английского термина beauty pass) — это финальная скомпонованная картинка, полученная прямо из рендерера, которая включает в себя ВСЕ проходы: отражения, освещение, волосы, спецэффекты и др.
  • Цветовой проход (diffuse pass или color pass) — это чистый цвет текстур и\или шейдеров. Т.е. визуализируется полноцветное изображение объекта, состоящее из рассеянного (диффузного) освещения (diffuse illumination, еще можно встретить название ambient light — общий свет, рассеянный свет, т.е. свет, не исходящий из каких-то конкретных источников и дающий равномерное освещение всем поверхностям независимо от их ориентации) + цвет + цветовая текстура (color map) или шейдер. Цветовой проход НЕ включает в себя: отражения, блики, тени (которые обычно являются отдельными проходами).
  • Проход световых бликов (highlights pass), еще называют specular pass, делается для визуализации бликов от источников света.
  • Проход отражений (reflections pass) включает отражение окружающих объектов, собственные отражения или отражения окружающей среды. Этот проход может полностью заменить или дополнить проход световых бликов.
  • Проход теней (shadow pass) включает в себя все тени, которые отбрасывают объекты в сцене.
  • Проход освещения (lighting pass) — это когда, вместо визуализации основного прохода (beauty pass) за раз, визуализируется несколько проходов освещения. Т.е. каждый проход освещения показывает влияние только одного источника света (либо одной группы источников) на 3D-сцену.
  • Проход эффектов (effects pass) делается для отдельной визуализации спецэффектов или масок для них. Это может быть огонь, дым, вспышка молнии, отсвет, блик в объективе, объемный свет и т.д.
  • Проход глубины (depth pass) еще имеет названия z-depth (глубина 3D-сцены) или depth map (карта глубины).
  • Проход ambient occlusion (сокращенно AO pass). И много других.

Зачем использовать проходы визуализации?

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

  1. Экономия памяти. Из-за визуализации за один проход каждого объекта отдельно, а не в купе с остальной сценой, мы значительно экономим на используемой оперативной памяти. Таким образом, даже очень сложные сцены можно отрендерить на обычном домашнем (маломощном) компьютере.
  2. Легкость правок. Все последующие изменения на финальной картинке можно делать без повторной визуализации. В крайнем случае, придется заново отрендерить всего лишь один из проходов.
  3. Интеграция с натурными съемками. Визуализированный отдельно персонаж с отдельным проходом теней можно с легкость вставить в живое видео или фотографию.
  4. Эффективное использование фона. Если у вас есть сцена, где находится анимированный персонаж на статичном фоне, то НЕ нужно визуализировать этот фон в каждом кадре. Достаточно отрендерить фон один раз и использовать его на протяжении всей анимированной последовательности.
  5. Повторное использование. Очень эффективно можно делать сцены массовки и подобные, когда один и тот же объект используется несколько раз в сцене, но в другом месте и времени. А если наложить сверху слой корректирующий цвет объекта, то получим сложную детализированную сцену с минимумом затрат.
  6. Быстрые размытые отражения. Отражения можно заблурить уже на стадии композитинга, что устраняет необходимость медленной (ресурсоемкой) визуализации размытых отражений.
  7. Один проход эффектов можно использовать для получения нескольких разнообразных эффектов во время постобработки.
  8. Бамп можно выборочно применять к отражениям, основному пасу либо пасу освещения, вместо того, чтобы использовать одну и ту же карту бампа на всех элементах.
  9. Сияние (отсветыglow) можно добавлять (и управлять) уже на стадии постобработки, просто накладывая на финальную картинку немножко заблуренный проход световых бликов.
  10. Эффект глубины резкости (DoF) можно с легкостью создать во время постобработки без необходимости значительно увеличивать время визуализации. Для этого достаточно  размыть слои заднего плана, которые были предварительно визуализированы по отдельности. Или же можно использовать проход глубины как маску для размытия. Этот же проход пригодится для создания эффекта воздушной перспективы и других подобных.

HDR изображение

HDRI – это аббревиатура от High Dynamic Range Image, т.е. изображение, которое обладает очень большим диапазоном яркостей.

Дальше привожу грубое, но, надеюсь, понятное объяснение.

Если мы фотографируем яркое небо с солнцем, то получаем нормальное изображение только неба, а все что на земле будет черным:

Если же фотографировать красивый пейзаж в яркий солнечный день, то все что на земле мы получим красивым, а небо будет засвечено – одно сплошное белое пятно:

Это происходит из-за того, что большинство фотоаппаратов обладают маленьким динамическим диапазоном. И поэтому могут хорошо «видеть» либо темные участки, либо светлые (но не всё вместе).

Вот для этого и создали формат HDR, который содержит необрезанную информацию обо всем яркостном диапазоне.

HDR-изображение (к примеру, такое как представлено в начале статьи) может быть получено либо:

  • честным путем. Для этого покупаем дорогую HDR-камеру, которая сразу фотографирует во всем динамическом диапазоне.
  • хитрым путем. Когда обычным фотоаппаратом делается серия фотографий с разной выдержкой. Если грубо, то одна фотка должна быть с засвеченным небом, другая – с черной землей, а на третьей будет что-то среднее между предыдущими двумя. Потом все это собирается в одно изображение в специальном редакторе или в Photoshop.Изображений не обязательно должно быть три. Их может быть и больше и меньше. Но чем больше изображений тем более детальное (точное) получится HDRI.

Теперь самое главное.

Полученное изображение можно сохранить в формат когда теряется вся яркостная информация (такими форматами являются .jpg, .png и другие). Т.е. на выходе мы имеем красивое усредненное изображение. А можно сохранить в формате .hdr с сохранением всего диапазона яркостей.

Именно такие 32-х битные изображения (чем большая битность изображения, тем больше информации о цвете/яркости содержит такое изображение) в формате .hdr и используются в 3D в качестве карт окружения.

Поэтому если вы хотите получить фотореалистичное изображение (реалистичные отражения на блестящих объектах) в результате визуализации, обязательно нужно использовать именно HDR-окружение (HDRI виртуальных студий) либо имитировать настоящее окружение.

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

Voxel (воксель)

Если грубо, то воксели можно представить себе как трехмерные пиксели или как аналог атомов в компьютерном мире. Т.е. 3D объект можно представить состоящим из маленьких кубиков. Каждый такой кубик и будет вокселем.

Само понятие voxel (воксел) образовано от слияния двух слов volumetric и pixel (объемный и пиксель).

Если сравнивать моделирование вокселями с моделированием полигонами, то это как создание бюста в реальной жизни из глины (где частички глины выступают в роли вокселей) по сравнению с созданием бюста из кусочков бумаги (где кусочек бумаги выступает в роли полигона). Т.е. если вы проткнёте пальцем бюст из глины, то получите углубление по форме пальца. А если проткнёте пальцем бюст из бумаги, то получите просто дырку, через которую можно увидеть внутреннюю сторону полого бюста.

Это не просто теория. С помощью вокселей уже давно можно моделировать в таком редакторе, как 3D-Coat. ZBrush использует технологию вокселей для булевых операций над сабтулсами (только для внутренних расчётов). А Houdini так вообще пропитан вокселями (воксельные флюиды, к примеру) с давних времён.

Camera Projection / Mapping

По сути, Camera Projection и Camera Mapping —  это одно и то же. Если грубо, то это процесс, который позволяет из фотографии сделать 3D. Причём фотография выступает в роли текстуры, которая натягивается (одевается) на очень упрощённую 3D форму.

Это «одевание» зачастую происходит через процесс проецирования. Это можно представить как проецирование фильма из кинопроектора НЕ на плоскую белую стену в кинотеатре, а на объёмную белую фигуру.

Поэтому этот процесс так и называется: camera projection — проецирование из камеры. Или camera mapping — наложение текстуры с помощью камеры.

Покажу это в картинках.

К примеру, мы имеем вот такое фото:

Эту фотографию нужно спроецировать на очень упрощённую форму:

В результате получится вот такой 3D эффект:

С помощью такого метода можно создавать целые города, равнины с холмами и скалами, замороженных во времени людей и т.д.

Преимущества Camera Projection:

  • этот метод отлично подходит, если нужно быстро создать реалистичное окружение для пролёта камеры;
  • не нужно искать правильные текстуры, можно использовать фото со всеми перспективными искажениями;
  • не нужно создавать красивую, правильную, сложную геометрию;
  • не нужно делать UV-развёртку;

Если уж речь зашла о текстурировании таким методом, то нельзя не упомянуть, что с недавних пор этот метод создания текстур (с использованием проекций и без UV) был внедрён и в V-Ray. Такая карта называется — VRayTriplanalTex. Смотрите видеоурок о том, как эта карта работает и на сколько это прикольно.

Недостатки Camera Mapping:

  • он подходит только если камера летит прямо и сквозь какие-то объекты. Если камера будет крутиться и возвращаться назад, то вылезут все косяки, ведь геометрия на самом деле плоская;
  • этот метод не подходит для игр. Ведь в игре персонажу нужно забегать за все углы и фальшивка сразу станет видна;
  • этот метод работает только если заранее известны все передвижения камеры.

Проецирование из камеры также используют в реальной жизни:

  • для отображения анимированной графики на фасадах разных зданий в ночное время, на автомобилях, на предметах интерьера и т.д.;
  • для создания декораций в 3D театрах. Это новое направление в искусстве, когда декорации в театре не настоящие, а проецируются проектором, как в кинотеатре. С той лишь разницей, что проектор стоит над сценой, чтобы актёры не отбрасывали тени.

Kitbash, китбашинг

Китбашинг (от англ. слова kitbash, где kit — это набор/комплект, а bash — это, скорее всего, импровизация или попытка) — это процесс создания новой 3D модели (персонажа, техники, да чего угодно) на основе других 3D моделек-запчастей. Обычно эти запчасти более менее универсальны как, к примеру, болты, муфты, части оружия, трубы, разъёмы, шарниры и т.д.

На картинке ниже вы можете видеть пример таких деталей-запчастей в виде набора 3D моделей для китбашинга:

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

Референс, рефы, инстансы

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

В 3D индустрии этот термин имеет несколько значений.

1. Референс — это справочная информация.

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

К примеру:

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

Также референсами называют всю информацию созданную/полученную на стадии предпродакшена:

  • концепты персонажей и реквизита (пропсов),
  • мудборды,
  • сториборд,
  • аниматик,
  • сценарий и т.п.

2. Референс — это копия 3D объекта, имеющая с ним одностороннюю связь.

В таких 3D редакторах как 3ds Max или Maya можно создавать три вида копий 3D объектов:

  1. просто копия означает полностью независимый дубликат;
  2. референсы — копии, которые зависят от родительского объекта. Т.е. если изменять родительский объект, то точно также изменится и референс. Но если менять референс, то это совсем не затронет родительский объект.
  3. инстансы — взаимозависимые копии (от английского слова instance — переводится как пример, образец). Т.е. изменяя любой инстанс, изменяются как все другие инстансы, так и родительский объект, который также становится инстансом. Здесь даже нету родительского объекта, поскольку все эти копии-инстансы — равнозначны.

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

Пример использования инстансов.

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

Image sampler и image samples для рендера

Image sampler — это, грубо говоря, генератор картинки, т.е. такой алгоритм (механизм), который рендерит/создаёт изображение.

В VRay 2.3, к примеру, можно использовать один из трёх сэмплеров: Fixed rate sampler, Adaptive DMC sampler и Adaptive subdivision sampler.

Image samples — это, грубо говоря, количество проходов (операций вычисления), которые должен совершить VRay (или другой рендерер), чтобы получить качественную картинку. Качество картинки в данном случае определяется шумностью или зернистостью изображения. Чем меньше зернистости, тем качественнее картинка.

Принцип работы.

Обычно есть три параметра:

  • минимальное количество сэмплов,
  • максимальное количество сэмплов,
  • проверяющий параметр.

Испуская каждый лучик в сцену из камеры, рендерер смотрит, сложная это часть модели или простая, насыщена она деталями или нет, ярко освещена или сильно затенена. Если сложная и ярко освещена, то для расчётов этой области берётся большое количество сэмплов. Если деталей в этом месте нет и поверхность к тому же плохо освещена да еще и плоская, то рендерер просчитывает только минимальное количество сэмплов.

Чтобы рендерер знал, достиг он заданного уровня качества или нет, существует проверяющий параметр.

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

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

Форматы FBX / Collada и Alembic

FBX

FBX — это формат обмена 3D данными, который впервые придумали в Kaydara и он использовался для обмена с FiLMBox. Впоследствии FiLMBox был переименован в MotionBuilder, а Kaydara была куплена Автодеском… FBX развивался сперва для того, чтобы:

  1. затягивать данные motion capture (сделанные в FiLMBox) внутрь 3ds Max, Maya и Softimage 3D (до XSI);
  2. потом чтобы экспортировать риг и геометрию в FiLMBox;
  3. а затем и обмениваться 3D информацией в процессе DCC (Digital Content Creation — создание цифрового наполнения), в обход MotionBuilder.

FBX поддерживает:

  • геометрию (вершины, NURBS и patch
  • материалы,
  • текстуры,
  • деформацию,
  • анимацию,
  • ограничители (constraints) и IK (цепочки инверсной кинематики),
  • а также этот формат могут расширять другие компании.

Collada

Это формат, который по принципу использования, по целям создания и возможностям близок к FBX. Разработан Feeling Software (теперь Fortem), а сейчас поддерживается Khronos group. Всё что сказано об FBX в этом посте также справедливо и для формата Колада.

Alembic

Alembic — это формат кеширования точек. Он запекает любой риг, любые ограничители и деформации в вершины и сохраняет их как есть. Он имеет механизм создания инстансов (зависимых копий) и минимизирует потребление памяти.

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

Это громкое и вводящее в заблуждение заявление! Стандарт для какой индустрии?

Должно выглядеть так «компьютерной графики для кино индустрии». Ключ к пониманию находится в секции «What is Alembic» (привожу выдержку):

Alembic не является…

  • ни наследуемым, ни процедурным инструментом для трансформации данных;
  • заменой родных форматов сцен 3D-приложений;
  • приложением по управлению ассетами (цифровыми объектами);
  • решением для хранения рига.

Однако, FBX и Collada пытаются поддерживать всё выше сказанное. Это объясняет метафору с яблоком и апельсином в начале статьи.

Alembic не является… FBX’ом или Коладой!

К слову, FBX/Collada делают честную работу, поддерживая всё на сколько возможно. Из-за этого на них вываливается много незаслуженного гнева.

Попробую пролить немного света на то, как разные индустрии по разному работают с DCC.

Игровая индустрия.

Художник создаёт ассеты и уровни в процессе DCC и они используются в игровом движке. Поскольку процесс разработки итерационный (повторяющийся) и все работы выкладываются одновременно в тестовой среде, то лучше, чтобы визуальное представление во вьюпорте DCC было такое же, как и в игровом движке, включая деформации, ограничения, ИК и т.д.

Индустрия архитектурной визуализации.

Художник создаёт картинку в процессе DCC на основе импортированных ассетов из архитектурных пакетов, таких как AutoCAD, Revit, SketchUp и т.д. Архитектор постоянно обновляет свои ассеты, а визуализатор пытается упростить свой пайплайн, чтобы иметь возможность вносить (вручную) изменения. Alembic можно было бы использовать для одного кадра высококлассной визуализации, когда нужно данные перебросить в другой пакет для освещения и рендеринга.

Кино индустрия.

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

Вывод такой: Alembic — это

  • отличный посреднический формат, когда вы можете отделить работы по сетапу от других процессов производства, как например, при создании фильмов.
  • не заменитель таких повседневных форматов по перебросу данных как FBX или Collada.

Biased и Unbiased рендеры

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

Таким образом biased рендер (читается баяст) — это рендерер, где нужно НАСТРАИВАТЬ много параметров и он ПРЕДВЗЯТЫЙ, т.е. основанный не на «правде», а на каких-то своих личных допущениях.

По другую сторону unbiased рендер (читается анбаяст)- то есть рендерер, который НЕНАСТРАИВАЕМЫЙ (не нужно настраивать — нажал одну кнопку и сиди жди, пока картинка станет красивой) и он НЕПРЕДВЗЯТЫЙ. Непредвзятость выражается в том, что анбаяст рендерер старается максимально правдиво описать поведение света. Т.е. он использует формулы просчёта, которые на сегодняшний день максимально (на сколько могут) точно описывают физические законы, происходящие в природе (как свет падает, как отражается, как преломляется, как поглощается и т.д.).

Примеры.

Часто граница размыта между настраиваемым и ненастраиваемым рендерером. Поэтому многие системы рендеринга можно назвать в какой-то степени гибридными.

Biased рендереры CPU (используют только процессор):

  • VRay.
  • Renderman.
  • mental ray.
  • Mantra (идёт вместе с Houdini, есть и режим unbiased).

Biased рендереры GPU (используют только видеокарту):

  • Redshift.
  • VRayRT (может и процессор задействовать).

Unbiased рендереры CPU:

Unbiased рендереры GPU:

Гибридные biased+unbiased рендереры.

Полноценный видеокурс по Cinema 4D

Узнать подробнее...