Unreal EngineФорумОбщее

Material Instance как Parameter ?

Страницы: 1 2 3 4 5 Следующая »
#0
2:04, 1 янв 2025

Вопрос к знатокам, который в названии темы. Можно ли сделать материал инстанс параметром для инстанса мастер материала, как например в инстанс материал грузим текстуры? Т.е. например есть материал инстанс какого либо материала, открываем другой материал инстанс и через Get Material Attributes вытаскиваем все необходимые данные для их дальнейшего использования. Идея в том чтобы в проекте создать  библиотеку настроенных базовых материалов, а не каждый раз возится в инстансе мастера. Давно копал про это информацию, не нашел, примерный аналог видел только в плагине Voxel, но там вроде это как раз таки сторонний код. Вот стало интересно, может что изменилось.

#1
9:21, 1 янв 2025

ArtByWarlocK
> Идея в том чтобы в проекте создать  библиотеку настроенных базовых материалов, а не каждый раз возится в инстансе мастера.
Создаешь библиотеку настроенных экземпляров материала и где надо применяешь. Если надо создаешь экземпляр экземпляра и меняешь ему параметры.

#2
14:28, 1 янв 2025

Blueprint
> Создаешь библиотеку настроенных экземпляров материала и где надо применяешь. Если надо создаешь экземпляр экземпляра и меняешь ему параметры.

Это не то.

#3
(Правка: 2 янв 2025, 7:54) 16:11, 1 янв 2025

ArtByWarlocK
Тогда пробуй Material Layers. Только вместо смешивания просто передавай атрибуты второму слою.

#4
16:38, 1 янв 2025

Blueprint
> Тогда пробуй Layered Materials. Только вместо смешивания просто передавай атрибуты второму слою.

Они не удобны и не подходят ко всему, например к материалу ландшафта.

#5
20:47, 1 янв 2025

ArtByWarlocK
Нельзя и бессмысленно.
Данные можно и в таблицу зашить, оно и удобней будет.
Прочитал из таблицы назначил на материал, в чём проблема?

#6
(Правка: 21:28) 21:15, 1 янв 2025

Kemanorel
> Прочитал из таблицы назначил на материал, в чём проблема?

Ну проблемы в принципе никакой нет, вопрос был о том что можно ли реализовать то про что я говорил в шапке.

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

#7
21:38, 1 янв 2025

ArtByWarlocK
Я не понимаю в чём проблема? Сделал контентный плагин с нужными материалами и подключай к любому проекту. Я вообще считаю что если текстуры требуют корректировки с помощью параметров то это плохие текстуры и нужно их просто перезаписать с нужными корректировками и при использовании просто назначил текстуру и всё. Но дело твоё может раз скучно тебе - веселись, имеешь право.

#8
(Правка: 22:15) 22:09, 1 янв 2025

Kemanorel
> текстуры требуют корректировки с помощью параметров то это плохие текстуры

Я вот считаю иначе, например у текстур слоев ландшафта, у технических масок рафнеса, дисплейсемента и им подобных, я наоборот растягиваю диапазон до значений от 0 до 1 и уже с ними дальше работаю в движке, выставляю требуемые мне верхнее и нижнее значения и контраст. Так в них информации становится больше, и качество лучше, особенно это касается карт дисплейсемента, при Heigh Blend - е слоев.

#9
22:23, 1 янв 2025

ArtByWarlocK
Для карт высот тоже так делал, для остальных смысла не вижу, увидеть условную разницу в рафнесе 0.5 и 0.53 на соседних пикселях не реально.
Так что если что то можно запихать в текстуру убрав лишнюю логику из материала лучше так и сделать. Исключения могут быть конечно, но на то они и исключения.

#10
(Правка: 22:38) 22:36, 1 янв 2025

Kemanorel
> разницу в рафнесе 0.5 и 0.53

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

#11
4:24, 2 янв 2025

Kemanorel
> Данные можно и в таблицу зашить
В UE есть особый ассет - набор параметров материала.

#12
4:28, 2 янв 2025

ArtByWarlocK
Я так и не понял чего ты хочешь добиться.
Тебе нужны наборы предварительно настроенных материалов. Так сделай их. В чем проблема?

> возникает пикселизация отражений при недостаточной информации в рафнесе
Тип компрессии надо ставить на Mask.

#13
5:10, 2 янв 2025

Blueprint
> Я так и не понял чего ты хочешь добиться.
В шапке написано - использовать материал инстанс одного материала как параметр другого материала.

Blueprint
> Тип компрессии надо ставить на Mask.
Это если не запаковывать дополнительную информацию в алфаканал RGBA текстуры.

#14
(Правка: 7:55) 7:47, 2 янв 2025

ArtByWarlocK
> В шапке написано - использовать материал инстанс одного материала как параметр другого материала.
Нет там такого. Потому что это никому нужно. Исходная задача решается штатными средствами - а именно Material Layers.

Страницы: 1 2 3 4 5 Следующая »
Unreal EngineФорумОбщее