.td_uid_47_5cd68ef175272_rand.td-a-rec-img{text-align:left}.td_uid_47_5cd68ef175272_rand.td-a-rec-img img{margin:0 auto 0 0}В този материал с много изображения

...
.td_uid_47_5cd68ef175272_rand.td-a-rec-img{text-align:left}.td_uid_47_5cd68ef175272_rand.td-a-rec-img img{margin:0 auto 0 0}В този материал с много изображения
Коментари Харесай

Пътят, който изминаха 3D текстурите в компютърните игри

.td_uid_47_5cd68ef175272_rand.td-a-rec-img{text-align:left}.td_uid_47_5cd68ef175272_rand.td-a-rec-img img{margin:0 auto 0 0}
В този материал с доста изображения ще стане дума за историята на текстурирането в триизмерните компютърни игри. От появяването на първите 3D игри в действително време тези технологии изминаха дълъг път, само че и през днешния ден при основаването на игрови текстури се употребяват похвати, корените на които могат да се проследят още от тези ранни времена.

Нека първоначално да да се спрем в резюме на основите – за разликите на рендирането в действително време ( real time rendering ) от авансово рендираните ( pre-rendered ) подиуми. В множеството игри се употребява рендиране в действително време. В този случай гейм енджинът генерира изображението в действително време. За основаването на един кадър от рендираната сцена са нужни обилни изчислителни мощности, с каквито предходните геймърски конзоли не разполагаха.


.td_uid_46_5cd68ef174e0e_rand.td-a-rec-img{text-align:left}.td_uid_46_5cd68ef174e0e_rand.td-a-rec-img img{margin:0 auto 0 0}
Това е и повода, на другите компютърни системи да се получава друго равнище на качеството. Но статичните детайли като кинематографските допълнения или неподвижните фонове, могат да се основават посредством авансово рендиране. Преди време разликата при потреблението на тези два метода бе голяма. Ето един авансово рендиран декор, както и персонаж, рендиран в действително време в игра от 1999 година.
#td_uid_41_5cd68ef1639f2.td-doubleSlider-2.td-item1{background:url(https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/05/h11.jpg?resize=80%2C60&ssl=1) 0 0 no-repeat}#td_uid_41_5cd68ef1639f2.td-doubleSlider-2.td-item2{background:url(https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/05/h12.jpg?resize=80%2C60&ssl=1) 0 0 no-repeat}1 от 2
Предварителното рендиране дава опция за основаване на доста забавни и детайлни подиуми, само че за основаването на авансово рендираните фонове и околни пространства бяха нужни часове и даже дни. За картина или филм това е изцяло обикновено и задоволително. Но героите в игрите би трябвало непрестанно да се рендират при възобновяване на фрагментите от равнището на 50-60 fps. Ето за какво, в ранните 3D игри се постановяваше доста опростяване.



В 16-битовите конзоли един от първите образци на 3D игра в действително време бе Star Fox, както и Donkey Kong Country, в които авансово рендираната триизмерна графика бе преобразувана в спрайтове (със мощно опростени цветни палитри). Дълго време нищо друго не изглеждаше по този начин добре в действително време.



А когато се появиха конзолите с същинско 3D (като да вземем за пример N64 и PS1), всички видяха на какво не е способно тогавашното рендиране в действително време. Не можеше да се употребяват източници на светлина, от които да се образуват сенки и да се оправи цялостното осветление на сцената, материалите не реагират на светлината, няма релефно текстуриране ( bump mapping ) – единствено геометрия и текстури с ниска резолюция. Как успяваха художниците да се оправят с всичко това?



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



Можеше да се направи доста опростено помрачаване, само че нямаше от кое място да се вземе вярна информация за осветеността. В игри като Ocarina of Time и Crash Bandicoot се употребява доста информация за осветяването, която се записва в текстурите и се изобразява във върховете на първичните геометрични фигури. По този метод, някои области можеха да стават по-светли или по-тъмни, както и да получават избран отенък.
#td_uid_42_5cd68ef1652a5.td-doubleSlider-2.td-item1{background:url(https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/05/h31.jpg?resize=80%2C60&ssl=1) 0 0 no-repeat}#td_uid_42_5cd68ef1652a5.td-doubleSlider-2.td-item2{background:url(https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/05/h32.jpg?resize=80%2C60&ssl=1) 0 0 no-repeat}1 от 2
В тези времена, за превъзмогването на всичките тези ограничавания се изискваше голям размер креативна работа. До известна степен изобразяването или записа в текстурите на информацията за осветяването се употребява и през днешния ден. Но рендирането в действително време се издигна на напълно ново равнище и нуждата от потреблението на сходни техники понижа.



И по този начин, идващото потомство хардуер трябваше да реши голям брой проблеми. Следващото потомство конзоли – PS2, Xbox и Gamecube пробваха да се оправят с някои от тях. Първото осезателно усъвършенстване на качеството бе повишението резолюцията на текстурите и усъвършенстваната работа с осветлението на героите и сцената.



Една от най-важните в това отношение игра бе Silent Hill 2. Най-сериозното достижение на това заглавие от 2001 година бе генерирането на сенки в действително време. Това значи, че огромна част от записаната в текстурите информация за осветяването може към този момент да бъде отхвърлена и точно това е присъщото за конзолите от това време.



Определяща за тази и за другите игри от тази епоха бе резолюцията. Благодарение на огромния брой пиксели става допустимо проявлението и на най-малки елементи. Но към този момент това е единствено информация за цвета и разсейваната светлина. Bump картите и картите за отразяване на светлината към момента се употребяват прекомерно рядко. Все още е невероятно да се получи вярна реакция на светлината според от материала.



Имаше и още една причина да се употребява проникване на спомагателна информация в текстурите. В авансово рендираните подиуми това не е проблем и при тях дрехата в действителност наподобява като тъкан, а стъклото, косите и кожата наподобяват безапелационно. Но за рендирането в действително време бе належащо релефно текстуриране и то се появи, само че в края на това потомство игри и единствено в Xbox.
#td_uid_43_5cd68ef166821.td-doubleSlider-2.td-item1{background:url(https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/05/h50.jpg?resize=80%2C60&ssl=1) 0 0 no-repeat}#td_uid_43_5cd68ef166821.td-doubleSlider-2.td-item2{background:url(https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/05/h51.jpg?resize=80%2C60&ssl=1) 0 0 no-repeat}1 от 2
Картите на отраженията и нормалите се появиха в игрите като да вземем за пример Halo 2 и Doom 3. Картите на отраженията ( specular maps ) дават опция за по-правилна и по-естествена реакция на осветеността според от материала. Така да вземем за пример, металът може да свети и така нататък Картата на нормалите дава опция да се запишат доста повече елементи при обектите, образуваби от дребен брой полигони.
#td_uid_44_5cd68ef167fbb.td-doubleSlider-2.td-item1{background:url(https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/05/h61.jpg?resize=80%2C60&ssl=1) 0 0 no-repeat}#td_uid_44_5cd68ef167fbb.td-doubleSlider-2.td-item2{background:url(https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/05/h62.jpg?resize=80%2C60&ssl=1) 0 0 no-repeat}1 от 2
Ако сте работили с 3D графика, би трябвало да знаете какво е карта на нормалите ( normal map ). Това е тип релефното текстуриране, даващо опция за доста по-детайлна реакция на светлината в съпоставяне със сложността на обекта. Това е най-важната текстура, която се употребява на процедура във всяка игра, излязла по-късно потомство.



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



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



Освен това, заради авансово пресметнатото помрачаване и мятане на сенки, доста се усъвършенства държанието на материалите. За редица гейм дизайнери и художници, това се оказа решителен миг. Материалите започнаха да стават доста по-сложни спрямо преди. Ето това демо от 2005 година превъзхождаше всичко, основано преди него. По това време към момента няма даже и Xbox 360.



По това време се появи и нов метод към осветяването на сцената – моделът Ambient occlusion . Рендирането в действително време още веднъж трябваше да догонва предварителното рендиране. AO изисква прекалено много запаси, с цел да може рендирането да става в действително време и дизайнерите просто започнаха да записват тази информация в текстурите. Ambient occlusion пресъздава индиректните сенки от източниците на светлина, които основават едно доста детайлно изображение.



Дори през днешния ден технологията Ambient occlusion не е постижима 100% в действително време, само че към този момент сме близо до това! Благодарение на новите SSAO и DFAO процесите, обстановката доста се усъвършенства спрямо каквото беше преди 10 години. И до през днешния ден се употребяват вмъкнати в текстурите Ambient occlusion карти, само че когато рендерите станат още по-добри, гейм дизайнерите ще се откажат от този метод.



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



Може всичко да наподобява чудесно, само че към момента има дефекти. Ниската резолюция на моделите и текстурите плюс нужните прекалено много запаси поради новите шейдъри. Да не забравяме и резолюцията на целия кадър. Едва 720р! Освен това, започнаха да се демонстрират минусите на по-старите тв приемници.



Друг проблем си останаха картите на отраженията (specular maps). По това време всеки обект има единствено една сходна карта на „бляскавостта“. Това е огромно ограничаване. Материалите наподобяват нереално. Ето за какво някои разработчици започнаха да употребяват повече от една сходна карта. Един от първите образци за този метод бе играта Bioshock Infinite.



Картите на отраженията към този момент са разнообразни съгласно вида на материала (дърво, злато, бетон и т.н) и съгласно степента на напреднала възраст на материала (гладък, пукнатини, изхабяване и т.н.). Всичко това съответства с появяването на новата технология за работа със сенките – Physically Based Rendering , PBR (физически правилно рендиране).

Това ни води в днешния ден и към сегашните конзоли. PBR стана стандарт за доста игри. Тази техника бе разпространявана от студиото Pixar, което безусловно го стандартизира като метод за правилно обрисуване на материалите в компютърната графика. И даже технологията може да се употребява в действително време!



Освен това, модернизиран бе конвейерът, появил се в предходното потомство – общите резултати. Аспекти от рода на промяна на цвета и гамата, както и редица други, стана доста по-добра и по-лесна. В предходното потомство за постигането на същото се постановяваше дълга конфигурация на текстурите.



Ако ви е забавно да разберете повече за старите игри и предходните техники на рендиране. мощно предлагам серията DF Retro на канала digitalfoundry. Авторът е направил напряко фантастична работа по разбора на другите игри, като да вземем за пример Silent Hill 2.



Нека просто да съпоставим, по какъв начин изглеждаха първите 3D игри и какъв труд е нужен през днешния ден за основаването на една единствена текстура в играта.
#td_uid_45_5cd68ef169911.td-doubleSlider-2.td-item1{background:url(https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/05/h81.png?resize=80%2C60&ssl=1) 0 0 no-repeat}#td_uid_45_5cd68ef169911.td-doubleSlider-2.td-item2{background:url(https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/05/h82.png?resize=80%2C60&ssl=1) 0 0 no-repeat}#td_uid_45_5cd68ef169911.td-doubleSlider-2.td-item3{background:url(https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/05/h83.jpg?resize=80%2C60&ssl=1) 0 0 no-repeat}#td_uid_45_5cd68ef169911.td-doubleSlider-2.td-item4{background:url(https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/05/h84.png?resize=80%2C60&ssl=1) 0 0 no-repeat}1 от 4
За малко да се спрем и някои от техниките от предходните столетия, които се употребяват и през днешния ден! Има редица стилизирани текстури, в които е записана информацията за осветяването. Този способ най-често се употребява от Blizzard.



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



А от време на време с помощта на PBR техниката и ръчно нарисуваните текстури, може да се стигне доста надалеч. Особено когато се употребява актуален енджин с редица спомагателни функционалности:


.td_uid_48_5cd68ef1755fa_rand.td-a-rec-img{text-align:left}.td_uid_48_5cd68ef1755fa_rand.td-a-rec-img img{margin:0 auto 0 0}
Източник: kaldata.com

СПОДЕЛИ СТАТИЯТА


Промоции

КОМЕНТАРИ
НАПИШИ КОМЕНТАР