Детальный bump что это

В чем разница между bump, normal и displacement?

В статье мы подробно рассмотрим отличия карт bump от normal и displacement.

Вы столкнулись с трудностями при назначении карты bump на 3D-объект? Не переживайте! Многие 3D-художники, которые только начали изучать с 3D-текстурирование, испытывают сложности в этой области, не зная, какой тип карт выбрать: bump, normal и displacement.

Детальный bump что это. Смотреть фото Детальный bump что это. Смотреть картинку Детальный bump что это. Картинка про Детальный bump что это. Фото Детальный bump что это

Все три типа карт создают дополнительную детализацию на поверхности геометрии. Некоторые из этих деталей «настоящие», другие нет. Итак, попытаемся разобраться, в чем же заключается разница между картами bump, normal и displacement.

Детальный bump что это. Смотреть фото Детальный bump что это. Смотреть картинку Детальный bump что это. Картинка про Детальный bump что это. Фото Детальный bump что это

Что такое карты bump

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

Обычно, карты bump – это черно-белые 8-битные изображения. И это только 256 цветов черного, серого или белого. С помощью этих значений карты bump сообщают 3D-редактору всего 2 вещи: деформировать геометрию вверх или вниз.

Когда значения карты bump близки к 50% серого, с поверхностью геометрии практически ничего не происходит. Когда изображение ярче, ближе к белому, детали выдавливаются на поверхности геометрии. Если изображение более темное, ближе к черному, детали вдавливаются в поверхность геометрии.

Карты bump отлично подходят для создания на поверхности модели мелкой детализации, например, пор или морщин на коже. Кроме того, их сравнительно легко создать в таком 2D-редакторе, как Photoshop, помня при этом, что работать нужно только с черно-белыми цветами.

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

Детальный bump что это. Смотреть фото Детальный bump что это. Смотреть картинку Детальный bump что это. Картинка про Детальный bump что это. Фото Детальный bump что это

Что такое карты normal

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

Как мы уже знаем, карты bump используют черно-белые цвета, чтобы вдавливать или выдавливать поверхность геометрии. Normal-карты работают с RGB-информацией, которая точно отвечает X, Y и Z значениям в 3D-сцене. Эта RGB-информация сообщает 3D-редактору точное направление нормалей каждого полигона поверхности. Ориентация нормалей поверхности, которые часто называются просто нормалями, сообщает 3D- редактору, в какой цвет окрасить тот или иной полигон.

Normal-карты бывают двух типов и выглядят совершенно по-разному в 2D-пространстве.

Наиболее распространенным типом карт нормалей являются normal-карты типа tangent space, которые зачастую сочетают в себе лиловый и синий цвета. Этот тип карт нормалей лучше всего подходит для мешей, которые должны деформироваться при анимации. Normal-карты типа tangent space идеально подходят для персонажей. Для объектов, которые статичны и не испытывают деформаций, больше подходят карты нормалей типа object space. Эти карты окрашены в различные цвета и просчитываются немного быстрее normal-карт типа tangent space.

При использовании карт нормалей нужно понимать несколько моментов. В отличие от bump’а эти карты сложнее создать в 2D-редакторе типа Photoshop. Запекаются normal-карты с хайпольного меша на лоупольный. Однако, есть несколько путей их редактирования. Например, возможность редактирования карт нормалей представлена в MARI.

Кроме того, normal-карты лучше других вписываются в большинство пайплайнов. Но в отличие от карт bump в этом правиле есть исключение. И касается оно мобильного геймдева, поскольку аппаратные средства начали «понимать» карты нормалей сравнительно недавно.

Детальный bump что это. Смотреть фото Детальный bump что это. Смотреть картинку Детальный bump что это. Картинка про Детальный bump что это. Фото Детальный bump что это

Что такое карты displacement

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

Карты displacement выгодно отличает то, что их можно запечь с хайпольного меша или нарисовать вручную. Карты displacement, как и карты bump, работают с черно-белыми значениями цветов. При этом с легкостью можно использовать и 8-битные карты displacement, но лучший результат можно получить с помощью 16- или 32-битных карт displacement. И, хотя, 8-битные карты displacement лучше выглядят в 2D-пространстве, в на рендере они могут вызвать странные артефакты и пр. из-за недостаточной информации.

А вот что касается времени просчета, то тут все далеко не так круто. Создание дополнительной детализации в режиме реального времени достаточно трудоемкий процесс, с которым 3D-редактор справится не быстро. Кроме того, большинство 3D-редакторов просчитывают displacement уже на рендере. По сравнению с картами bump и normal карты displacement могут серьезно сказаться на времени рендера.

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

