10 VR съвета за Unreal Engine

Що се отнася до играта и филмовата индустрия, технологията изглежда напредва с невероятна скорост, създавайки спиране на шоуто 3D филми , реални игрови преживявания и 3D изкуство . Но горещата тема в момента е виртуалната реалност.

Epic Games ' Демонстрация на шоудаун беше популярна витрина на VR преди няколко години и с пускането на Нереален двигател 4 , Epic направи целия проект на разположение на всеки, който може да го изтегли, деконструира и използва по желание.

В Showdown зрителят е попаднал в сцена, в която градските войници се бият с масивен робот с бавно движение. С поддръжка на 360 градуса за проследяване на главата за гледане на сцената под много ъгли и съдържание, което тласка графичните процесори от клас Nvidia Maxwell, Showdown е създаден за разкриването на прототипа на дисплея на Oculus Rift Crescent Bay, монтиран на главата при първия Oculus Connect. Той е създаден, за да тества границите на съвременните VR резолюции и честоти на кадрите.



Докато бяхме съсредоточени върху прокарването на технологичните граници с Showdown, всъщност бяхме творчески ограничени. Имахме пет седмици, за да направим демонстрацията, с екип от двама души и заимствахме време от няколко други хора, така че адаптирахме съдържание от две предишни демонстрации: Samaritan и Infiltrator. Тъй като анимацията беше оскъдна, разтеглихме седем секунди действително съдържание, за да запълним две минути демо време - оттук и щастливото откритие, породено от практически ограничения: чрез забавяне на действието навсякъде около вас, ние можем да подчертаем детайлите на сцената.

Това, което следва, са 10-те най-добри техники за оптимизация, използвани за увеличаване на производителността в Showdown. Всяка от тези техники може да се приложи към VR проекти, базирани на Unreal Engine 4, за да се постигне възможно най-добрата производителност. Showdown поддържа DK2 и по-нови версии, така че ако имате достъп до комплект за разработка, изтеглете го от стартовия панел на Epic Games и го опитайте.

01. Направете съдържанието си така, сякаш е 1999 година

VR съвети за Unreal Engine: направете съдържанието си като през 1999 г.

Честотата на кадрите е във VR, така че поддържайте нещата възможно най-прости

Когато започнете да разработвате съдържание за VR проекти, може да се изкушите да бъдете либерални с броя на върховете, размерите на текстурите и материалите, за да създадете възможно най-завладяващото изживяване. Устояйте на този порив и вместо това направете крачка назад. Първо, разработете план, който ви позволява да увеличите максимално използването и повторното използване на всеки актив в проекта.

Връщането на стари училищни техники за изкуство като атласиране на текстури или използване на статични мрежи за симулиране на скъпи отражения в реално време са от ключово значение за гарантиране, че вашият VR проект може да работи възможно най-бързо, давайки на потребителя най-доброто постижимо VR изживяване.

02. Ако го нарисувате, той ще бъде изобразен

VR съвети за Unreal Engine: Ако го нарисувате, той ще бъде изобразен

Използвайте Stat Scenerendering, за да следите вашите обаждания за теглене

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

За да сте сигурни, че сцената няма да стане твърде тежка за рисуване, използвайте командата Stat Scenerendering, за да видите колко обаждания за изтегляне се използват в момента. Showdown се ограничи до 1000 обаждания за изтегляне на кадър, но не забравяйте, че има две обаждания за изтегляне на обект, защото сме в стерео! Това означава, че в моноскопично имаме само 500 обаждания за изтегляне на кадър, с които да работим.

Също така си струва да се отбележи, че това ще бъде по-малко проблем, тъй като инсталираното стерео се превключва в основния клон за развитие на Unreal Engine 4.

03. Активирайте сложността на шейдъра

VR съвети за Unreal Engine: Много шейдър, такава сложност

Режимът на сложност на шейдъра бързо идентифицира тесните места при изобразяването

Когато се определя кои материали струват по-скъпо от други, това може да отнеме много време за решаване и да бъде трудно да се проследи. За щастие UE4 предлага специален режим на преглед, наречен Shader Complexity, който може да се използва, за да се определи кои материали струват повече от другите. Когато активирате Shader Complexity с помощта на прекия път [Alt] + [8], вашата сцена ще бъде представена от различни нюанси на зелено, червено и бяло.

Тези различни нюанси на цвета показват колко скъп е да се изобрази един пиксел. Ярко зелено означава, че пикселът е евтин, докато червеното до бялото показва пиксели, които струват все повече и повече за изобразяване. Можете също да активирате Shader Complexity, като натиснете [F5], когато необработената версия на вашия проект се изпълнява в редактор или в самостоятелен прозорец.

04. Направете танц за профилиране на изпълнението

VR съвети за Unreal Engine: Изпълнение на танца за профилиране на изпълнението

Продължете да профилирате, за да сте сигурни, че производителността не се маркира

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

За да определите дали вашият проект е свързан с CPU или GPU, използвайте командата Stat Unit и наблюдавайте показаните числа. Ако номерата са жълти или червени, това означава, че вашият проект ще бъде или вече е свързан с GPU или CPU. Ако номерата са зелени, тогава можете да отидете. По-често е да бъдете обвързани с GPU, отколкото с CPU.

Ако определите, че сте обвързани с GPU, можете да разгледате по-дълбоко, за да видите корена на проблема, като използвате родния профилист на UE4. За да активирате профила, натиснете [Ctrl] + [Shift] + [Comma]. След като GPU профилиращият е отворен, можете да проверите кои елементи във вашата сцена струват най-много, за да се визуализира GPU, и след това да премахнете или оптимизирате тези обекти. Уверете се, че осветлението ви е изградено, преди да стартирате профилиращия профил, за да избегнете фалшиви положителни резултати.

05. Фалшифицирайте, докато не успеете

VR съвети за Unreal Engine: Фалшифицирайте го, докато не го направите

Не използвайте взискателен трик за изобразяване, ако можете да го фалшифицирате безплатно

Намирането на интелигентни начини за пресъздаване на скъпи опции за рендиране, като динамични сенки и осветление, може да бъде огромна печалба за постигане на целите ви за производителност във VR. В Showdown открихме, че използването на символи, хвърлящи динамични сенки, всеки кадър е твърде скъп, затова го отрязахме.

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

06. Светлинни карти на помощ!

VR съвети за Unreal Engine: Светлинни карти на помощ!

Отидете в старата школа със светлинни карти

Идеята за съхраняване или изпичане на сложни изчисления на осветлението в текстури не е нищо ново в света на компютърната графика. Този метод на осветление - наречен lightmapping - работи, като изчислява колко сложно осветление трябва да изглежда, като съхранява тези резултати в текстура и след това използва тази текстура, за да картографира резултатите на повърхности в 3D свят.

Showdown използва интензивно lightmapping по две причини: първо, lightmapping придава осветление на ниво интересна и динамична естетика, и второ - и по-важното - lightmapping е изключително евтино за използване по време на изпълнение, освобождавайки ресурси за други рендиращи задачи.

07. Използвайте актьори за улавяне на отражение

VR съвети за Unreal Engine: Те направиха какво с отражателните сонди?

Актьорите за улавяне на отражения предоставят страхотни отражения на малка част от цената на изобразяване

Отраженията играят ключова роля, за да помогнат на 3D визуализациите да изглеждат по-реалистични. В Showdown отраженията бяха силно използвани, за да придадат на света по-сложен вид и да го накарат да се чувства по-обоснован. Демонстрацията обаче използва интересен начин за заснемане и показване на тези отражения, който е едновременно евтин и лесен за управление: актьорите за улавяне на отражения са разположени на цялото ниво.

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

08. Не разчитайте на трикове VFX

VR съвети за Unreal Engine: Силата на VFX

Не всички стари трикове VFX се прехвърлят добре в VR среда

Визуалните ефекти играят огромна роля, помагайки на потребителя да се потопи изцяло във VR. Въпреки това, някои стари трикове, използвани за по-евтино представяне на VFX в реално време, не се държат добре във VR. Например, използването на текстури на flipbook за дим ще направи димът да изглежда като плосък лист във VR, разрушавайки правдоподобността на ефекта.

За да заобиколи това, Showdown използва предимно прости статични мрежи за VFX вместо техники като текстури на flipbook. Едно допълнително предимство от използването на статични мрежи по този начин е, че отваря вратата за разгръщане на близки полеви ефекти много близо до камерата, което допълнително привлича потребителя към преживяването.

09. Регулирайте процента на екрана

VR съвети за Unreal Engine: Трикът за разделителна способност на екрана

Вземете правилния баланс между честотата на кадрите и визуалното качество

Регулирането на процента на екрана на вашия VR проект може да ви помогне да работи по-бързо в името на визуалната вярност. Това е така, защото процентът на екрана контролира размера на крайната цел за изобразяване, показана на HMD. Процентът на екрана на вашия проект може да бъде намален до 30 процента от нормалния размер или до 300 процента от нормалния размер.

За да тествате как различните размери на екрана изглеждат по време на игра, използвайте командата Unreal console HMD SP [въведете номер]. След като намерите настройка, която работи за вашия проект, можете да я поставите в DefaultEngine.INI, като добавите r.ScreenPercentage = [въведете номер]. Започнете от малко и се качвайте внимателно, докато експериментирате с тази функция.

10. Помислете за полупрозрачността

VR съвети за Unreal Engine: Да злоупотребявате или да не злоупотребявате с полупрозрачност

Ако можете да използвате заобикаляне вместо прозрачност, изберете го

Showdown използва много малко прозрачност поради високата цена на рендиране на функцията на кадър. Като алтернатива избрахме да използваме метод, който използва свойствата на временното сглаждане, без свързаните разходи. За да постигнете тази функционалност и да направите даден обект да изглежда полупрозрачен, можете да използвате маскиране на непрозрачност в материалите на вашия проект, заедно с функцията за материали на Dither Temporal AA.

Въпреки че не винаги е заместител на полупрозрачността, той може да бъде достоен заместител на сцени, които се нуждаят от полупрозрачно приближаващо избледняване. За да използвате тази функция, уверете се, че това, което използвате за полупрозрачност, сте въвели във функцията за материал Dither Temporal AA, преди да преминете към въвеждането на материала за непрозрачност.

Прочетете още: