Unreal Engine 4 - Материали и шейдъри

Българска общност на Unreal Engine 4

Материали и шейдъри

Събиране на материални параметри

unreal

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

engine

материали

В горния пример глобалните настройки се използват за контролиране на следните аспекти на сцената:

  • Преобразуване на цветовете въз основа на скоростта на вятъра и времето от деня.
  • Позицията на играча се проследява и това се отразява в зеленината. Тоест тревата се "разделя", когато играчът ходи по нея.
  • Общият цвят на дифузното осветление в зависимост от времето на деня.

Създаване и редактиране на колекция от параметри на материала

Колекцията от параметри на материаласе създава чрезБраузър на съдържаниес помощта на менюто Добавяне или контекстното меню с десен бутон, след което те могат да бъдат редактирани и записани като всеки друг актив.

    За да създадетеКолекция от материални параметри, първо трябва да щракнете с десния бутон върхуБраузър на съдържание, за да отворите менюто. В това меню изберетеМатериали & Texturesи след това изберетеMaterial Parameter Collection.

материали

След като бъде избран, ще бъде създаден нов активКолекция от материални параметриБраузър на съдържание.

шейдъри

За да редактиратеMaterial Parameter Collection, първо трябва да щракнете двукратно върху нея с левия бутон на мишката, за да отворите прозореца със свойства.

шейдъри

Щракнете върху бутона плюс доСкаларни параметриилиВекторни параметри, за да създадете новите параметри, до които искате да имате достъп от материала. Не забравяйте да въведете имена и стойности по подразбиране.

engine

Използване наКолекции от параметри на материалив Материали

Добавянето наКолекция от параметри на материаликъм всеки материал се извършва в няколко стъпки. В следващия раздел ще разгледаме как да добавим подходящи възли към много прост материал.

    Първото нещо, което трябва да направите, е да създадетеКолекция от материални параметрии да я попълните с данни. За да направите това, щракнете с десния бутон вБраузър на съдържаниеи след това изберетеМатериали и & Textures, и след това изберетеMaterial Parameter Collection. Веднъж създаден, трябва да му дадете име. За този пример ще използвамеMPC_Global_Material_Prams.

unreal

След катоMaterial Parameter Collectionбъде създадена, отворете я с двойно щракване с левия бутон на мишката. След катоКолекцията от материални параметрие отворена, добавете единСкаларни параметрии го наименувайтеGlobal_Desaturation. ОставетеGlobal_Desaturationпо подразбиране на 0,0. След като приключите, вашатаКолекция от материални параметритрябва да изглежда така.

engine

След катоколекцията от параметри на материалие създадена, трябва да създадем прост материал. За този пример ще създадем следния материал. Задайте възлите, както е на снимката.

шейдъри

След като основните възли са свързани, намерете възелаDesaturationв търсенето и го плъзнете в свободна област. След това намерете вашия активКолекция от параметри на материаливБраузър на съдържаниеи го плъзнете в материала. Трябва да имате следното:

материали

След като всички възли са добавени, е време да съберем всичко заедно. Свържете всичко, както е на изображението, и не забравяйте да натиснете бутонаApply, за да приложите промените към материала.

engine

  • За да видимколекцията от материални параметрив действие, първо трябва да приложим материала, който я използва, към желаните обекти в света. След като материалът бъде приложен, отворетеКолекцията от параметри на материала, като щракнете двукратно върху нея с левия бутон на мишката вБраузера на съдържание. След отваряне можем да променимСтойността по подразбиране в Global_Desaturationот 0 на 1 и да видим как се променят обектите.https://www.youtube.com/watch?v=-ZMwWcAWxvQ
  • Актуализиране наКолекция от параметри на материаличрез Чертежи

    Един от начините, по койтоКолекцията от материални параметриможе да бъде модифицирана, е чрез чертежи. Това е изключително мощен начин за манипулиране наколекцията от материални параметри, тъй като ви позволява да го правите във всеки момент от играта.

      Преди да можем да започнем, първо трябва да направим няколко неща. Първото нещо, което трябва да направим, е да създадем няколкоМатериални екземпляраот нашия материал. За този пример трябва да създадем три материала въз основа на екземплярите на материала, създаден по-горе. След създаването променете цвета на някои от тях. За този пример ще използваме червено, зелено исин. След като конструкцията приключи, вашиятБраузър за съдържаниетрябва да изглежда така.

    шейдъри

    Сега е време да ги приложите към различни обекти в сцената, като щракнете с левия бутон върхуЕкземпляр на материалавБраузър на съдържаниеи след това ги плъзнете върху обектите в сцената. След като завършите, трябва да имате нещо, което изглежда така.

    шейдъри

    След това отворетеLevel Blueprint. За да направите това, щракнете върху съответния бутон в менюто над зонатаViewport​.

    unreal

  • След катоLevel Blueprintбъде отворен, е време да настроите някои възли. За този пример се нуждаем от следните възли и променливи.
  • Натиснат ляв бутон на мишката
  • Хронология
  • Задайте стойност на скаларния параметър
  • Променлива тип Float с име: Des
  • материали

    Изберете вSet Scalar Parameter ValueнашатаMaterial Parameter Collectionи параметъра, който искаме да променим.

    материали

    След това ще трябва да настроим нашатаВремева линия, така че при натискане на левия бутон на мишката цветовете да се променят с течение на времето и след това обратно, веднага щом левият бутон на мишката бъде освободен. За да персонализиратехронологията, първо кликнете два пъти върху нея, за да я отворите.

    unreal

    След катоTimelineе отворена, сега трябва да я попълним с някои данни. Първото нещо, което трябва да направим, е да добавимFloatпесен, като щракнете върху иконатаAdd Track Float. След това трябва да добавим два ключа, като щракнем с десния бутон и мишката където и да е в светлосивата област и след това изберемДобавяне на ключот менюто. Добавихме два ключа, един сВреме0.0 иСтойност0.0 и един сВреме1.0 иСтойност1.0. След като добавите ключовете, не забравяйте да наименувате песента. За този пример ще използваме Des_Amount като име.https://www.youtube.com/watch?v=oGNfh9_ctI4

    Хронологиятавече е настроена правилно, можете да я затворите и да се върнете към графиката. След това свържете всички възли, както следва.

    engine

    Ограничения и производителност

    Един материал може да препраща в най-добрия случай към две различниКолекция от параметри на материали.Колекцията от материални параметриможе да има до 1024 скаларни параметъра и 1024 векторни параметъра. Промяната на броя на параметрите в колекция ще прекомпилира всички материали, които се отнасят до тази колекция. Ако трябва да добавите много параметри, по-добре е да го направите на празна карта. Ако преименувате настройка, всяко съдържание, свързано с тази настройка, ще продължи да работи. Въпреки това всеки план, който се позовава на тази настройка, ще се провали. Ще трябва да преназначите използваното име на параметър към новото в чертежа. Използването наКолекция от параметри на материалае много по-ефективно от промяната на множество параметри в много материали.