Детальный bump что это. Смотреть фото Детальный bump что это. Смотреть картинку Детальный bump что это. Картинка про Детальный bump что это. Фото Детальный bump что это

Одновременное использование всех карт

В некоторых случаях для одного и того же объекта можно использовать карту bump или normal в сочетании с displacement. При этом карту displacement лучше всего использовать для значительных изменений геометрии, а карты bump и normal для добавления мелких деталей.

Вне зависимости от того, какую карту вы выберите, принцип их работы необходимо понимать в любом случае, это только поможет еще лучше использовать преимущества карт bump, normal и displacement.

Читайте в нашей предыдущей статье о тонкостях displacement.

Источник

Настройка VRay материала, часть 5. Bump, Displace, Opacity. VRayBlendMtl: смешение материалов

В этой части руководства по VRay материалам мы закончим разбираться со стандартным VRayMtl и приступим к рассмотрению VRayBlenMtl.

Свиток Maps.

Следующим идёт свиток Maps (они же карты, они же текстуры, они же мапы, они же растровые изображения, они же картинки) для VRayMtl материала. Это очень удобный список, который позволяет назначить растровое изображение (Bitmap) или процедурную карту (Procedural map) на различные параметры:

Есть некоторые важные свойства к которым можно получить доступ только через этот раздел. Это карты рельефа (Bump, Displace) и прозрачности (Opacity).

Bump и Displace.

Давайте сначала разберем карты рельефа: бамп и дисплейс.

Оба этих слота позволяют использовать растровые изображения или процедурные карты для имитации неровностей и рельефа на поверхности объекта.

Bump лишь делает симуляцию без фактических изменений в геометрии. А вот Displace на самом деле разбивает и деформирует поверхность во время рендеринга.

Деформации работают следующим образом – нейтральный серый цвет [128;128;128] не меняет поверхность, более темные значения вдавливают поверхность, а более светлые области становятся выпуклыми. Чем дальше значение от серого цвета, тем сильнее эффект. Цвета карты не принимаются во внимание, имеет значение только яркость.

Bump работает быстрее, чем Displace.

Если вам нужна мощная реалистичная деформация, то нужно использовать Displace, в то время как Bump отлично подходит для подчёркивания маленьких деталей, которые не изменяют силуэт объекта. На примерах ниже вы можете увидеть разницу:

Карта непрозрачности (Opacity).

Opacity работает очень просто. Чистый белый цвет используется для непрозрачных частей материала, а чистый черный – для полностью прозрачных, все значения между –это степени полупрозрачности.

Opacity отлично помогает имитировать такие вещи как листья или кружева без использования лишней геометрии. На этом примере использована та же карта, что и в примерах для Bump:

На этом я заканчиваю с VRayMtl. Помните, что с его помощью можно создать 90% необходимых вам материалов. Однако бывают особые случаи, когда лучше подойдут другие модели материалов.

VRayBlendMtl работает по системе прозрачных слоев.

Есть основной материал Base Material, который можно покрывать другими материалами (Coat materials). А с помощью параметра Blend Amount(величина смешивания), вы можете контролировать прозрачность покрывающего VRay материала. Управлять величиной прозрачности можно с помощью цвета, растрового изображения или процедурной текстуры.

Если в качестве величины смешения использовать чистый белый цвет, то отображаться будет только Coat material. Если использовать серый, то отображаться будет 50% основного и 50% накладываемого (именно такой вариант мы видим на примере ниже). И если сплошной черный цвет, то мы увидим только Base Material.

А вот тот же самый материал Blend, но с черно-белой шахматной текстурой, назначенной на слот смешивания (Blend Amount).

Каждый нижележащий слой накладываемого материала считает все, что находятся выше его, как единый материал.

В примере ниже я добавил второй Coat материал чисто зеленого цвета к материалу из предыдущего примера:

Представляйте себе работу бленд материала, как слои в Photoshop. А серый цвет в слоте Blend Amount, как ползунок прозрачности. Если вместо цвета использовать текстуру, то текстура будет работать как маска прозрачности. Чтобы получать предсказуемый результат, лучше использовать только градации серого (ну и плюс чисто белый и чисто чёрный цвет) для параметра Blend Amount.

Вы можете использовать до 10 материалов для смешивания. Но если затем создать новый материал VRayBlendMtl и сохранить его как один из подматериалов, то сможете добавить ещё 9 материалов. И так можно повторять процедуру неограниченное кол-во раз.

Вот более сложный пример смешения четырёх материалов

Слой пыли создаётся картой Falloff, которая указывает, чтобы все полигоны, которые смотрят вверх покрывались пылью, а если полигон смотрит вниз, то пылью не покрывать.

