Материалы

Использование существующих материалов Godot

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

Для этого экспортер пытается найти материалы Godot с именами, совпадающими с названиями материалов в Blender. Поэтому, если вы экспортируете объект в Blender с именем материала PurpleDots, то экспортер будет искать файл PurpleDots.tres и назначать его объекту. Если тип ресурса данного файла не является SpatialMaterial или ShaderMaterial или если он не может быть найден, то экспортер вернется к экспорту материала из Blender.

Где экспортер ищет файл .tres определяется опцией «Пути поиска материала» (Material Search Paths):

../../../_images/material_search.jpg
Она может принимать следующие значения:
  • Каталог проектов (Project Directory) - Попытается найти файл project.Godot в текущей дериктории и рекурсивно по подкаталогам. Если файл project.Godot не может быть найден, то будет выдана ошибка. Это полезно для большинства проектов, где конфликты имен маловероятны.

  • Каталог экспорта (Export Directory) - поиск материалов в подкаталогах места экспорта. Это полезно для проектов, где у вас могут быть повторяющиеся названия материалов, и вам нужен больший контроль над тем, какой материал будет назначен.

  • Нет (None) - не искать материалы. Материалы будут экспортированы из Blender файла.

Экспорт материалов Cycles/EEVEE

Экспортер имеет примитивную поддержку для преобразования дерева узлов материалов Cycles/EEVEE в формат Godot Shader Material. Обратите внимание, что некоторые шейдерные узлы еще не поддерживаются из-за трудностей в реализации, а именно:

  • все ``noisy textures``("шумные текстуры")

  • сгенерированные текстурные координаты

  • ``групповой узел``(или "узел группы")

  • шейдерные узлы, кроме PrincipledBSDF, Diffuse, Glossy, Glass, add shader и mix shader

Предупреждение

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

Иногда материалы могут быть недействительны для экспорта (например, имеют какой-то не поддерживаемый узел) или они используют внутренний рендер Blender'a, экспортируется только рассеянный цвет и несколько флагов (например, unshaded (незатемненный) флаг), которые образуют Пространственный Материал (Spatial Material).

Генерация внешних материалов

Конфигурация экспорта материала по умолчанию сохранит все материалы внутри файла escn. Есть опция, которая может позволить генерировать внешний файл .material, когда файл escn открывается в Godot.

../../../_images/external_mat_option.jpg

Файл .material может быть назначен любому слоту материала как внешний ресурс.

../../../_images/gd_dot_material.jpg