Полезное

Мы Вконтакте

Discord канал

Обзор материал-функций

Добавлено Июн 29 2016

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

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

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

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

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

Обзор материал-функций в unreal engine 4

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

Обзор материал-функций в unreal engine 4

Material Function Library

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

Обзор материал-функций в unreal engine 4

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

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

Для полного списка существующих функций в библиотеке функций материала по умолчанию, вы можете посмотреть Material Function Reference.

Function Related Nodes

Ниже находятся выражения материала, которые относятся к функциям материала, наряду с их назначением:

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

FunctionInput — может быть добавлен только в функции материала, где создает входы функции.

FunctionOutput — может быть добавлен только в функции материала, где создает выходы функции.

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

TextureObjectParameter — определяет параметры текстуры и выводит текстурный объект, используется в материалах которые называются функциями с текстурными входами. Это выражение не является образцом текстуры, так что его следует использовать в сочетании с нодой TextureSample.

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

StaticBool — удобен при предоставлении стандартного булевого значения для статичной булевой функции на входе самой функции. Это выражение не переключается между остальными, поэтому его нужно использовать в сочетании с выражением StaticSwitch.

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

Input and Output

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

Сами по себе выражения FunctionInput, FunctionOutput выглядят так:

Обзор материал-функций в unreal engine 4

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

Обзор материал-функций в unreal engine 4

FunctionInput Nodes

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

Обзор материал-функций в unreal engine 4

Они содержат следующие свойства и контакты данных:

Функция Описание
Properties

Input Name
Задает название для входа, которое будет отображаться не функции.
Decription Задает писание этого входа, которое будет отображено когда пользователь наведет мышку на входящий контакт функции.
Input Type Сообщает входу, какие виды данных ожидать. Смотрите Input Types ниже.
Preview Value Служит в качестве средства для тестирования, и как способ помочь визуализировать что делает функция в течении процесса построения. Любое значение входящее тут будет использоваться, как оно было отправлено с помощью входа вне самой функции.
Use Preview Value as Default Данный чекбокс просто позволяет любой информации заданной в значении предпросмотра использоваться как обычное значение. Это полезно если вы не хотите заставлять пользователя предоставлять вход к функции для этого значения.
Sort Priority Это число используется для упорядочивание в случае когда входящие контакты будут перечислены на выражении функции. В порядке от меньшего к большему.
Input Pins
Preview Этот вход будет принимать значение которое заменит свойство Preview Value. Как и в случае ассоциативного свойства, это полезно для тестирования функции в процессе создания и настройки стандартных значений.
Output Pins
(Unlabled) Это предоставляет выход для получаемой информации которая будет обрабатываться через функцию.

FunctionOutput Nodes

FunctionOutput nodes provide the means by which processed data will exit the final function for further use in a material. As with FunctionInput nodes, a function may have any number of these nodes, leading to any number of potential outputs.

Обзор материал-функций в unreal engine 4

Функция Описание
Properties
Output Name Представляет имя для выхода, которое будет отображаться вне функции.
Description Представляет описание этого входа, которое будет видно когда пользователь наведет мышку на выходящий контакт функции.
Sort Priority Это число используется для контролирования порядка в котором входящий контакт будет перечисляться на выражении функции. В порядке от меньшего к большему.
Input Pins
(Unlabeled) Обеспечивает ввод данных которые были обработанны в функции. Эти данные будут отправлены из функции для использования в материале.

Input Types

Входы имеют специфический тип который требуется для любых выражений связанных с ними. Он задается через свойство Input type в выражении FunctionInput. Вне функции, этот тип затем отображается в нескольких сообщениях рядом с входными соединениями когда функция используется в материале. В этом случае, оба входа где Vector3 отображаются как V3. Все что подключено ко входу при использовании в материале должно быть преобразуемым к типу входа иначе вы получите ошибку.

Обзор материал-функций в unreal engine 4

Ниже перечислены доступные типы входов и их ассоциативные аббревиатуры:

Тип входа Аббревиатура
Scalar S
Vector2 V2
Vector3 V3
Vector4 V4
Texture2D T2D
TextureCube TCube
StaticBool B