Я уверен, что теперь вы оценили потенциал VRayBlendMtl и будете чаще использовать его в своих работах.

Источник

Создание, описание особенностей и объяснение работы карт рельефа

Материал из S.T.A.L.K.E.R. Inside Wiki

В этой статье я постараюсь объяснить создание правильных карт bump и bump# с помощью Adobe Photoshop и X-ray SDK. Думаю, с этими дополнительными составляющими текстурами много кто сталкивался, много кто искал пути правильного их создания. На самом деле, чтобы правильно создать бамп-карты, необходимо освоить как техническую сторону вопроса (делать, так сказать, «по науке»), так и практическую (различные методики работы в фотошопе, обработка текстуры, исправление возможных косяков и т. д.). В данной статье больше всего внимания будет уделяться именно первому пункту, ведь в любом деле лучше сначала выучить основы, а потом, в том числе, самостоятельно обучаясь, получить опыт в практике, улучшить свое мастерство.

При их «смешивании», получаем нормальную окраску изображения. В общем, указания по каналам в данной статье будут даваться в виде, как блок выше. Иногда в RGB каналов больше (можете сами попробовать добавлять в фотошопе). В игре используется канал Альфа 1 (его еще просто «Альфой» кличут). У него есть, разумеется, свои особые функции. Итого, вот так будут выглядеть указания по каналам:

Содержание

Теория

Для начала попытаюсь объяснить структуру основных карт и разобрать основные понятия статьи. Всё ниже написанное не обязательно верно на все 100%.

Height Map (карта высот)

Normal Map (карта нормалей)

Карту нормалей можно получить следующими способами:
— сгенерировать с высокополигональной модели в 3д-редакторе, в роде 3ds Max, zBrush.
— сгенерировать с ранее созданной карты высот с помощью одного из плагинов для Photoshop (плагин NVIDIA, плагин PixPlant, плагин xNormal)
— сгенерировать с ранее созданной карты высот в спец-прогах (xNormal, PixPlant, CrazyBump)
Если разбирать по каналам схематически, то выглядит так:

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

Детальный bump что это. Смотреть фото Детальный bump что это. Смотреть картинку Детальный bump что это. Картинка про Детальный bump что это. Фото Детальный bump что это

Детальный bump что это. Смотреть фото Детальный bump что это. Смотреть картинку Детальный bump что это. Картинка про Детальный bump что это. Фото Детальный bump что это

Источник

Тотальное 3D. Технологии рельефного текстурирования

Детальный bump что это. Смотреть фото Детальный bump что это. Смотреть картинку Детальный bump что это. Картинка про Детальный bump что это. Фото Детальный bump что этоДетальный bump что это. Смотреть фото Детальный bump что это. Смотреть картинку Детальный bump что это. Картинка про Детальный bump что это. Фото Детальный bump что это Детальный bump что это. Смотреть фото Детальный bump что это. Смотреть картинку Детальный bump что это. Картинка про Детальный bump что это. Фото Детальный bump что это

Компьютерная графика непрерывно развивается. Еще десять лет назад люди с замиранием сердца произносили магическое «3Dfx Voodoo», «затенение по Гуро», «сглаживание текстур». Тогда это были сверхсовременные технологии. Сегодня мы с тем же восторгом говорим «DirectX 10», «HDR», «шейдерная модель». Именно эти понятия ассоциируются с технологиями завтрашнего дня.

Быстрее всего среди современных 3D-технологий развивается направление, обеспечивающее максимальный объем картинки на экране, — это так называемое рельефное текстурирование. К сожалению, большинство геймеров либо вообще не представляют, что это такое, либо представляют, но очень-очень условно. Сегодня мы детально рассмотрим такие понятия, как Bump Mapping, Normal Mapping и Parallax Mapping, а также поговорим о технологии Displacement Mapping, про которую зачастую не знают даже разработчики компьютерных игр.

Предыстория

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

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

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

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

Bump Mapping

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

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

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

Normal Mapping

В Crysis объемность достигается за счет сочетания бампа, нормалей и параллакса.

На смену бампу пришло второе поколение алгоритмов рельефного текстурирования. Оно получило название Normal Mapping (иногда, хотя и довольно редко, его называют «нормалом» или «нормалями»). Главное отличие Normal Mapping от бампа — более высокая точность вычисления, которая достигается за счет добавления в карту данных об ориентации нормалей (перпендикуляров) поверхности. Еще одна важная особенность: Normal Mapping карты можно генерировать в автоматическом режиме, а не рисовать длинными зимними вечерами в Photoshop.

Смысл нормаля довольно прост: на основе текстуры высокополигональной модели строится так называемая карта разности, которая, будучи наложенной на низкополигональный объект, делает его необычайно похожей на многополигональный. Вроде бы треугольников мало, а картинка выглядит так, словно их многие миллионы. В карте нормалей цвет каждого пикселя задает ориентацию нормали в данной точке поверхности. Пространственным координатам (X, Y, Z) соответствует тройка цветов (R, G, B).

Значения R, G, B варьируются в пределах от 0 до 255, причем 127 соответствует нулю. То есть голубой цвет (127, 127, 255) описывает просто гладкую поверхность, а они на низкополигональной и высокополигональной модельке одинаковы. Это объясняет, почему карты нормалей имеют в основном голубой цвет, а детали выделяются другими цветами. Обратите внимание, в карте нормалей альфа-канал изображения содержит стандартную карту Bump Mapping. В компьютерных играх карты нормалей совершили настоящий переворот.

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

И хотя преимущество Normal Mapping очевидно, приходит время, когда и он перестает устраивать девелоперов. И им на помощь готовы придти технологии завтрашнего дня.

На нашем DVD в разделе «Игрострой» находится большое число пояснительных скриншотов, видео и примеров, которые позволят вам составить полное представление о современных технологиях рельефного текстурирования.

Parallax Mapping

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

С пришествием новых шейдерных моделей и графических ускорителей стало возможным усложнить сами шейдеры и улучшить графическое представление рельефных поверхностей. Одна из новых технологий называется Parallax MappingUnreal Engine 3.0 он именуется Virtual Displacement Mapping). Ее главное новшество — она заставляет мелкие детали выглядеть по-настоящему объемными. Параллакс имитирует объемность за счет пространственного искажения рельефа относительно камеры (то есть главной оси взгляда).

Relief Mapping

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

Проблему сумел решить бразильский аспирант Мануэль Оливейр и его коллеги (www.inf.ufrgs.br/

oliveira). Новую разработку назвали Relief Mapping или Per-Pixel Displacement Mapping, она включает в себя целых три алгоритма визуализации поверхности.

Простой Relief Mapping. Это самый простой из новых алгоритмов Relief Mapping. Он разработан как оптимальная замена Normal / Parallax Mapping. Как и предшественники, Relief Mapping не меняет очертаний самого объекта, зато делает детали на 100% объемными, способными отбрасывать тень друг на друга. Наиболее эффективное применение данного шейдера (а Relief Mapping, по сути своей, именно шейдер) — поверхности, которые не позволяют напрямую увидеть их контуры. Например, стены зданий и коридоров, поверхности скал и открытых площадок: вы же не можете погрузиться в трещину скалы, чтобы понять, что она на самом деле плоская, а не объемная. Это стало очевидно и для коллеги Оливейра по имени Фабио Поликарпо — именно он создал графические модификации для DOOM 3 и Quake 4, заменяющие там Normal Mapping на Relief Mapping.

Relief Mapping, меняющий очертания объекта. Второй алгоритм Relief Mapping рванул как атомная бомба: это самый реалистичный эффект рельефной поверхности, рассчитанный в реальном времени. Причем полностью меняющий очертания самого объекта, поэтому его еще называют True Per-Pixel Displacement Mapping. Абсолютно недостижимый ранее фокус, реализованный теперь с помощью высокоуровневого языка шейдеров DirectX 9.0c.

Уже сейчас ясно, что Displacement Mapping выведет графику компьютерных игр на новый уровень всего через два-три года. Главная проблема всех игр — пресловутая угловатость, которая всегда бросается в глаза, будет полностью побеждена.

Многослойный Relief Mapping. Третий, самый невероятный алгоритм — Quad Depth Relief Mapping (также называемый Multilayer Relief Mapping) — делает то, что кажется вообще невозможным. Представьте себе простой прямоугольный полигон, на него накладывается несколько особых текстур рельефа, обрабатываемых специальным шейдером. При этом почти со всех сторон (кроме вида, когда полигон проецируется в линию) вместо полигона вы видите совершенно правильный объемный объект!

Вот только системные требования новой технологии пока еще довольно высоки. У нас в редакции на Pentium 4 3,2 ГГц с 1 Гб DDR-2 и GeForce 6600GT PCI-E простенькие демки выдавали около 75 кадров в секунду, но вот если речь идет о полноценной игре. Современные компьютеры пока не готовы к пришествию Relief Mapping, однако через один-два года ситуация должна измениться.

Ведь для разработчиков игр карты рельефа — это не какое-то туманное будущее, а суровая реальность. Уже сейчас весь арсенал Relief Mapping доступен в виде плагинов для 3DS Max 6—9 (за исключением плагина многослойной рельефности, который создан пока только для Max 6—8).

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *