Blender environment texture как подключить vector

Обновлено: 02.07.2024

Blender это замечательный бесплатный 3d пакет, который делает возможным и доступным осуществление гигантского количества проектов, и, как человек, прошедший путь от абсолютного новичка в 3d до преподавателя данной программы в учебном центре "Специалист" в Москве, я могу поделиться несколькими типами, которые помогут преодолеть несколько несложных, но каверзных моментов, которые хоть и очень просты, но далеко не очевидны, и могут заставить просидеть несколько часов в поиске решения проблемы.

Перевод программы и подсказок

Перевод программы и подсказок - Blender, как и почти все программы является англоязычной, но в настройках (preferences) мы можем сделать его интерфейс русскоязычным. Переводить его полностью на русский язык я бы не советовал, т.к. названия всех терминов и команд почти необходимо знать на английском языке для дальнейшего развития, и, так или иначе, много из них заимствовано великим и могучим русским языком и используется всеми и повсеместно (нормали, фейсы, вертексы и т.д.). А вот перевод подсказок действительно может упростить процесс входа в программу и снять много вопросов в процессе их появления. Окошко с подсказкой возникает при наведении курсора мыши на любой элемент blender.

Для того чтобы активировать подсказки, если они не работают, нужно зайти в меню Edit-Preferences-Interface. Поставить галочку напротив Tooltips.

Для активизации перевода подсказок в том же разделе открываем выпадающее меню Translation, ставим русский язык, и галочку напротив Affect Tooltips.

Забагивание области просмотра

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

Находится эта функция в меню View-Frame selected.

Clipping

Некст проблема это clipping - при попытке работать с объектом на близком расстоянии область обрезает часть нашего объекта, и мешает нам работать.

устраняется заходом в боковое меню нажатием кнопки N, и во вкладке view в выпадающем меню view, уменьшаем значение Clip Start (Например 0,001)

Нормали

Следующая проблема это нормали - будь то незнание того - что это? или незнание того - как их привести в правильное положение. Проблемы с нормалями возникают например при попытке запечь карты деформации, во время скульптинга, при попытке нажать Shade smooth и тд.

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

Как мы можем видеть на данном изображении - все нормали объекта, кроме трех выделенных, повернуты наружу, а три выделенные - внутрь. При обычном режиме затенения Shade flat - этого не видно, но если я включу режим затенения shade smooth, то результат будет совсем иным.

Проверить направление нормалей своего объекта я могу перейдя в edit mode, и в выпадающем меню overlays поставить галочку напротив Face orientation . Тогда все нормали повернутые наружу будут отображаться синим цветом, а направленные внутрь - красным. В этом же меню Overlays я могу включить отображение нормалей как векторов.

Развернуть нормали нам помогут функции Mesh-Normals-Flip (или recalculate outside)

Flip - развернет выделенные полигоны.

Также мы можем выделить все полигоны объекта (шорткат А) и нажать Recalculate outside чтобы blender автоматически пересчитал все наши полигоны наружу.

За направлением нормалей лучше следить.

Двойные вертексы

Двойные вертексы - часто в процессе моделирования и оперирования командой Extrude могут создаться вертексы, которые стоят друг в друге и будут портить нашу топологию, это может нам аукнуться на этапах UV развертки, создания рига и тд. Чтобы избежать этого, на промежуточных этапах работы можно выделять всю свою модель в режиме работы с вершинами и нажимать Mesh-clean up-merge by distance. Двойные вертексы будут объединяться.


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

Карты нормалей запеченные в других программах (substance painter, Zbrush) дают странный результат в Blender .

Проблема в том что карты нормалей, в вышеперечисленных, и не только, программах, запекаются c использованием DirectX, а blender работает с OpenGL. Если говорить простым языком то нам нужно развернуть зеленый канал на карте нормалей. Делается это следующим образом:

Надеюсь, что данный пост поможет людям, осваивающим блендер, проскочить несколько часов поиска решения проблем!

Диффузная текстура (diffuse map)¶

Диффузная текстура применяется для указания распределения цвета рассеянного света (модель Ламберта).

Активация¶

Выставить опцию Diffuse > Color на панели Textures > Influence .

Дополнительные настройки¶

Степень влияния текстуры на диффузный цвет. Значение по умолчанию 1.0.

Тип взаимодействия с цветом материала ( Material > Diffuse > Color ), или с вертексным цветом, если включена опция Vertex Color Paint . Поддерживаются Mix (смешивается с цветом), Multiply (умножается на цвет). Значение по умолчанию Mix .

Текстура неба (skydome)¶

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

Также может применяться для реализации одной из методик освещения от окружающей среды .

Активация¶

Поведение текстуры приближено к поведению рендера в Blender Internal. Поэтому, при стандартных настройках текстуры, она может не отображаться. Для отображения текстуры активируйте флаг в панели текстуры Influence > Horizon и установите значение Horizon равное 1.0.

Для имитации освещения от окружающей среды можно воспользоваться опцией Export Options > Sky Texture Usage > ENVIRONMENT_LIGHTING . При этом необходимо также выбрать соответствующую опцию в настройках мира: Environment Lighting > Sky Texture .

Для создания обоих эффектов от одной текстуры необходимо выставить опцию Export Options > Sky Texture Usage > BOTH .

_images/skydome.jpg

Дополнительные настройки¶

Движком поддерживаются параметры вкладки Influence для настройки отображения неба. Смешивание текстуры с цветом производится в зависимости от параметров World > Horizon Color (цвет горизонта) и World > Zenith Color (цвет зенита), а также флагов Paper Sky , Blend Sky и Real Sky . Поддерживаются все типы смешивания ( Mix , Add , Multiply и т.д.).

_images/skydome.jpg

Параметры вкладки Influence влияют только на отображение неба. Они не влияют на отображение освещения от окружающей среды .

Outputs¶

RGB color from the image.

Inputs¶

Vector Texture coordinate for texture look-up. If this socket is left unconnected, the image is mapped as environment with the Z axis as up.

Общие настройки¶

Размер растров для текстур-изображений (длина и ширина изображения в пикселах) должен быть числом 2 N , т.е. 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 пикселов. Использование текстур других размеров (т.н. NPOT) поддерживается, но не рекомендуется. Для корректной работы компрессии текстур размер должен составлять не менее 4 пикселов. Как правило, используются изображения квадратной формы (например, 512 x 512 px), однако могут использоваться и прямоугольные (например, 4 x 128 px). Использование изображений размером более 2048 пикселов не рекомендуется.

Image Mapping > Extension

Режим интерпретации текстурных координат (в WebGL - Wrap Mode). Доступен для текстур типа Image or Movie . В случае значения Repeat движок устанавливает для текстуры режим REPEAT . При этом целочисленная часть текстурных координат игнорируется, используется только дробная часть. Во всех остальных случаях (например, Extend ) движок устанавливает CLAMP_TO_EDGE . При этом происходит ограничение текстурных координат отрезком [0, 1]. Значение по умолчанию Repeat .

Тип текстурных координат. Поддерживаются UV (использовать развертку), Normal (использовать направление на камеру, только для диффузных текстур, применяется для создания материалов в стиле material capture, matcap) и Generated (исходные недеформированные координаты объекта). Значение по умолчанию Generated .

Масштабирование развертки по соответствующим осям. Значения по умолчанию 1.0.

Export Options > Do Not Export

Не экспортировать текстуру.

Export Options > Disable Compression

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

Export Options > Shore Distance Map

Export Options > Anisotropic Filtering

Фактор анизотропной фильтрации для индивидуальной текстуры. Имеет приоритет перед аналогичной настройкой для сцены. Значение по умолчанию DEFAULT (т.е. использовать настройки сцены).

Текстура пены. Используется материалом для рендеринга воды.

Для карт нормалей текстурная компрессия не применяется.

Текстуры¶

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

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

Особые типы текстур¶

Для использования особых типов текстур необходимо выставить тип текстуры None на панели Textures .