Сommon Properties

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

Функция Описание
Properties
Description Это описание будет появляться как подсказка, когда пользователь наведет на функцию в списке функций или наведет мышь на тело функции в самом редакторе материалов.
Expose to Library Если установлена галочка, тогда функция материала появится среди списка функций материалов внутри редактора материалов и может быть использована в материале. Возможно вам придется перезапустить редактор чтобы новая функция появилась.
Library Categories Этот массив содержит все категории функций материалов под которым эта функция будет появляться.

Previewing

При редактировании функции материала, окно предпросмотра отображается в независимости от выражения отображаемого в предпросмотре. Вы можете нажать правой кнопкой мыши по любому выражению и выбрать Start Previewing Node чтобы отобразить результат вашей сети на данном моменте.

Обзор материал-функций в unreal engine 4

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

Обзор материал-функций в unreal engine 4

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

Обзор материал-функций в unreal engine 4

В этом примере, выражение Static Bool используется чтобы предоставить стандартное значение на входе static bool.

Обзор материал-функций в unreal engine 4

Отметим, что вход имеет опцию названную «Use Preview Value As Default«. Когда она включена, значение предпросмотра будет использоваться в любое время когда функцию используется в материале и ничего не подключено к этому входу, вместо создания ошибки компиляции. Это делает вход опциональным, поэтому он окрашен серым.

Parameters

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

Чтобы использовать параметр текстуры с функцией, создайте texture input и соедините его к texture object переопределив его в ноде texture sample:

Обзор материал-функций в unreal engine 4

Затем, в материале который использует функцию, разместите выражение TextureObjectParameter и соедините его ко входу в текстуру:

Обзор материал-функций в unreal engine 4

Также для static switch параметров, создайте Static Bool вход и соедините его с нодой StaticSwitch:

Обзор материал-функций в unreal engine 4

Затем, в материале который использует функцию, разместите выражение StaticBoolParameter и соедините его со входом static bool:

Обзор материал-функций в unreal engine 4

Organization

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

Function Description — Нажмите на пустую область чтобы увидеть свойства функции, где расположено Description. Если вы собираетесь заполнить только одно поле описание, используйте это! Оно будет отображаться как всплывающая подсказка где бы функция не появилась (Content Browser, material function library, function call node).

Input / Output Descriptions
— Они располагаются на входных и выходных выражениях функции. Они всплывут как подсказки при наведении мыши на входы и выходы самого выражения функции.

Заполненное описание функции:

Обзор материал-функций в unreal engine 4

Соответствующая подсказка при использовании в материале:

Обзор материал-функций в unreal engine 4

Propagation

Когда вы редактируете функцию и нажимаете на «apply changes», новая версия передаются на все загруженные материалы или функции которые отсылаются к этой функции. Любые не загруженные материалы которые ссылаются на функцию будут обновлены при следующей загрузке.

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

Все загруженные материалы, которые используют функцию будут отмечены “грязными” когда изменение функции будет применено, которая может использоваться чтобы увидеть какие пакеты могут быть разрешены чтобы предотвратить увеличение времени загрузки. Вы можете найти все загруженные материала которые используют функцию нажам правой кнопкой мыши в контент браузере и выбрав эту опцию:

Обзор материал-функций в unreal engine 4

Nesting Functions

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

Compile Errors

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

Обзор материал-функций в unreal engine 4

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

Обзор материал-функций в unreal engine 4

Когда входы функции были соединены, но в соответствии с сообщением об ошибке здесь есть ошибка с выражением OneMinus в функции.

Обзор материал-функций в unreal engine 4

Default Material Functions

Множество функций материалов уже были созданы и они включены в Unreal Engine 4. Они будут сразу доступны в Material Editor Palette.

Стандартные функции материалов могут быть вызваны для редактирования через контент браузер Engine > Functions папка.

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

Для большей информации о стандартных функциях, смотрите Material Function Reference.

Добавил: RedComrade Категория: Материалы и Шейдеры


Комментарии

На данный момент комментарии отключены.

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница