Paano Mag-optimize ng isang Mapa sa Hammer Editor: 10 Hakbang (na may Mga Larawan)

Talaan ng mga Nilalaman:

Paano Mag-optimize ng isang Mapa sa Hammer Editor: 10 Hakbang (na may Mga Larawan)
Paano Mag-optimize ng isang Mapa sa Hammer Editor: 10 Hakbang (na may Mga Larawan)
Anonim

Nais mo bang pabilisin ang pagganap ng iyong pasadyang mapa, hindi masisira sa pag-render ng mga hiccup at bawasan ang oras ng pag-ipon? Narito ang ilang mga tip upang matulungan kang ma-optimize ang anumang mapa sa Hammer.

Mga hakbang

I-optimize ang isang Mapa sa Hammer Editor Hakbang 1
I-optimize ang isang Mapa sa Hammer Editor Hakbang 1

Hakbang 1. Seal off ang mga silid

Ito ay dapat. Kung mayroong ANUMANG paglabas sa mapa, hindi matutukoy ng tagatala ang mga hangganan ng mapa, at susubukan na i-render ang lahat sa loob ng mapa nang sabay-sabay. Mas masahol pa, ang anumang mga portal ng lugar, hint ng brush at mga occluder sa mapa ay hindi gagana, na ginagawang walang silbi. Gayundin, ang tubig ay hindi mag-render nang tama kung mayroong mga paglabas sa mapa.

  • Sa Larawan 1a, malinaw na hindi selyado ang silid. Kung pinagsama mo ang mapang ito sa tagas na iyon, vvis (ang bahagi ng pagtitipon na tumutukoy sa data ng kakayahang makita) ay hindi matukoy ang mga hangganan ng mapa, dahil ang mga visleaves ay "maglabas" lamang sa itim na walang bisa sa labas ng aming mapa.
  • Sa Fig. 1b, ang silid ay natatakan at maiipon nang tama.
  • Upang suriin ang mga pagtagas, siguraduhin muna na mayroong kahit isang entity sa mapa (tulad ng isang "info_player_start"), kung hindi man ay hindi ito gagana. I-save at ipagsama ang BSP sa pamamagitan ng pagpindot sa F9 o pagpunta sa File -> Run Map. Piliin ang "Normal" para sa Patakbuhin ang BSP, at piliin ang "Hindi" para sa pareho Patakbuhin ang VIS at Patakbuhin ang RAD (tiyaking suriin din ang "Huwag patakbuhin ang laro pagkatapos ng pag-ipon" kahon). Kapag natapos na ang pag-ipon, isara ang log ng pag-ipon at pumunta sa Map -> Load Point File. Kung mayroong anumang mga pagtulo, hihilingin sa iyo na kumpirmahing ang operasyon (hal. "Load default pointfile? [C: / Program Files / ----]) Piliin ang" Oo ", at makikita mo ang isang pulang linya na nakausli mula sa pinakamalapit na entity * palabas sa lugar ng pagtulo. (* Ito ang dahilan kung bakit kailangan mo ng isang entity, alinman sa brush o point, sa iyong mapa. Hindi ito gumagana sa mga brushes sa mundo o detalye.) Seal the leak, recompile the BSP, at i-load ang pointfile. Kung ang lahat ay selyadong, dapat lamang itong pumunta sa isang walang laman na folder sa Steam / steamapps / GAMERTAG / GAME / mapsrc folder. Palaging suriin kung may tumutulo bago mailabas ang mapa sa publiko.
I-optimize ang isang Mapa sa Hammer Editor Hakbang 2
I-optimize ang isang Mapa sa Hammer Editor Hakbang 2

Hakbang 2. Lumikha ng mga brush na may "mga tool / toolnodraw"

Tiyaking palagi kang lumilikha ng mga brush kasama ang mga tool / toolnodraw una ang pagkakayari at pagkatapos ay ang texture lamang ang maaaring makita ng manlalaro mula sa pananaw ng manlalaro. Kung makikita mo lamang ang isang bahagi ng isang pader, pagkatapos ay i-texture ang nakikitang panig lamang.

I-optimize ang isang Mapa sa Hammer Editor Hakbang 3
I-optimize ang isang Mapa sa Hammer Editor Hakbang 3

Hakbang 3. Bawasan ang bilang ng mga brush at mukha

Kailanman posible, manatili sa paglikha ng geometry na may ilang malalaking brushes kaysa sa isang libong maliliit. Mas maraming mga brushes ay katumbas ng higit pang mga mukha, at maraming mga mukha ay katumbas ng mas mabagal na pagganap at pag-ipon ng oras. Bottom line: kung makakalikha ka ng kumplikadong geometry na may isa o dalawang brushes, bakit gagamit ng higit pa rito?

Sa Fig. 3a, mayroong dalawang mga brush: ang isa sa kaliwa ay nilikha gamit ang Arch Tool na lumikha ng isang 8-panig na brush na may 40 mga mukha, at ang isa sa kanan ay ginawa mula sa isang solong clip na brush na may 11 mga mukha lamang. Ang huli ay nakamit sa pamamagitan ng paggamit ng Clipping Tool (Shift + X). Upang makamit ang huli, inirerekumenda na lumikha muna ng nais na hugis na geometriko mula sa Arch Tool muna para sa sanggunian. Pagkatapos, lumikha ng isang brush na may parehong haba, lapad, at taas ng sangguniang arko at ilagay ito nang bahagya sa itaas ng sanggunian. Piliin ang brush at i-clip ang mga anggulo. (maaaring kailanganin mong baguhin ang laki ng grid ("-" upang bawasan, "+" upang madagdagan) at / o manu-manong ilipat ang mga vertex (Shift + V) ng sangguniang sanggunian upang mag-snap sa pinakamalapit na grid point.) Ngayon mayroon kang isang magkatulad na brush na geometrically, ngunit may mas kaunting mga mukha lamang

I-optimize ang isang Mapa sa Hammer Editor Hakbang 4
I-optimize ang isang Mapa sa Hammer Editor Hakbang 4

Hakbang 4. Gumamit ng mahusay na paggamit ng mga brush ng detalye

Ang mga brushes sa mundo ay humahadlang sa kakayahang makita, selyohan ang mapa, at hatiin ang BSP sa "mga dahon", na karaniwang paraan ng tagatala ng pagtukoy kung ano ang maaaring at hindi makita sa anumang naibigay na oras at lugar. Ang mga detalyeng brushes ay idinisenyo upang mahalagang maging "hindi nakikita" sa tagatala. Ang mga brush lamang na dapat ay mga brushes sa mundo ay ang mga dingding, sahig at kisame ng isang silid. Halos lahat ng iba pa sa silid na hindi isang gumaganang entity at hindi makabuluhang harangan ang paningin ng manlalaro ay dapat na nakatali sa isang func_detail brush (itali gamit ang Ctrl + T). Dahil ang mga detalyadong brushes ay hindi hadlangan ang kakayahang makita, hindi sila maiipon vvis mga kalkulasyon at hindi hahatiin ang mapa sa higit pang mga visleaves (na mabuti sa karamihan ng mga kaso). Mabalaan kahit na hindi nito tatatakan ang mapa. Siguraduhin lamang na ang lahat ng mga brushes sa buong mundo ay tinatakan ang mapa at hindi dapat magkaroon ng anumang mga problema.

I-optimize ang isang Mapa sa Hammer Editor Hakbang 5
I-optimize ang isang Mapa sa Hammer Editor Hakbang 5

Hakbang 5. Gumamit ng mga lugar-portal at pahiwatig na brushes nang naaangkop

Ang mga area-portal at hint brushes ay mahusay na paraan upang malimitahan ang kakayahang makita at madagdagan ang pagganap kung nagawa nang tama. Gayunpaman, hindi mo dapat ilagay ang mga ito sa bawat pasilyo at bintana, bilang ang halaga upang makalkula kung ano ang dapat na maibigay at kung kailan maaari itong lampasan na sa pag-render lamang ng buong silid nang sabay-sabay. Sa halip, dapat mo lamang paghiwalayin ang mga silid na may maraming mga detalye. Itatabi nito ang iyong computer na kinakailangang mag-render ng maraming mga hindi kinakailangang bagay, at makakatulong na madagdagan ang pagganap nang hindi naglalagay ng isang pangunahing sala sa mga kalkulasyon ng kakayahang makita.

I-optimize ang isang Mapa sa Hammer Editor Hakbang 6
I-optimize ang isang Mapa sa Hammer Editor Hakbang 6

Hakbang 6. Gumamit ng mga occluder (matipid)

Ang mga sumasabog ay katulad ng isang saradong portal ng lugar, dahil hindi ito nagre-render kung ano ang nasa likod nito. Gayunpaman, ito ay naiiba kaysa sa isang saradong lugar-portal na hindi ito kailangang mag-selyo ng isang silid (maaari itong maging walang bayad at hindi hawakan ang mga brushes sa mundo) at hinaharangan lamang nito ang mga 3D na modelo (aka props). Ang tool na ito ay napakamahal sa mga tuntunin ng paggamit ng memorya, kaya dapat mo lang gamitin ang mga occluder kapag mayroong isang mamahaling modelo ng 3D sa likod ng isang walang pader na pader na hindi maaaring selyuhan ng mga areaportal.

I-optimize ang isang Mapa sa Hammer Editor Hakbang 7
I-optimize ang isang Mapa sa Hammer Editor Hakbang 7

Hakbang 7. Magdagdag ng mga 3D Sky-box

Hindi ganap na kinakailangan, ngunit makakatulong itong gawing mas malaki ang hitsura ng mapa nang hindi mabagal na pagbagal ng FPS (mga frame bawat segundo). Ang mga 3D skybox ay karaniwang ginagawa para sa "malalaking" panlabas na mga mapa, ngunit posible na gawin ito para sa isang panloob na mapa kung maaari mong makita ang isang panlabas sa pamamagitan ng isang window o anumang bagay. Ang mga 3D skybox ay napakamurang upang mai-render at maaaring gumawa ng isang maliit na mapa na lilitaw hanggang sa 16x mas malaki dahil ang mga 3D skybox ay nakatakda sa isang 1/16 na sukat sa Hammer at pagkatapos ay naitaas sa panahon ng pag-ipon.

I-optimize ang isang Mapa sa Hammer Editor Hakbang 8
I-optimize ang isang Mapa sa Hammer Editor Hakbang 8

Hakbang 8. Magdagdag ng fog

Sa malalaking mga panlabas na mapa, maaaring limitahan ng hamog na ulap ang dami ng naibigay na detalye, at maaari nitong gawing mas makatotohanang sa iyong proseso ang iyong mapa. Magdagdag lamang ng isang env_fog_controller entity sa iyong mapa. Sa pagpipiliang "Paganahin ang Fog" sa Mga Katangian sa Bagay tab, piliin ang "Oo". Susunod, i-edit ang Far Z Clip Plane ayon sa gusto mo, na aalisin ang lahat ng mga brush pagkatapos ng distansya na iyon, inaalis ang pag-render ng engine ng hindi kinakailangang mga bagay (The Far Z Clip Plane ang halaga ay dapat na mas malaki kaysa sa Fog End halaga).

I-optimize ang isang Mapa sa Hammer Editor Hakbang 9
I-optimize ang isang Mapa sa Hammer Editor Hakbang 9

Hakbang 9. Huwag mabaliw sa Lightmap Scale

Mahalaga na tinutukoy ng scale ng lightmap kung paano nai-render ang matalim o malabo na mga anino sa geometry. Ang mga mas malalaking numero ay nagpapasama sa kalidad ng anino, ngunit maaaring mapataas ang pagganap. Magkasalungat, ang isang mas mababang sukat ng lightmap ay nagdaragdag ng mga visual ng mga anino, ngunit maaaring masidhing mas mababa ang pagganap. Ang alinman sa masyadong malaki o masyadong maliit ng isang scale ng lightmap ay maaaring makagawa ng isang hindi makatotohanang epekto sa pag-iilaw na maaaring masyadong mapurol o masyadong matulis, ayon sa pagkakabanggit. Ang default na scale ng lightmap para sa lahat ng mga brush ay 16, na isang balanseng lugar sa pagitan ng mga visual at pagganap.

I-optimize ang isang Mapa sa Hammer Editor Hakbang 10
I-optimize ang isang Mapa sa Hammer Editor Hakbang 10

Hakbang 10. Kung ang iyong mapa ay may tubig, maglagay ng isang "water_lod_control" na nilalang sa mapa

Tinutukoy ng nilalang na ito kung gaano kalayo ang layo ka mula sa "mamahaling" tubig upang lumipat ito sa "murang" tubig. Ang mamahaling tubig ay mukhang mas makatotohanang kaysa sa murang tubig, at samakatuwid ay mas malaki ang gastos sa mga tuntunin ng paggamit ng memorya at mga kalkulasyon sa computer. Ang isang mas maikling distansya ng paglipat ay makakapagdulot ng mas murang tubig sa isang mas maikling distansya, at samakatuwid ay mawawalan ng maraming kalidad ng visual kapag sa isang distansya, ngunit tataas din ang pagganap.

Mga Tip

  • Hindi pinipigilan ng mga pagpapalitan ang kakayahang makita, kaya upang matiyak na ang mapa ay selyadong, lumikha ng isang mundo brush kasama ang mga tool / toolnodraw pagkakayari sa ilalim ng pag-aalis at selyuhan ang mapa kasama nito (ie ang mga sulok ng brush na iyon ay hawakan ang mga sulok ng skybox). Tulad ng sa unang hakbang, palaging siguraduhin na ang mapa ay selyadong, kung hindi man halos bawat diskarte sa pag-optimize na nabanggit ay itinapon sa bintana at sa itim na walang bisa ng Source engine.
  • Kapag lumilikha ng mga areaportal (sa pamamagitan ng paglikha ng isang brush na naka-texture sa mga tool / toolareaportal at tinali ito sa func_areaportal), napakahalaga na ang mga panig ng isang areaportal na hindi tiningnan ay nakakaantig ng mga brushes sa mundo. Halimbawa, kung nais mong maglagay ng isang areaportal sa isang pintuan, ngunit ang pintuan na iyon ay may isang frame na nakatali sa func_detail, gagawin mo hindi hawakan ng areaportal na brush ang doorframe dahil ito ay func_detail (at dahil ang mga func_detail brushes ay hindi nakakaapekto sa kakayahang makita, ang compile log ay babalik na may isang leak). Sa halip, ang brush ng areaportal ay dapat na hawakan ang mga dingding, kisame, at sahig ng pinto (na dapat lahat ay mga brushes sa mundo), na tumatawid sa frame ng pintuan. Huwag mag-alala na maaaring may "z-clipping" sa paligid ng frame ng pinto; ang frame ay mai-render pa rin nang tama sa laro… simpleng naroroon ito sa editor ng Hammer para magamit ng tagatala sa panahon vvis.
  • Ipinapalagay ng artikulong ito na mayroon kang pangunahing kaalaman sa interface ng Hammer Editor (lumilikha ng mga brush, paglalagay ng mga entity, tinali na mga entity, atbp.).
  • Kapag lumilikha ng hint brushes, i-texture lamang ang mga mukha na kumikilos bilang mga hint eroplano (ang mga mukha na hahatiin ang BSP) kasama ang mga tool / toolhint pagkakayari I-texture ang bawat iba pang mukha sa brush na hindi kumikilos bilang isang hint eroplano na may mga tool / toolskip, kung hindi man, lilikha ka ng mas maraming mga visleaf kaysa sa gusto mo.
  • Maaari mong i-link ang estado ng Buksan / Sarado na lugar sa isang gumaganang pintuan tulad ng isang func_door, func_door_rotating o isang katulad na nilalang. Upang magawa ito, ang pintuan kung saan mo nais ang link na areaportal ay nangangailangan ng isang natatanging "pangalan". (Ibigay ang pangalan sa pamamagitan ng pag-double click sa pinto upang buksan ito Mga Katangian sa Bagay window at bigyan ito ng isang simpleng pangalan sa ilalim Pangalan sa tab na Impormasyon sa Klase.) Kapag mayroon kang pinangalanan na pinto, pumunta sa areaportal's Mga Katangian sa Bagay at mag-scroll pababa sa "Pangalan ng Naka-link na Pinto" at piliin ang pintuan kung saan mo nais i-link ang areaportal. Gayundin (at ito ay napakahalaga) kailangan mong itakda ang Paunang Estado ng areaportal sa Paunang Estado ng pinto. Ang ginagawa nito ay upang matiyak na kapag nakasara ang pinto, magsasara ang areaportal kasama nito. Kung nag-usisa ka tungkol sa kung ano ang eksaktong dikta ng Open / Closed areaportal na estado, kung ang isang areaportal ay Bukas, lahat ng mga visleaves na nakikita sa pamamagitan ng kabilang panig ng areaportal ay nai-render. Sa kabaligtaran, kung ang areaportal ay Sarado, kung gayon wala nang ibibigay sa labas ng areaportal. Kaya't kung may isang bukas na pasilyo na palagi mong makikita, ang Paunang Estado ng areaportal ay dapat itakda sa Buksan, hindi Isara. At kapag naka-link sa isang pinto, hindi mo pa rin makikita ang pintuan, kaya itakda ito sa Sarado kung ang mga spawns ng pinto ay sarado (maliban kung mayroon itong isang transparent window, kung saan pagkatapos ay dapat mong itakda ang areaportal na buksan at don hindi rin mag-abala sa pag-link nito sa pintuan).

Mga babala

  • Huwag kailanman gumawa ng isang kumplikadong brush sa Hollow Tool. Ang mga vertex (sulok ng brushes) ay magkakabit sa bawat isa at lilikha lamang ng isang malaking sloppy mess.
  • Gumamit lamang ng mga occluder bilang huling paraan. Ito ay napaka-memory-masinsinang, kaya kung ang isang prop ay maaaring tinatakan sa isang silid na may mga areaportal o kung posible na hatiin ang mga visleaves na may hint at laktawan ang mga brush, pagkatapos ay mag-opt out sa paggamit ng mga occluder.
  • Ang mga bukas na areaportal ay mas masidhi sa memorya dahil ang mga visleaves ay kinakalkula sa realtime. Maipapayo na gumamit ng alinman sa saradong mga areaportal o hint brushes nang madalas hangga't maaari.

Inirerekumendang: