Как сделать bake в блендере

Обновлено: 17.05.2024

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

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

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

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

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

Самая простая такая формула – закон Ламберта (Lambert), который определяет интенсивность диффузной освещенности в точке как косинус угла между направлением света и нормалью к поверхности в этой точке.

Модель Ламберта хорошо подходит только для сравнительно гладких поверхностей. Для моделирования шероховатой, бархатистой или запыленной поверхности часто используют диффузную модель Орена-Найара (Oren-Nayar), которая основана на предположении, что поверхность состоит из множества бесконечно малых микрограней, освещение каждой из которых описывается моделью Ламберта. Модель Орена-Найара имеет параметр для контроля шероховатости поверхности (Roughness). Этот параметр определяет, сколько света отразится назад в направлении источника света.

В Blender чаще всего используются именно эти две диффузные модели. Помимо диффузной, используется также бликовая составляющая освещенности. Бликовая составляющая (specular term) – это количество света, зеркально отраженного поверхностью. Блик – это прямое отражение источника света на поверхности объекта. Если учесть, что в компьютерной графике используются идеализированные объекты, возникает закономерный вопрос: почему точечный источник света, не имеющий объема и невидимый сам по себе, отражается как относительно крупный размытый световой блик? Этот феномен также объясняется наличием микрограней: они имеют собственные вектора нормалей, отклонение которых от основной нормали поверхности меняют интенсивность зеркально отраженного света.

Для сравнительно гладких материалов (таких, как пластик или металл) обычно пользуются эмпирической моделью Фонга (Phong). Она не соответствует точному физическому описанию отражения света, но в большинстве случаев позволяет достичь приемлемых реалистичных результатов. Формула Фонга основана на простом наблюдении: блестящие поверхности дают маленькие и резкие блики, в то время как матовые – большие и размытые. Более согласованная с физикой модель, которая поддерживается в Blender – модель Кука-Торренса (Cook-Torrance). Она основана на допущении, что поверхность состоит из микрограней, каждая из которых является идеальным зеркалом.

Зная, где и как правильно применять эти модели, можно моделировать объекты, по внешнему виду максимально приближенные к реальным.

Так, для матовых поверхностей вроде камня, бетона или бумаги лучше всего подходит модель Ламберта. Блики на пластике, фарфоре, металле, матовом стекле имитируются моделью Фонга. Бархат, вельвет, ковры и некоторые другие виды тканей лучше всего воссоздаются моделями Орена-Найара и Кука-Торренса. В Blender материал объекту можно добавить в редакторе свойств, который по умолчанию находится в правой части окна программы. Переключите панель со значками на Material, добавьте объекту новый материал (если его нет) при помощи кнопки New.

Рассмотрим основные параметры материала.

Diffuse. Цвет и модель диффузной (рассеянной) компоненты освещенности. Вы можете указать цвет, нажав по нему левой кнопкой мыши – появится RGB-палитра с возможностью точного подбора каналов цвета.

Specular. Цвет и модель бликовой (зеркальной) компоненты освещенности. Форма блика зависит от выбранной модели и специфичных для нее параметров – это может быть как маленькая резкая точка, так и большое размытое пятно.

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

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

Текстура

Blender - это очень популярная свободная программа для 3d моделирования и проектирования различных трехмерных объектов. Программа используется многими дизайнерами и в том числе для создания известных и популярных проектов. Blender применялся при съемке некоторых фильмов и мультфильмов, а также разработки игр.

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

Установка Blender

Это кроссплатформенная программа, которая может быть установлена на WIndows, Linux или MacOS. Установочный файл для Windows и MacOS вы можете загрузить на официальном сайте. Что касается Linux, то в большинстве дистрибутивов можно получить программу из официальных репозиториев. Например, в Ubuntu для этого достаточно выполнить команду:

sudo apt install blender

Затем вы можете запустить программу из главного меню.

Как пользоваться Blender для начинающих

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

1. Главное окно программы

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

  • Основное меню программы;
  • Меню переключения вида;
  • Левая панель навигации;
  • Панель инструментов справа;
  • Основная рабочая область;
  • Строка времени внизу.

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


2. Основы навигации

Программой очень просто управлять, вот основные приемы навигации:

  • Чтобы изменить угол обзора зажмите среднюю кнопку мыши и перемещайте ее;
  • Чтобы перемещаться вверх-вниз или назад-вперед зажмите кнопку Shift и среднюю кнопку мыши, затем двигайте ее;
  • Для изменения масштаба используйте колесо прокрутки;
  • Чтобы выбрать объект щелкните по нему правой кнопкой или щелкните правой кнопкой вне объекта, чтобы отменить выбор;
  • Для выбора нескольких объектов удерживайте кнопку Shift во время выбора;
  • Чтобы выбрать все объекты нажмите A, и еще раз чтобы отменить выбор, выбранные объекты будут выделены желтым.



3. Режимы работы

Программа для 3D моделирования Blender может работать в нескольких режимах:

  • Режим объекта ( Object mode) - позволяет выбирать объекты, перемещать их, поворачивать, и двигать как вам нужно;
  • Режим редактирования (Edit mode) - позволяет изменить вершины объекта, его линии и плоскости, вы можете изменять сетку в этом режиме.
  • Скульптурный режим ( Sculpt mode) - режим редактирования 3D сетки;
  • Режим рисования (Vertex Paint mode) - позволяет изменить цвета фигур;
  • Режим рисования текстур (Texture Paint mode) - позволяет раскрашивать текстуры;
  • Режим толщины (Weight Paint mode) - позволяет изменить толщину поверхностей;
  • Сеточный режим (Particle mode) - удобен для работы с системами частиц.

Для переключения между этими режимами можно использовать кнопку Tab или меню:


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

4. Изменение объектов

3D моделирование Blender начинается с изменения объектов. Обратите внимание на стрелки, которые появляются около объекта, когда вы его выбираете. Это направляющие стрелки, и они указывают на грани системы координат. Красная стрелка соответствует оси X, зеленая - ось Y, а синяя - ось Z. Эти стрелки позволяют более точно перемещать объекты.

Переместить объект можно несколькими способами:

  • Просто перетащите его правой кнопкой мыши;
  • Нажмите G и перетащите объект в нужное место;
  • Нажмите на одной из стрелок и перемещайте объект вдоль нее.



Поворачивать объекты тоже очень просто. Все что нужно сделать - это выбрать объект и нажать кнопку R. Если вы хотите повернуть объект вокруг определенной оси, нажмите R, а затем одну из клавиш X, Y, Z. Они соответствуют осям координат.

Для масштабирования используйте кнопку S. Опять же, для масштабирования по одной из осей нажмите X, Y или Z.

5. Создание объектов

Работа в Blender предполагает не создание нескольких объектов в основной области. Сначала обратите внимание где находится 3D курсор. Именно в этом месте будет вставлен объект. По умолчанию он расположен в начале координат, но вы можете его переместить в любой место просто кликнув левой кнопкой.


Затем откройте меню "Add" в нижней части экрана и выберите нужный тип объектов, например, фигуры (Mesh), а затем саму фигуру. После ее добавления она появится около курсора. Так вы можете добавить любой объект.


6. Редактирование объектов

В режиме редактирования вы можете изменять размеры и характеристики объектов. Можно выбирать отдельные части объектов: вершины, линии и плоскости. Что нужно выбрать можно указать на панели:

Дальше работа похожа на перетаскивание объектов. Выберите нужную часть правой кнопкой и тащите куда нужно. Также в режиме редактирования вы можете выделить несколько вершин и объединить их вместе. Для этого выберите нужные вершины с помощью "Shift" затем нажмите "W" и выберите пункт меню "Merge".



Также в режиме редактирования вы можете вытягивать части объекта. Для этого выберите грань, вершину или плоскость, а затем нажмите "E" и перетащите ее в нужное место.


Вы можете вырезать часто объекта чтобы перетащить ее в другое место или развернуть. Для этого нажмите Ctrl+R и выберите нужную часть просто двигая мышь, затем эта часть будет отмечена и вы сможете сделать с ней все что нужно.




7. Модификаторы

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



Дальше нажмите "Add Modifier" и выберите нужный модификатор. Вы можете поэкспериментировать с ними. Чаще всего вам придется использовать "subdivision surface". Он позволяет сгладить углы поверхности. Все параметры модификатора будут находиться на правой панели. С помощью пункта "View" вы можете настроить силу скругления:

8. Сохранение результата

Чтобы сохранить результат своей работы откройте меню "File" и выберите опцию "Save":


Затем вам нужно выбрать место для сохранения и нажать "Save blender file". Работа будет сохранена в формате Blender, и вы сможете продолжить ее редактировать. Но если вам нужна обычное изображение, в меню "File" выберите пункт "Export", затем выберите формат нужной картинки:


Наша инструкция как пользоваться Blender 3d для чайников подходит к концу.

Выводы

В этой статье мы рассмотрели как пользоваться Blender 3d для моделирования различных фигур и объектов. Конечно, вы не стали профессионалом, но зато теперь знаете на что способна программа для моделирования Blender и как ею пользоваться.

Blender2017.jpg

Окошко Display позволяет управлять способом отображения объекта.

MainBlender 26.jpg

  1. Name - имя объекта будет отображаться прямо рядом с его опорной точкой. (Python: bpy.data.objects["name"].show_name )
  2. Axis отвечает за отображение осей, исходящих из опорной точки объекта.
  3. Wire скажет программе отображать меш (полисетку) объекта в Object Mode и других режимах. (Python: bpy.data.objects["name"].draw_type )
  4. Нажав на Draw All Edges Вы позволите отображаться всей сетке у объекта полностью.
  5. Если установить галочку у Bounds будут отображаться границы объекта.

MainBlender 27.jpg

1. Box - границы отображаются в виде параллелепипеда. 2. Sphere - отобразит границы объекта в виде сферы. 3. Cylinder - показывает границ объекта в виде цилиндра. 4. Cone- визуализирует границы объекта в виде конуса. 5. Capsule- границы объекта будут показаны в виде капсулы (похоже на Sphere, но более угловатая фигура). 6. X-Ray предназначен для визуализации объекта всегда впереди всех. 7. При желании можно задать также самый хороший метод прорисовки объекта с помощью Maximum Draw Type. 1. Bounds - этот тело всегда будет показывать в одном режиме Bounding Box. 2. При выборе Wire объект будет отображаться либо в Bounding Box, либо в Wireframe. 3. Чтобы объект отображался в трех режимах: Bounding Box, Wireframe или Solid установите Solid. 4. И для возможности показа тела во всех доступных режимах затенения выберите самый верхний максимальный способ отображения - Textured.

MainBlender 28.jpg

Для того, чтобы текст отображался в игре и мог изменяться во времени создайте для 3D текста свойство Text, нажав на кнопку Add Text Property.

Sectrets 1.jpg

Для установки значения свойства в начальное значение следует правой кнопкой щелкнуть по нему и выбрать из контекстного меню Reset to Default Value.

Secrets New 1.jpg

Blender позволяет настроить тени у ламп как Вам хочется.

Secrets New 2.jpg

  1. Тип тени можно выбрать из списка Shadow Map Type:
    1. Simple - примитивные простые тени.
    2. Variance - вариативные (более красивые) тени.
    1. Параметр Clip Start под надписью Clippng устанавливает то расстояние от лампы, до которого тени рассчитываться не будут.
    2. Ему противоположный - Clip End (указывает Blender расстояние от лампочки дальше которого тени не будут рассчитываться).

    File Browser - окно, которое позволяет выбирать какой файл открывать или загружать. Оно также поддается гибкой настройке интерфейса.

    BlenderSpec1.jpg

    1. Существуют следующие виды отображения (менять вверху):
      1. Список - отображение одних имен папок и файлов.
      2. Подробный список - отображение не только имен у файлов, но и их размера и некоторых еще данных; отображение папок.
      3. Плита - папки и файлы будут расположены в плитки.
      1. 2 - если нажато - то будут отображаться и папки.
      2. Если активна 3 - то будут показываться файлы с расширением .blend.
      3. При нажатой 4 будут показываться файлы с расширением .blend1, .belnd2 и т. д.
      4. 5 - если нажата - то будут показываться картинки.
      5. Если нажата 6, то будут отображаться видео-файлы.
      6. При нажатой 7-ке отображаются файлы, содержащие музыку.
      7. Для отображания текстовых файлов активируйте кнопку 8.

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

      BlenderSecretsLast.jpg

      1. Свойство Intensivity сразу под надписью Diffuse позволяет изменять величину влияния текстуры на темноту текстуры. Влияние определяется при помощи черно-белой копии текстуры в памяти блендер, которая расположена точь в точь как и оригинальная. Чем светлее цвет пикселя этой черно-белой текстуры, тем светлее и соответственный пиксель изначальной текстуры в этом месте.
      2. Параметр Intensivity под Specular также позволяет текстуре управлять силой бликов. Чем белее пиксель той черно-белой текстуры в данном месте, тем ярче блик в данном месте оригинальной текстуры.
      3. Color (в разделе Specular) отвечает за влияние текстуры на цвет блика. Чем белее пиксель черно-белой текстуры, тем более приближен цвет блика у данного пикселя изначальной текстуры к ней.
      4. А свойство Hardness позволяет управлять жесткостью блика черно-белой текстуре. Чем белее пиксель той черно-белой текстуры в данном месте, тем меньше блик у соответственного пикселя изначальной текстуры.

      BlenderGrayMap.jpg

      Grease Pencil - карандаш, которым можно рисовать в 3D. Его можно настраивать в маленьком окне свойств объекта, которое появляется при нажатии на N.

      BlenderGreasePencil1.jpg

      1. У всех карандашей есть слои с разными свойствами. Один карандаш может себя вести по разному в зависимости от того, какой сейчас слой он разрисовывает.
      2. Для создания слоя у карандаша жмите на New Layer.

      Blender располагает достаточно обширными настройками слоев карандашей.

      BlenderGreasePencil2.jpg

      1. Stroke - под этой надписью находятся параметры контура для текущего слоя карандаша.
        1. Цвет - цвет контура.
        2. Opacity - непрозрачность контура (чем выше, тем менее прозрачны линии карандаша на данном слое).
        1. Цвет - цвет заливки.
        2. Opacity - непрозрачность заливки (чем выше, тем менее прозрачна заливка на данном слое).

        Более обширной настройкой карандаша и инструментами для рисования обладает вкладка Grease Pencil, находящиеся слева.

        BlenderGreasePencil1.jpg

        BlenderGreasePencil5.jpg

        1. При нажатии на Draw можно рисовать произвольные формы.
        2. Если нажать на кнопку Line, то Вы сможете нарисовать отрезок в пространстве.
        3. При нажатии на Poly можно будет рисовать ломанную.
        4. Если Вам надо что-то стереть нажмите на инструмент ластик - Erase.
        5. Нажмите Continue Drwaing, чтобы Вы могли рисовать разные фигуры отрывая руку в одном из режимов - Draw, Line, Poly. Или в режиме Erase (для стирания).
            Для выхода из режима рисования жмите на Esc.

          BlenderGreasePencil3.jpg

          Рисовать можно как и на самом экране (для этого в вкладке View под Stroke Placement), в самой сцене из определенного вида (следует выбрать Cursor), либо на поверхностях объектов (для этого выберите Surface).

          Если Вы не так что то нарисовали можно откорректировать нарисованную Вами кривую, нажав на Enable Editing.

          Аналогично редактированию объектов в Edit Mode есть режим Edit Stroke для редактирования нарисованного по точкам.

          BlenderGreasePencil6.jpg

          В нем есть следующие команды:

          1. Select All - выделяет все точки на данном слое.
          2. Border Select - позволяет выделить прямоугольником (аналог выделения, которое можно включить, нажимая на кнопку B).
          3. Circle Select - выделение кистью.
          4. Select Linked - выделяет все элементы (отдельные штрихи), если у них выделена хотя бы одна точка.
          5. Select More - в каждом отдельном штрихе карандаша прибавляет к выделению 2 соседние точки (если у данного штриха уже было что-то выделено).
          6. Select Less - работает также как и Select More, только уменьшает выделение на 2 точки (если у данного штриха уже было что-то выделено).
          7. Под Edit имеются такие функции:
            1. Copy - копирует выделенное в буфер обмена.
            2. Paste - вставляет имеющиеся в буфере обмена точки.
            3. Delete - удаляет все, что выделено.
            4. Dublicate - копирует выделенное и сразу позволяет установить положении скопированного в пространстве.
            5. Rotate - дает возможность вращать выделенное.
                Режим вращения Individual Origins не доступен.

              Все нарисованное на данном слое можно преобразовать в кривую Безье, нажав на Convert вкладки Grease Pencil и выбрав Bezier Curve.

              Шейдерные ноды (Shader Nodes) существенно расширяют возможности стандартных материалов Blender, позволяя представить освещение как серию базовых преобразований.

              _images/node_materials_title.jpg

              Стандартные ноды¶

              Blend4Web поддерживает все стандартные ноды Blender, однако некоторые из них работают недостаточно быстро и не рекомендуются к использованию в приложениях реального времени. Не рекомендуется создавать сложные материалы, особенно использующие большое количество нод Geometry и Texture .

              Движок также частично поддерживает некоторые ноды Cycles. Более подробно этот вопрос рассмотрен в соответствующей главе .

              Производительность и степень поддержки движком стандартных нод описаны в таблице.

              Используется для получения информации от активной камеры

              Используется для генерации градиента

              Типы интерполяции B-Spline , Cardinal и Ease не поддерживаются

              Собирает цвет из заданных значений тона, насыщенности и яркости

              Собирает цвет из заданных значений красного, зелёного и синего каналов

              Подключает стандартный материал. Обладает большим количеством настроек по сравнению с нодой Material

              Регулирует гамму заданного цвета

              Используется для получения информации о геометрии объекта

              Выход Vertex Alpha не поддерживается

              Не рекомендуется использовать большое количество этих нод

              Регулирует оттенок и насыщенность заданного цвета

              Инвертирует заданный цвет

              Используется для получения информации о заданном источнике света

              Выход Shadow не поддерживается

              Преобразует текстурные координаты

              Используется для подключения стандартного материала

              Производит математические операции с заданными значениями

              Микширует два заданных цвета

              Низкая в режимах Burn , Dodge , Value , Saturation , Hue и Color , высокая в остальных режимах

              Генерирует нормальный вектор

              Используется для подключения карты нормалей

              Выводит результат работы нодового материала

              Используется для получения информации о системе частиц

              В материалах систем частиц типа Emitter

              Генерирует цвет в формате RGB

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

              Преобразует заданный цвет в формате RGB из цветного в чёрно-белый

              Разделяет заданный цвет на тон, насыщенность и яркость

              Разделяет заданный цвет на красный, зелёный и синий каналы

              Сжимает заданное значение

              Не рекомендуется использовать большое количество этих нод

              Генерирует численное значение

              Определяет кривую, по которой изменяется заданный вектор

              Производит математические операции над двумя заданными векторами

              Преобразует векторы, точки и нормали между пространствами координат мира, камеры и объекта.

              Параметр Color Space карты нормалей, используемой с этой нодой, должен иметь значение Non-Color . В противном случае результаты могут быть непредсказуемыми (хотя это не приведёт к крэшу движка).

              Если хотя бы один из внутренних параметров ( Space to convert from. или Space to convert to. ) имеет значение Object , любой объект, использующий данный материал, будет считаться динамическим .

              Обратите внимание, что нодовые материалы имеют некоторые ограничения, касающиеся количества нод определённых типов. Эти ограничения описаны здесь .

              Дополнительные ноды¶

              Дополнительные ноды расширяют функционал стандартных с учётом специфики работы движка. Ноды оформляются в виде нодовых групп ( Node Groups или Node Tree ) со специально выбранным именем и форматом входов. Для удобства, все дополнительные ноды добавляются в blend-файл при его открытии.

              _images/node_materials_nodes.jpg

              Clamp (B4W_CLAMP)¶

              Осуществить операцию ограничения над входом. В результате, все элементы вектора на выходе получают значения от 0 до 1 включительно.

              _images/node_materials_clamp.jpg

              Выходные параметры¶

              Вектор после ограничения.

              Glow Output (B4W_GLOW_OUTPUT)¶

              Применяет эффект свечения (Glow) к нодовому материалу. Помимо ноды B4W_GLOW_OUTPUT в нодовом материале должна присутствовать нода Output.

              _images/node_materials_glow_output.jpg

              Степень свечения. Factor \(\in [0, 1]\) .

              Factor = 0 - свечение отсутствует.

              Factor \(\in (0, 1]\) - свечение цветом Glow Color.

              Levels of Quality (B4W_LEVELS_OF_QUALITY)¶

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

              _images/node_materials_levels_of_quality.jpg

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

              Значение, которое будет подано в выходной параметр Color при низком качестве изображения.

              Значение, определяющее, какое из значений ( HIGH или LOW ) будет отображаться в Blender. Может принимать значения от 0 до 1. При значении параметра менее 0.5 будет виден вариант HIGH , при значении 0.5 и выше будет виден вариант LOW .

              Parallax (B4W_PARALLAX)¶

              Реализует смещение текстурных координат в соответствии с картой высот.

              _images/node_materials_parallax.jpg

              Исходные текстурные координаты.

              RGBA текстура с картой высот в альфа канале.

              Коэффициент смещения текстурных координат.

              Количество шагов при генерации смещенных текстурных координат. Чем больше данное значение, тем выше качество получаемой текстуры.

              Максимальное расстояние от камеры, на котором виден эффект.

              Выходные параметры¶

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

              Reflect (B4W_REFLECT)¶

              Вычисляет отражение заданного вектора относительно заданной нормали. Может применяться для наложения кубической карты (cubemap) на объект.

              _images/node_materials_reflect.jpg

              Заданный вектор. Должен быть подключён ко входу View ноды Geometry .

              Заданная нормаль. Для получения желаемого результата, вектор должен быть нормирован. Должен быть подключён ко входу Normal ноды Geometry .

              Выходные параметры¶

              Отражённый вектор. Следует подключать к входному параметру Vector ноды Texture , содержащего кубическую карту.

              Refraction (B4W_REFRACTION)¶

              Реализует эффект преломления. Этот эффект виден только в движке Blend4Web, но не в Blender.

              _images/node_materials_refraction.jpg

              Вектор нормали в пространстве камеры, по которому происходит возмущение (сдвиг).

              Коэффициент возмущения (сдвига) текстуры сцены позади объекта.

              Значение по умолчанию: 0.001.

              Выходные параметры¶

              Текстура сцены позади объекта с внесённым возмущением.

              Для отображения эффекта необходимо переключить опцию Refractions на панели Render > Reflections and Refractions в состояние AUTO или ON . Объект должен быть с типом прозрачности Alpha Blend.

              Replace (B4W_REPLACE)¶

              Осуществляет замену входов в зависимости от того, в какой среде (viewport Blender’а или движок) в данный момент работает текущая сцена. При работе в Blender вход Color1 подключается к выходу Color , вход Color2 игнорируется. При работе в движке входы меняются местами ( Color1 игнорируется, Color2 подключается к выходу). Нода предназначена для отображения во viewport’e одной конструкции нодов, а в движке - другой.

              _images/node_materials_replace.jpg

              Используется, как правило, для подключения карт нормалей. Нодовые материалы Blender’а не поддерживают тангентное пространство координат, в связи с чем единственный способ корректного отображения карт нормалей во viewport’e - их подключение внутри нод Material .

              Конструкция нод, видимая во вьюпорте Blender’а

              Конструкция нод, видимая объекта в движке Blend4Web.

              Выходные параметры¶

              Следует подключать к выходу Color ноды Material или Extended Material .

              Smoothstep (B4W_SMOOTHSTEP)¶

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

              _images/node_materials_smoothstep.jpg

              Значение, на основе которого осуществляется интерполяция.

              Первое значениe для интерполяции.

              Второе значениe для интерполяции.

              Выходные параметры¶

              Для корректной интерполяции входное значение Value должно лежать в диапазоне между Edge0 и Edge1 .

              Time (B4W_TIME)¶

              Осуществляет отсчет времени с момента старта движка в секундах. Может использоваться для анимации любых параметров в нодовых материалах - UV-координат, факторов смешивания, прозрачности и т.п.

              _images/node_time.jpg

              Выходные параметры¶

              Время (в секундах), прошедшее с момента старта движка.

              Translucency (B4W_TRANSLUCENCY)¶

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

              _images/node_materials_translucency.jpg

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

              Коэффициент коррекции цвета материала на обратной от источника света стороне. Основан на визуальном эффекте большей насыщенности цвета при просвечивании.

              Backside Factor 1 - коррекция в сторону затемнения

              Значение по умолчанию: 1.

              Коэффициент размытия светового пятна. При увеличении размеры пятна уменьшаются, края становятся более резкими. Значение по умолчанию: 1000.

              Интенсивность светового пятна. При увеличении становится более ярким. Значение по умолчанию: 1.

              Spot Diffuse Factor

              Коэффициент влияния диффузного цвета материала на цвет светового пятна.

              Spot Diffuse Factor = 0 - световое пятно имеет диффузный цвет

              Spot Diffuse Factor = 1 - световое пятно имеет белый цвет

              Значение по умолчанию: 1.

              Выходные параметры¶

              Выход должен быть подключен ко входу Translucency ноды Extended Material .

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

              Vector View (B4W_VECTOR_VIEW)¶

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

              _images/node_materials_vector_view.jpg

              Вектор в мировой системе координат.

              Выходные параметры¶

              Вектор в системе координат камеры.

              Linear to SRGB и SRGB to Linear (Deprecated)¶

              Преобразование цвета из линейного цветового пространства в пространство sRGB и наоборот. Функционал объявлен устаревшим с версии 15.04. В более новых версиях для преобразования цвета из sRGB в линейное пространство следует использовать нативную ноду Gamma со значением 2.200, а для преобразования из линейного пространства в sRGB - ту же ноду со значением 0.455.

              _images/node_materials_gamma.jpg

              Ноды Сycles¶

              Поддержка нод Cycles - экспериментальная возможность, которая на данный момент не рекомендуется к использованию при разработке серьёзных приложений.

              Следует также заметить, что при использовании нод Cycles в Blend4Web конечный результат будет близок к изображению, созданному в самом Cycles, но всё же не идентичен ему.

              Движок поддерживает следующие ноды Cycles :

              Material Output (поддерживаются только входы Surface и Displacement );

              BSDF Glossy (поддерживается только распределение GGX ; параметр Roughness не влияет на отражения);

              Следующие ноды поддерживаются частично:

              Texture Coordinates (параметр From Dupli не поддерживается);

              UV Map (параметр From Dupli не поддерживается);

              Geometry (параметры Pointness и Parametric не поддерживаются).

              Emission (не влияет на освещённость сцены).

              Ноды Cycles также поддерживаются для объекта World , однако на данный момент нодовые материалы не влияют на цвет окружающей среды.

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

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

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

              Если вы хотите узнать, как ваша сцена поведёт себя на низкопроизводительном устройстве, но не располагаете таковым, вы можете использовать очень полезную опцию Min Capabilities Mode . Она находится в Просмотрщике сцен на панели Tools & Debug .

              Количество текстур и переменных векторов, поддерживаемое вашей системой, можно узнать на веб-странице WebGL Report, перейти на которую можно с обзорной страницы SDK .

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

              Переменные векторы

              Нода/Эффект

              Выделенные переменные векторы

              Нода Input -> Texture (если используется выход Normal )

              Нода Blend4Web -> Parallax

              Нода Vector -> Normal Map

              Нода Input -> Material (если для материала выставлена опция Shading -> Tangent Shading )

              Нода Input -> Geometry (если используется выход UV )

              Cycles-нода Input -> UV Map

              Cycles-нода Input -> Texture Coordinate (если используется выход UV )

              Нода Input -> Geometry (если используется выход Vertex Color )

              Тени на объекте с Alpha Blend -материалом

              (в зависимости от количества каскадов теней и источников света, генерирующих тени)

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