Формат файла базового материала ULON
Material specifies which shaders the specific rendering pass will use to render. When you assign the material, the engine starts using its shaders to render the image.Материал определяет, какие шейдеры будет использовать тот или иной проход при рендеринге. Когда вы назначаете материал, движок начинает использовать его шейдеры для рендеринга изображения.
A base material is a *.basemat text file that contains all the information to provide the final appearance for an object. The base material is created by programmers and cannot be edited via the Parameters window.Базовый материал — это текстовый файл с расширением *.basemat, который содержит всю необходимую информацию для отрисовки окончательного вида объекта. Базовый материал создается программистами и не может быть отредактирован через окно Parameters.
It is based on ULON file format declarations that define a base material with the given properties (options, states, textures, parameters, shaders and so on). Он основан на декларациях в формате ULON, которые определяют базовый материал с заданными свойствами (опциями, состояниями, текстурами, параметрами, шейдерами и т.д.).
Besides the ULON nodes, a base material file can also contain an inline UUSL code or UnigineScript expressions.Помимо узлов ULON файл базового материала также может содержать встроенный код UUSL или выражения UnigineScript.
The syntax is the following:Синтаксис следующий:
BaseMaterial <node=ObjectMeshStatic options_hidden=0 preview_hidden=0 var_prefix=var texture_prefix=tex>
{
/* Other ULON nodes here*/
}
There are two types of base material supported:Поддерживается два типа базового материала:
- BaseMaterial — base material for objectsBaseMaterial — базовый материал для объектов
- BaseBrushMaterial — base material for terrain brushesBaseBrushMaterial — базовый материал для кистей ландшафта
ArgumentsАргументы#
editableeditable#
Boolean
A flag indicating if all of the base material settings can be changed in the Parameters window or via API.Флаг, указывающий, можно ли изменить все настройки основного материала в окне Parameters или через API .
Available values:Доступные значения:
- false — unchangeablefalse — неизменяемый
- true — changeable (by default)true — изменяемый (по умолчанию)
hiddenhidden#
Boolean
A flag indicating if the material is displayed in the Materials Hierarchy.Флаг, указывающий, отображается ли материал в иерархии Materials.
Available values:Доступные значения:
- false — displayed (by default)false — отображается (по умолчанию)
- true — hiddentrue — скрыто
manualmanual#
A flag, indicating if a material is manual: created or edited manually, not via UnigineEditor.Флаг, указывающий, имеет ли материал тип manual: создается или редактируется вручную, а не через UnigineEditor.
Available values:Доступные значения:
- false — not manualfalse — не вручную
- true — manual (by default)true — вручную (по умолчанию)
guidguid#
A GUID for the base material.GUID для основного материала.
The guid argument is optional. The GUID for the base material will be generated from its manual name in runtime, if the guid argument isn't specified. Аргумент guid является необязательным. GUID для базового материала будет сгенерирован из его имени вручную во время выполнения, если аргумент guid не указан.
options_hiddenoptions_hidden#
Boolean
A flag indicating if the Options section is displayed for the material in the Common tab.Флаг, указывающий, отображается ли раздел Options для материала на вкладке Common.
Available values:Доступные значения:
- false — displayed (by default)false — отображается (по умолчанию)
- true — hiddentrue — скрыто
preview_hiddenpreview_hidden#
Boolean
A flag indicating if the material preview is displayed.Флаг, указывающий, отображается ли для материала предварительный просмотр.
Available values:Доступные значения:
- false — displayed (by default)false — отображается (по умолчанию)
- true — hiddentrue — скрыто
legacylegacy#
Boolean
A flag indicating if the legacy mode is enabled.Флаг, указывающий, включен ли legacy режим.
Available values:Доступные значения:
- false — displayed (by default)false — отображается (по умолчанию)
- true — hiddentrue — скрыто
var_prefixvar_prefix#
String
The prefix added to the parameters when they are passed to the shader as a variable.Префикс добавляется к параметрам, когда они передаются шейдеру как переменная.
texture_prefixtexture_prefix#
String
The prefixes that are added to the textures when they are passed to the shader.Префиксы, которые добавляются к текстурам при их передаче шейдеру.
definesdefines#
String
The argument that specifies names of definitions that will be passed to all shaders.Аргумент, указывающий имена определений, которые будут переданы всем шейдерам.
nodenode#
String
The type of node to which this material can be applied.Тип ноды, к которому может быть применен этот материал.
Available values:Доступные значения:
- DecalProj — projected decal
- DecalOrtho — orthographic decal
- DecalMesh — mesh decal
- LandscapeLayerMap — landscape layer map
- ObjectDummy — объект Dummy
- ObjectDynamic — dynamic object
- ObjectMeshStatic — static mesh
- ObjectMeshCluster — Mesh Cluster
- ObjectMeshClutter — Mesh Clutter
- ObjectMeshSkinned — Skinned Mesh
- ObjectMeshDynamic — Dynamic Mesh
- ObjectMeshSplineCluster — mesh spline cluster
- ObjectLandscapeTerrain — объект Landscape Terrain
- ObjectTerrainGlobal — объект Global Terrain
- ObjectGrass — объект Grass
- ObjectParticles — системы частиц
- ObjectBillboards — Billboards
- ObjectVolumeBox — Volume Box
- ObjectVolumeSphere — Volume Sphere
- ObjectVolumeOmni — объект Volume Omni
- ObjectVolumeProj — объект Volume Projected
- ObjectGui — объект GUI
- ObjectGuiMesh — GUI mesh
- ObjectWaterGlobal — объект Global Water
defaultdefault#
Boolean
Indicates that this material is used by default for the specified type of nodes.Указывает, что этот материал используется по умолчанию для указанного типа нод.
Available values:Доступные значения:
- false — not used as the default material (by default)false — не используется в качестве материала по умолчанию (по умолчанию)
- true — sets as the default materialtrue — устанавливает в качестве материала по умолчанию
namespacenamespace#
String
The material namespace. Every manual material's name will contain this namespace: namespace::filename.
shader_warning_modeshader_warning_mode#
String
The shader warning mode that defines the way warnings are treated.Режим предупреждения шейдера, определяющий способ обработки предупреждений.
Available values:Доступные значения:
- disable — disables shader warnings outputdisable — отключает вывод предупреждений шейдеров
- soft — only errors result in shader compilation failuresoft — только ошибки приводят к сбою компиляции шейдера
- hard — warnings treated as errors and shader compilation fails (default)hard — предупреждения интерпретируются как ошибки и компиляция шейдера завершается неудачно (по умолчанию)
shader_optimization_levelshader_optimization_level#
Available values:Доступные значения:
- 0 — skip optimization steps during code generation0 — пропускать этапы оптимизации при генерации кода
1 — the compiler produces the slower code compared to other levels but does it quicker1 — компилятор выдаёт более медленный код по сравнению с другими уровнями, но делает это быстрее
Use this level for the shader debugging.Используйте этот уровень для отладки шейдера.- 2 — the second lowest optimization2 — вторая по величине оптимизация
- 3 — the second highest optimization3 — вторая по величине оптимизация
4 — the compiler produces the best possible code but might take significantly longer to do so (default)4 — компилятор создает наилучший код, но это может занять значительно больше времени (по умолчанию)
Use this level for the final builds when application performance matters.Используйте этот уровень для окончательных сборок, когда важна производительность приложения.
shader_disable_errorshader_disable_error#
Boolean
A flag indicating if the shader compilation error output is disabled.Флаг, указывающий, отключен ли вывод ошибки компиляции шейдера.
Available values:Доступные значения:
- false — enables the shader compilation error output (by default)false — включает вывод ошибки компиляции шейдера (по умолчанию)
- true — disables the shader compilation error outputtrue — отключает вывод ошибки компиляции шейдера
shader_disable_exportshader_disable_export#
Boolean
A flag indicating if the preprocessored shader exporting is disabled.Флаг, указывающий, отключен ли экспорт предварительно обработанного шейдера.
Available values:Доступные значения:
- false — enables the preprocessored shader exporting (by default)false — включает экспорт препроцессорного шейдера (по умолчанию)
- true — disables the preprocessored shader exportingtrue — отключает экспорт препроцессорного шейдера
shader_ieee_strictnessshader_ieee_strictness#
Boolean
A flag indicating if the floating math follows IEEE-754 specification for generated shaders.Флаг, указывающий, соответствует ли плавающая математика спецификации IEEE-754 для сгенерированных шейдеров.
Available values:Доступные значения:
- false — disables the floating math strictness (by default)false — отключает плавающую математическую строгость (по умолчанию)
- true — enables the floating math strictnesstrue — включает плавающую математическую строгость
use_uiuse_ui#
Boolean
A flag indicating if the ui groups parsing is not skipped for this and inherited materials.Флаг, указывающий, пропущен ли парсинг групп и отображение в пользовательском интерфейсе для данного материала и его дочерних материалов.
Available values:Доступные значения:
- false — skip the ui elements parsing (by default)false — пропустить парсинг элементов пользовательского интерфейса (по умолчанию)
- true — enable the ui elements parsingtrue — включить парсинг элементов пользовательского интерфейса