_images/type_none.jpg

В меню Textures > Export Options имеется возможность задать основные свойства для данного типа текстуры:

Export Options > Source Type

Выбор особого типа текстуры: Scene - для рендеринга 3D сцены в текстуру, Canvas - использование HTML-элемента <canvas> и None - отсутствие текстуры.

Export Options > Source ID

Имя сцены, которая будет отображена в текстуре, в случае 3D сцены либо идентификатор HTML-элемента <canvas> в случае Canvas-текстуры.

Export Options > Source Size

Export Options > Extension

Export Options > Enable Mipmapping

Включение MIP-текстурирования для Canvas-текстуры. По умолчанию включено.

_images/canvas_tex.jpg

Рендеринг в текстуру¶

Создаёте новую сцену, которая будет использоваться для рендеринга в текстуру.

Для удобства переименуйте сцену.

Создайте для сцены группу настроек World .

Добавьте в сцену необходимые объекты.

Добавьте в сцену камеру и настройте её.

Затем переключитесь на главную сцену.

Выберите нужный вам объект и создайте для него UV-развёртку.

Создайте текстуру, которая будет использоваться для рендеринга.

Для этой текстуры выставьте тип None .

На панели Mapping , установите параметр Coordinates в значение UV .

В поле Export Options > Source Type указать тип Scene .

В поле Export Options > Source ID указать название сцены-источника.

В поле Export Options > Source Size указать размер текстуры в пикселях.

Также поддерживается циклическое отображение сцен друг в друга.

Примечание

В проекте должна присутствовать хотя бы одна сцена, которую не отображают другие.

Canvas-текстуры¶

В качестве текстуры используется HTML-элемент <canvas>. Его редактирование осуществляется при помощи API.

В главной сцене для текстуры целевого объекта выставить тип None , в поле Export Options > Source Type указать тип Canvas . В поле Export Options > Source Size указать размер текстуры в пикселях.

Для работы с этими текстурами используется модуль textures . Пример работы с ним описан ниже.

Для получения контекста используется функция get_canvas_ctx() , куда передается объект и имя текстуры, задаваемое в Blender. После преобразований с контекстом вызывается функция update_canvas_ctx() , которая осуществляет визуализацию изменений на указанном объекте, в указанной текстуре.

Примечание

Если в Blender на разных объектах была назначена одна и та же текстура типа Canvas, то и после загрузки в движке будет одна общая текстура, а не несколько уникальных. Результат работы с ней будет заметен на всех использующих её объектах. Это может быть полезно с точки зрения оптимизации. Если же требуется противоположное поведение, то следует назначить разные текстуры ещё в Blender, либо использовать глубокое копирование уже непосредственно в приложении.

Видео-текстуры¶

В качестве текстуры может применяться видеозапись. Для этого должен быть выбран тип текстуры Image or Movie .

Видеотекстура поддерживает только воспроизведение видеоряда. Звуковое сопровождение следует накладывать, используя объект типа SPEAKER .

Поддерживаемые форматы (контейнеры):¶

webm, кодек VP8 (Chrome, Firefox)

m4v, кодек H.264 (Chrome, Safari, IE)

ogv, кодек Theora (Chrome, Firefox)

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

Файлы в форматах mp4 и ogg имеют различное расширение для звуковой и видео-информации: расширения .mp4 и .ogg используются для звуков, .m4v и .ogv - для видео.

Конвертация ресурсов в различные форматы описывается в соответствующем разделе .

Настройка текстуры¶

При использовании видео-текстуры можно настроить следующие опции на панели Texture > Image :

Длина воспроизводимого фрагмента видеозаписи в кадрах.

Номер кадра, с которого будет начинаться воспроизведение видеозаписи.

Начинать воспроизводить видеозапись заново каждый раз после ее завершения.

Воспроизводить текстуру в рамках NLA-сценария. Необходимо также включить NLA глобально на сцене, активировав панель Scene > NLA . По умолчанию включено.

Для текстур, управляемых через NLA будет актуальна следующая опция:

Задержка воспроизведения видеозаписи в кадрах при использовании нелинейной анимации.

Для текстур, управляемых не через NLA будет актуальна следующая опция:

Image > Auto Refresh

Воспроизводить видеозапись сразу после загрузки сцены.

_images/video_tex.jpg

Существует возможность ускоренного воспроизведения видеозаписей. Для этого необходимо задать значение свойства Scene > Dimensions > Frame rate отличным от значения fps (кадров в секунду) для видеозаписи. При этом скорость воспроизведения видеозаписи рассчитывается как отношение Frame rate сцены к fps видеозаписи.

_images/fps.jpg

Особенности работы на мобильных устройствах¶

Присутствуют следующие особенности реализации на мобильных устройствах:

на iPhone используется специально разработанный видеоформат .seq , потому что данное устройство открывает все стандартные видеозаписи через свой видеопроигрыватель. Видео надо сконвертировать заранее, используя наш конвертер .

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

не гарантируется стабильная работа при выставлении опции Offset в ненулевое значение.

не на всех устройствах поддерживается ускоренное воспроизведение видео.

на iPad и iPhone отсутствует возможность управления громкостью звука видеофайла, поэтому следует убрать аудио дорожку из видео перед добавлением файла в Blender.

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

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

Активация¶

Выставить параметр Image > Color Space в значение Non-Color .

Выставить опцию Geometry > Normal на панели Textures > Influence .

Дополнительные настройки¶

Степень участия карты в расчетах нормалей. Значение по умолчанию 1.0.

Карта высот (height map). Parallax mapping¶

Карта высот содержит информацию о распределении относительных высот рельефа. Более высокий уровень поверхности обозначается более светлым цветом. Карта высот в сочетании с картой нормалей требуются в качестве входящих данных для реализации рельефной поверхности (parallax mapping). Карта высот должна содержатся в альфа-канале карты нормалей.

_images/textures_height_map.jpg

Активация¶

Для карты нормалей дополнительно к опции Geometry > Normal активировать панель Parallax .

Дополнительные настройки¶

Фактор влияния эффекта рельефной поверхности. Значение по умолчанию 0.03.

Parallax > Parallax Steps

Количество итераций в расчетах рельефной поверхности. Большее значение приводит к лучшему качеству и к большим затратам вычислительных ресурсов. Значение по умолчанию 10.

Parallax > Parallax LOD distance

Расстояние на котором виден эффект параллакса.

_images/textures_parallax.jpg

Properties¶

Image data-block used as the image source. Additional settings can be found in Sidebar ‣ Item ‣ Properties : These include options to control the alpha channel along with addition options for the color space. These addition options are documented with the rest of Common Image Settings .

Type of data that the image contains, either Color or Non-Color Data. For most color textures the default of Color should be used, but in case of e.g. a bump or alpha map, the pixel values should be interpreted as Non-Color Data, to avoid doing any unwanted color space conversions.

Interpolation method used for the environment texture. The following interpolations are available:

Regular quality interpolation.

No interpolation, use closest pixel.

Smoother, better quality interpolation.

Bicubic when magnifying, otherwise Bilinear is used. This is only available for OSL .

Allows you to use different types of environmental maps. The following methods are supported:

Projection from an Equirectangular photo.

Projection from an orthographic photo or mirror ball.

Environment Texture Node¶

../../../_images/render_shader-nodes_textures_environment_node.jpg

The Node Environmental Texture is used to light your scene using an environment map image file as a texture.

Properties¶

Image Data-Block Image data-block used as the image source. Color Space Type of data that the image contains, either Color or Non-Color Data. For most color textures the default of Color should be used, but in case of e.g. a bump or alpha map, the pixel values should be interpreted as Non-Color Data, to avoid doing any unwanted color space conversions. Texture Interpolation

Interpolation method used for the environment texture. The following interpolations are available:

Linear Regular quality interpolation. Closest No interpolation, use closest pixel. Cubic Smoother, better quality interpolation. Smart Bicubic when magnifying, otherwise Bilinear is used. This is only available for OSL . Projection Method

Allows you to use different types of environmental maps. The following methods are supported:

Equirectangular Projection from an Equirectangular photo. Mirror Ball Projection from an orthographic photo or mirror ball.

Карта бликов (specular map)¶

Карта бликов применяется для указания распределения цвета отраженного света (модель Фонга).

Активация¶

Выставить опцию Specular > Color на панели Textures > Influence .

Дополнительные настройки¶

Степень влияния текстуры на цвет отраженного света. Значение по умолчанию 1.0.

Тип взаимодействия с цветом отраженного света материала ( Material > Specular > Color ). Поддерживается только Mix (смешивается с цветом). Значение по умолчанию Mix .

Карта бликов может быть упакована в альфа-канал диффузной текстуры в целях оптимизации. В этом случае для текстуры необходимо одновременно выставить опции Diffuse > Color и Specular > Color . Цветовой диапазон ограничен оттенками серого цвета.

Карта смешивания (stencil map)¶

Специальная текстура (цветная или оттенков серого), содержащая информацию о распределении других текстур по поверхности.

Активация¶

В случае нодовых материалов карта смешивания должна использоваться соответствующим образом в нодовой структуре.

В случае обычных материалов карта смешивания должна располагаться в текстурном слоте между двумя смешиваемыми диффузными текстурами. Для текстуры смешивания необходимо одновременно выставить опции RGB to Intensity и Stencil на панели Textures > Influence .

Дополнительные настройки¶

Ограничения¶

В случае обычных материалов движком интерпретируется только красный канал текстуры смешивания. Карта бликов или карта нормалей при их наличии смешиванию не подвергаются. Настройка масштабирования Mapping > Size извлекается из первой текстуры и применяется ко всем остальным текстурам.

Пример¶

_images/textures_stencil_apple.jpg

_images/textures_stencil_apple_separate_textures.jpg

Типы текстур¶

Опция выбора типа текстуры Type расположена во вкладке Textures . Движком поддерживаются текстуры следующих типов:

Image or Movie , изображение или фильм

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

Может использоваться в следующих случаях:

карта бликов (specular map) , может также содержаться в альфа-канале диффузной текстуры

карта высот (height map), может содержаться только в альфа-канале карты нормалей, используется для реализации рельефной поверхности (parallax mapping)

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

Environment Texture Node¶

../../../../../_images/render_cycles_nodes_types_textures_environment_node.jpg

The Node Environmental Texture is used to light your scene using an environment map image file as a texture.

Inputs¶

Texture coordinate for texture look-up. If this socket is left unconnected, the image is mapped as environment with the Z axis as up.

Examples¶

../../../_images/render_shader-nodes_textures_environment_example.jpg

Карта окружения (environment map)¶

Применяется в качестве карты зеркального отражения (mirror map) , в качестве статической текстуры неба (skydome) , а также для реализации одной из методик освещения от окружающей среды .

Во избежание проявления швов рекомендуется использовать формат без потери качества (PNG).

_images/environment_map.jpg

Создание карты окружения¶

Blender позволяет запекать сцену в карту окружения. Для этого:

Создать сцену для запекания.

Добавить пустой объект в предполагаемом центре обзора ( Add > Empty ).

Перейти во вкладку World , затем перейти во вкладку Textures , создать новую текстуру, выбрать тип Environment Map .

На панели Environment Map выбрать источник Static , выбрать созданный пустой объект в поле Viewport Object , установить разрешение 2 N (512, 1024 и т.п.).

Выполнить рендеринг сцены F12 (требуется наличие камеры).

Сохранить карту окружения в файл.

_images/environment_map_baking_ui.jpg

Карта зеркального отражения (mirror map)¶

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

Активация¶

Выбрать тип текстуры ( Type ) Environment Map . Выставить опцию Shading > Mirror на панели Textures > Influence .

Дополнительные настройки¶

Степень влияния карты зеркального отражения. Значение по умолчанию 1.0.

Читайте также: