Blendable в пакете: как часть объекта (к примеру, волюма)/динамически созданные в блупринте

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

LightPropagationVolumeBlendable описывает свое отображение в редакторе. Неважно, был ли создан blendable в контент-браузере (слева) или в объекте (т.к. волюм постобработки): пользовательский интерфейс не меняется. Хорошим тоном считается давать каждому свойству свой чек-бокс (weight=0 или weight=1), а всей структуре – смешанный вес.

Примечание: Параметры LightPropagationVolumeBlendable до сих пор существуют в PostProcessSettings для обратной совместимости. Однако мы планируем удалить их и сделать blendables одним методом.

Блупринт

Блупринт AddOrUpdateBlendable обеспечивает удобный доступ к контейнеру blendables. Вы передаете объекту, содержащему контейнер blendables, вес и ссылку на blendable. При наличии этих параметров они просто обновляются. Элементы контейнера не удаляются, так как это может привести к нарушению работы другого кода и сборки мусора. Удаление элементов не является необходимостью, ввиду малых затрат ресурсов.

Здесь вы можете увидеть, как ссылаться на ассет blendable в контент-браузере:

Переменная ‘BlendableVar’ типа LightPropagationVolumeBlendable (Object Reference) используется в качестве ссылки на ассет под названием LightPropagationVolumeBlendable ‘LPV0′.

С блупринт-функцией ConstructObjectFromClass вы можете создавать новый blendable непосредственно в блупринте. Соединяя вход «Outer» нового объекта с объектом, имеющим контейнер blendable, вы добьетесь аналогичного поведения, если бы создавали объект в UI.

Здесь мы создаем объект типа LightpropagationVolumeBlendable, получаем настройки и определяем членов с функцией SetMembersIn.

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

В качестве эксперимента вы можете использовать showflag VisualizeLPV (в редакторе: Visualize/Light Propagation Volume) для отображения смешанных параметров. Это реализовано в коде на C++ и только для данного типа blendable, но позже мы реализуем подобную возможность для каждого свойства без необходимости привносить в код какие бы то ни было изменения.

Showflag Visualize отображается смешанные значения, что полезно при отладке.



Scene Fringe

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

Свойства Описание
Fringe Intensity Определяет, как сильно будут проявляться изменения.
0.0 1.0 5.0

 

Fringe Saturation Определяет заметность изменений. Низкие значения ведут к более размытому результату, а высокие – более выраженному.

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: