Как да оптимизираме карта в Hammer Editor: 10 стъпки (със снимки)

Съдържание:

Как да оптимизираме карта в Hammer Editor: 10 стъпки (със снимки)
Как да оптимизираме карта в Hammer Editor: 10 стъпки (със снимки)
Anonim

Искате ли да ускорите производителността на вашата персонализирана карта, да не се потопите в изобразяването на хълцане и да намалите времето за компилиране? Ето няколко съвета, които да ви помогнат да оптимизирате всяка карта в Hammer.

Стъпки

Оптимизиране на карта в Hammer Editor Стъпка 1
Оптимизиране на карта в Hammer Editor Стъпка 1

Стъпка 1. Затворете стаите

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

  • На фиг. 1а стаята очевидно не е запечатана. Ако съставите тази карта с този изтичане, vvis (частта от компилацията, която определя данните за видимостта) няма да може да определи границите на картата, тъй като листата просто ще "изтекат" навън в черната празнота извън нашата карта.
  • На фиг. 1б стаята е запечатана и ще бъде компилирана правилно.
  • За да проверите за течове, първо се уверете, че има поне един обект в картата (например "info_player_start"), в противен случай това няма да работи. Запазете и компилирайте BSP, като натиснете F9 или отидете на File -> Run Map. Изберете „Нормално“за Стартирайте BSP и изберете „Не“и за двете Стартирайте VIS и Стартирайте RAD (също не забравяйте да проверите „Не стартирайте играта след компилиране“ кутия). След като приключите с компилирането, затворете дневника за компилиране и отидете на Map -> Load Point File. Ако има някакви течове, той ще ви помоли да потвърдите операцията (напр. „Зареждане на файл по подразбиране? [C: / Program Files / ----]) Изберете„ Да “и ще видите изпъкнала червена линия от най -близкия обект* навън през зоната на изтичане. (* Ето защо имате нужда от обект, или четка, или точка в картата си. Той не работи със световни или детайлни четки.) Запечатайте теча, прекомпилирайте BSP и заредете pointfile. Ако всичко е запечатано, то трябва просто да отиде в празна папка в Steam / steamapps / GAMERTAG / GAME / mapsrc папка. Винаги проверявайте за течове, преди картата да бъде пусната за обществеността.
Оптимизиране на карта в Hammer Editor Стъпка 2
Оптимизиране на карта в Hammer Editor Стъпка 2

Стъпка 2. Създайте четки с "tools/toolsnodraw"

Винаги създавайте четки с инструменти/toolsnodraw първо текстура и след това текстура само това, което играчът може да види от гледната точка на играча. Ако ще виждате само едната страна на стената, текстурирайте само тази видима страна.

Оптимизиране на карта в Hammer Editor Стъпка 3
Оптимизиране на карта в Hammer Editor Стъпка 3

Стъпка 3. Намалете броя на четките и лицата

Когато е възможно, се придържайте към създаването на геометрия с няколко големи четки, а не с хиляда малки. Повече четки е равно на повече лица, а повече лица е равно на по -бавна производителност и време за компилиране. В крайна сметка: ако можете да създадете сложна геометрия с една или две четки, защо да използвате повече от това?

На фиг. 3а има две четки: тази вляво е създадена с помощта на Arch Tool, който създава 8-странична четка с 40 лица, а тази вдясно е направена от една подрязана четка само с 11 лица. Последното беше постигнато чрез използване на Clipping Tool (Shift + X). За да се постигне последното, се препоръчва първо да се създаде желаната геометрична форма от Arch Tool първо за справка. След това създайте четка със същата дължина, ширина и височина като референтната арка и я поставете малко над референтната. Изберете четката и изрежете ъглите. (може да се наложи да промените размера на мрежата ("-" за намаляване, " +" за увеличаване) и/или ръчно да преместите върховете (Shift + V) на референтната арка, за да щракнете до най-близката точка на мрежата.) Сега имате геометрично идентична четка, но само с по -малко лица

Оптимизиране на карта в Hammer Editor Стъпка 4
Оптимизиране на карта в Hammer Editor Стъпка 4

Стъпка 4. Използвайте добре четките за детайли

Четките на света блокират видимостта, запечатват картата и разделят BSP на „листа“, които са основно начинът на компилатора да определи какво може и какво не може да се види по всяко време и място. Детайлните четки са проектирани да бъдат по същество „невидими“за компилатора. Единствените четки, които трябва да бъдат световни четки, са стените, пода и тавана на една стая. Почти всичко останало в стаята, което не е работеща единица и не блокира значително зрението на играча, трябва да бъде свързано с четка func_detail (вратовръзка с помощта на Ctrl + T). Тъй като четките за детайли не блокират видимостта, те няма да бъдат компилирани vvis изчисления и няма да раздели картата на повече листа (което е добре в повечето случаи). Имайте предвид обаче, че това също няма да запечата картата. Просто се уверете, че всички четки по света запечатват картата и не би трябвало да има проблеми.

Оптимизиране на карта в Hammer Editor Стъпка 5
Оптимизиране на карта в Hammer Editor Стъпка 5

Стъпка 5. Използвайте областни портали и четки за намеци по подходящ начин

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

Оптимизиране на карта в Hammer Editor Стъпка 6
Оптимизиране на карта в Hammer Editor Стъпка 6

Стъпка 6. Използвайте оклудера (пестеливо)

Оклудерите са подобни на портал за затворена област, тъй като не изобразява това, което стои зад него. Въпреки това, той е различен от затворен портал с това, че не е необходимо да запечатва помещение (може да бъде свободно стоящ и да не докосва световните четки) и блокира само 3D модели (известен още като реквизит). Този инструмент е много скъп по отношение на използването на паметта, така че трябва да използвате оклудера само когато има скъп 3D модел зад свободно стояща стена, която не може да бъде запечатана от областни портали.

Оптимизиране на карта в Hammer Editor Стъпка 7
Оптимизиране на карта в Hammer Editor Стъпка 7

Стъпка 7. Добавете 3D Sky-кутии

Не е напълно необходимо, но ще помогне картата да изглежда много по -голяма, без да забавя драстично FPS (кадъра в секунда). 3D skyboxes обикновено се правят за "големи" външни карти, но е възможно да се направи за вътрешна карта, ако можете да видите екстериор през прозорец или нещо подобно. 3D skybox -ите са много евтини за изобразяване и могат да направят малка карта да изглежда до 16x по -голяма, тъй като 3D skyboxes са настроени на мащаб 1/16 в Hammer и след това се увеличават по време на компилиране.

Оптимизиране на карта в Hammer Editor Стъпка 8
Оптимизиране на карта в Hammer Editor Стъпка 8

Стъпка 8. Добавете мъгла

На големи външни карти мъглата може да ограничи количеството детайли, които се изобразяват, и може да направи картата ви по -реалистична в процеса. Просто добавете обект env_fog_controller във вашата карта. При опцията „Активиране на мъгла“в Свойства на обекта раздела, изберете „Да“. След това редактирайте Far Z Clip Plane по ваш вкус, който ще премахне всички четки след това разстояние, премахвайки двигателя, изобразяващ ненужни предмети (Far Z Clip Plane стойността трябва да бъде по -голяма от Край на мъглата стойност).

Оптимизиране на карта в Hammer Editor Стъпка 9
Оптимизиране на карта в Hammer Editor Стъпка 9

Стъпка 9. Не полудявайте по скалата на Lightmap

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

Оптимизиране на карта в Hammer Editor Стъпка 10
Оптимизиране на карта в Hammer Editor Стъпка 10

Стъпка 10. Ако вашата карта има вода, поставете обект "water_lod_control" в картата

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

Съвети

  • Изместванията не блокират видимостта, така че за да сте сигурни, че картата е запечатана, създайте световна четка с инструменти/toolsnodraw текстура под изместването и запечатайте картата с нея (т.е. ъглите на тази четка да докосват ъглите на skybox). Както и в първата стъпка, винаги се уверете, че картата е запечатана, в противен случай почти всяка спомената техника за оптимизация се изхвърля през прозореца и в черната празнота на двигателя Source.
  • При създаване на областни портали (чрез създаване на четка, текстурирана с инструменти/портал за инструменти и обвързването му с func_areaportal), много е важно страните на областния портал, които не се разглеждат, да докосват световните четки. Например, ако искате да поставите областния портал във врата, но тази врата има рамка, свързана с func_detail, бихте не четката на areaportal да докосва рамката на вратата, защото е func_detail (и тъй като четките func_detail не влияят на видимостта, дневникът за компилиране ще се върне с изтичане). Вместо това четката за областния портал трябва да докосва стените, тавана и пода на вратата (които всички трябва да са световни четки), пресичайки рамката на вратата. Не се притеснявайте, че може да има "z-изрязване" около рамката на вратата; рамката все още ще се изобразява правилно в играта… просто е там в редактора на Hammer, за да може компилаторът да го използва по време vvis.
  • Тази статия предполага, че имате основни познания за интерфейса на Hammer Editor (създаване на четки, поставяне на обекти, обвързване на обекти и т.н.).
  • Когато създавате четки за подсказки, само текстурирайте лицата, действащи като плоскости за подсказване (лицата, които ще разделят BSP) с инструменти/инструменти текстура. Текстурирайте всяко друго лице на четката, което не действа като плоскост на намек с tools/toolsskip, в противен случай ще създавате повече листове, отколкото искате.
  • Можете да свържете отворено/затворено състояние на портален регион към работеща врата, като например func_door, func_door_rotating или подобен обект. За да направите това, вратата, към която искате да се свърже областният портал, се нуждае от уникално „име“. (Дайте името, като щракнете двукратно върху вратата, за да я отворите Свойства на обекта прозорец и му дайте просто име под Име в раздела Информация за класа.) След като назовете вратата, отидете на областния портал Свойства на обекта и превъртете надолу до „Име на свързана врата“и изберете вратата, към която искате да свържете областния портал. Също (и това е много важно) трябва да зададете Първоначално състояние на района портал към Първоначално състояние на вратата. Това прави, за да гарантира, че когато вратата е затворена, районният портал се затваря с нея. Ако сте любопитни какво точно диктуват състоянията на отворения/затворения областен портал, ако даден областен портал е отворен, всички визуални листа, които се виждат от другата страна на областния портал, се изобразяват. Обратно, ако areaportal е затворен, тогава нищо извън areaportal няма да бъде изведено. Така че, ако има отворен коридор, в който винаги ще можете да проникнете, Първоначално състояние на областния портал трябва да бъде настроен на Отворен, а не Затворен. И когато е свързан с врата, така или иначе няма да можете да виждате покрай вратата, затова я настройте на Затворена, ако вратата се затвори (освен ако няма прозрачен прозорец, който след това трябва да настроите areaportal на Open и don дори не се притеснявайте да го свържете с вратата).

Предупреждения

  • Никога не правете сложна четка с Hollow Tool. Върховете (ъглите на четките) ще се пресичат помежду си и просто ще създадат голяма небрежна бъркотия.
  • Използвайте оклудера само в краен случай. Това изисква много памет, така че ако подпората може да бъде запечатана в стая с портални области или ако е възможно да се разделят листата с четки за подсказване и пропускане, тогава се откажете от използването на оклудери.
  • Порталите с отворена област са много по-интензивни за памет, тъй като листата се изчисляват в реално време. Препоръчително е да използвате възможно най -често или затворени портали, или четки за намеци.

Препоръчано: