Cara Mengoptimalkan Peta di Hammer Editor: 10 Langkah (dengan Gambar)

Daftar Isi:

Cara Mengoptimalkan Peta di Hammer Editor: 10 Langkah (dengan Gambar)
Cara Mengoptimalkan Peta di Hammer Editor: 10 Langkah (dengan Gambar)
Anonim

Apakah Anda ingin mempercepat kinerja peta khusus Anda, tidak terjebak dalam merender cegukan dan mengurangi waktu kompilasi? Berikut adalah beberapa tip untuk membantu Anda mengoptimalkan peta apa pun di Hammer.

Langkah

Optimalkan Peta di Editor Hammer Langkah 1
Optimalkan Peta di Editor Hammer Langkah 1

Langkah 1. Tutup kamar

Ini adalah suatu keharusan. Jika ada kebocoran APAPUN di peta, kompilator tidak akan dapat menentukan batas peta, dan akan mencoba membuat semuanya di dalam peta sekaligus. Lebih buruk lagi, portal area, sikat petunjuk, dan occluder apa pun di peta tidak akan berfungsi, membuatnya tidak berguna. Juga, air tidak akan merender dengan benar jika ada kebocoran di peta.

  • Pada Gambar 1a, ruangan tersebut jelas tidak tertutup rapat. Jika Anda mengkompilasi peta ini dengan kebocoran itu, vvis (bagian dari kompilasi yang menentukan data visibilitas) tidak akan dapat menentukan batas peta, karena visleaves hanya akan "bocor" ke dalam kekosongan hitam di luar peta kita.
  • Pada Gambar 1b, ruangan disegel dan akan disusun dengan benar.
  • Untuk memeriksa kebocoran, pertama-tama pastikan setidaknya ada satu entitas di peta (seperti "info_player_start"), jika tidak, ini tidak akan berfungsi. Simpan dan kompilasi BSP dengan menekan F9 atau pergi ke File -> Run Map. Pilih "Normal" untuk Jalankan BSP, dan pilih "Tidak" untuk keduanya Jalankan VIS dan Jalankan RAD (pastikan juga untuk memeriksa "Jangan jalankan game setelah kompilasi" kotak). Setelah selesai dikompilasi, tutup log kompilasi dan buka Map -> Load Point File. Jika ada kebocoran, itu akan meminta Anda untuk mengkonfirmasi operasi (mis. "Load default pointfile? [C:\Program Files\----]) Pilih "Ya", dan Anda akan melihat garis merah menonjol dari entitas terdekat* keluar melalui area kebocoran. (*Inilah mengapa Anda memerlukan entitas, baik kuas atau titik, di peta Anda. Ini tidak berfungsi dengan kuas dunia atau kuas detail.) Tutup kebocoran, kompilasi ulang BSP, dan muat pointfile. Jika semua disegel, itu harus pergi ke folder kosong di Steam\steamapps\GAMERTAG\GAME\mapsrc map. Selalu periksa kebocoran sebelum peta dirilis ke publik.
Optimalkan Peta di Hammer Editor Langkah 2
Optimalkan Peta di Hammer Editor Langkah 2

Langkah 2. Buat kuas dengan "tools/toolsnodraw"

Pastikan Anda selalu membuat kuas dengan alat/toolsnodraw tekstur terlebih dahulu dan kemudian tekstur hanya apa yang dapat dilihat pemain dari sudut pandang pemain. Jika Anda hanya akan melihat satu sisi dinding, maka tekstur sisi yang terlihat saja.

Optimalkan Peta di Editor Hammer Langkah 3
Optimalkan Peta di Editor Hammer Langkah 3

Langkah 3. Kurangi jumlah kuas dan wajah

Kapan pun memungkinkan, tetaplah membuat geometri dengan beberapa kuas besar daripada seribu kuas kecil. Lebih banyak kuas sama dengan lebih banyak wajah, dan lebih banyak wajah sama dengan kinerja dan waktu kompilasi yang lebih lambat. Intinya: jika Anda dapat membuat geometri kompleks dengan satu atau dua kuas, mengapa menggunakan lebih dari itu?

Pada Gambar 3a, ada dua kuas: yang di sebelah kiri dibuat menggunakan Arch Tool yang membuat kuas 8 sisi dengan 40 wajah, dan yang di sebelah kanan dibuat dari satu kuas terpotong dengan hanya 11 wajah. Yang terakhir ini dicapai dengan memanfaatkan Clipping Tool (Shift + X). Untuk mencapai yang terakhir, disarankan untuk terlebih dahulu membuat bentuk geometris yang diinginkan dari Arch Tool terlebih dahulu untuk referensi. Kemudian, buat kuas dengan panjang, lebar, dan tinggi yang sama dengan lengkungan referensi dan letakkan sedikit di atas referensi. Pilih kuas dan klip sudutnya. (Anda mungkin perlu mengubah ukuran kisi ("-" untuk mengecilkan, "+" untuk menambah) dan/atau secara manual memindahkan simpul (Shift + V) dari lengkungan referensi untuk menjepit ke titik kisi terdekat.) Sekarang Anda memiliki kuas yang identik secara geometris, tetapi hanya dengan lebih sedikit wajah

Optimalkan Peta di Hammer Editor Langkah 4
Optimalkan Peta di Hammer Editor Langkah 4

Langkah 4. Manfaatkan kuas detail dengan baik

Kuas dunia memblokir visibilitas, menyegel peta, dan membagi BSP menjadi "daun", yang pada dasarnya adalah cara kompiler untuk menentukan apa yang bisa dan tidak bisa dilihat pada waktu dan tempat tertentu. Kuas detail dirancang agar pada dasarnya "tidak terlihat" oleh kompiler. Satu-satunya sikat yang seharusnya menjadi sikat dunia adalah dinding, lantai, dan langit-langit sebuah ruangan. Hampir semua hal lain di ruangan yang bukan entitas yang berfungsi dan tidak secara signifikan menghalangi penglihatan pemain harus diikat ke sikat func_detail (ikat menggunakan Ctrl + T). Karena kuas detail tidak menghalangi visibilitas, kuas tidak akan dikompilasi dalam vvis perhitungan dan tidak akan membagi peta menjadi lebih banyak visleaves (yang bagus dalam banyak kasus). Berhati-hatilah karena itu juga tidak akan menyegel peta. Pastikan semua sikat dunia menyegel peta dan seharusnya tidak ada masalah.

Optimalkan Peta di Editor Hammer Langkah 5
Optimalkan Peta di Editor Hammer Langkah 5

Langkah 5. Gunakan portal area dan kuas petunjuk dengan tepat

Area-portal dan kuas petunjuk adalah cara yang bagus untuk membatasi visibilitas dan meningkatkan kinerja jika dilakukan dengan benar. Namun, Anda tidak boleh menempatkan ini di setiap koridor dan jendela, karena jumlah untuk menghitung apa yang seharusnya dirender dan kapan bisa sangat baik melampaui yang hanya merender seluruh ruangan sekaligus. Sebaliknya, Anda hanya harus memisahkan kamar dengan banyak detail. Ini akan membuat komputer Anda tidak perlu merender banyak objek yang tidak perlu, dan membantu meningkatkan kinerja tanpa membebani perhitungan visibilitas.

Optimalkan Peta di Editor Hammer Langkah 6
Optimalkan Peta di Editor Hammer Langkah 6

Langkah 6. Gunakan occluder (secukupnya)

Occluder mirip dengan portal area tertutup, karena tidak merender apa yang ada di belakangnya. Namun, ini berbeda dari portal area tertutup karena tidak perlu menyegel ruangan (bisa berdiri bebas dan tidak menyentuh sikat dunia) dan hanya memblokir model 3D (alias alat peraga). Alat ini sangat mahal dalam hal penggunaan memori, jadi Anda hanya boleh menggunakan occluder ketika ada model 3D yang mahal di balik dinding yang berdiri sendiri yang tidak dapat disegel oleh portal area.

Optimalkan Peta di Hammer Editor Langkah 7
Optimalkan Peta di Hammer Editor Langkah 7

Langkah 7. Tambahkan 3D Sky-box

Tidak sepenuhnya diperlukan, tetapi ini akan membantu membuat peta terlihat jauh lebih besar tanpa memperlambat FPS (frame per detik) secara drastis. Skybox 3D biasanya dibuat untuk peta luar ruangan "besar", tetapi dimungkinkan untuk membuatnya untuk peta dalam ruangan jika Anda dapat melihat bagian luar melalui jendela atau semacamnya. Skybox 3D sangat murah untuk dirender dan dapat membuat peta kecil tampak hingga 16x lebih besar karena skybox 3D diatur ke skala 1/16 di Hammer dan kemudian ditingkatkan selama kompilasi.

Optimalkan Peta di Editor Hammer Langkah 8
Optimalkan Peta di Editor Hammer Langkah 8

Langkah 8. Tambahkan kabut

Pada peta luar ruangan yang besar, kabut dapat membatasi jumlah detail yang ditampilkan, dan dapat membuat peta Anda terlihat lebih realistis dalam prosesnya. Cukup tambahkan entitas env_fog_controller di peta Anda. Pada opsi "Aktifkan Kabut" di Properti Objek tab, pilih "Ya". Selanjutnya, edit Pesawat Klip Jauh Z sesuai keinginan Anda, yang akan menghapus semua kuas setelah jarak itu, menghilangkan mesin yang merender objek yang tidak perlu (The Pesawat Klip Jauh Z nilainya harus lebih besar dari Akhir Kabut nilai).

Optimalkan Peta di Editor Hammer Langkah 9
Optimalkan Peta di Editor Hammer Langkah 9

Langkah 9. Jangan menjadi gila pada Skala Lightmap

Skala lightmap pada dasarnya menentukan seberapa tajam atau buram bayangan yang diberikan pada geometri. Angka yang lebih besar menurunkan kualitas bayangan, tetapi dapat meningkatkan kinerja. Sebaliknya, skala lightmap yang lebih rendah meningkatkan visual bayangan, tetapi bisa sangat menurunkan kinerja. Skala lightmap yang terlalu besar atau terlalu kecil dapat menghasilkan efek pencahayaan yang tidak realistis yang masing-masing terlalu kusam atau terlalu tajam. Skala lightmap default untuk semua brush adalah 16, yang merupakan area seimbang antara visual dan performa.

Optimalkan Peta di Hammer Editor Langkah 10
Optimalkan Peta di Hammer Editor Langkah 10

Langkah 10. Jika peta Anda memiliki air, tempatkan entitas "water_lod_control" di peta

Entitas ini menentukan seberapa jauh Anda harus dari air "mahal" agar dapat beralih ke air "murah". Air mahal terlihat jauh lebih realistis daripada air murah, dan oleh karena itu lebih mahal dalam hal penggunaan memori dan perhitungan di komputer. Jarak transisi yang lebih pendek akan menghasilkan air yang lebih murah pada jarak yang lebih pendek, dan karena itu akan kehilangan banyak kualitas visual saat berada di kejauhan, tetapi juga akan meningkatkan kinerja.

Tips

  • Perpindahan tidak menghalangi visibilitas, jadi untuk memastikan peta disegel, buat kuas dunia dengan alat/toolsnodraw tekstur di bawah perpindahan dan segel peta dengan itu (yaitu memiliki sudut sikat yang menyentuh sudut skybox). Seperti pada langkah pertama, selalu pastikan peta disegel, jika tidak, hampir setiap teknik pengoptimalan yang disebutkan dibuang ke luar jendela dan ke dalam kekosongan hitam dari mesin Sumber.
  • Saat membuat portal area (dengan membuat kuas bertekstur dengan alat/alatareaportal dan mengikatnya ke func_areaportal), sangat penting bahwa sisi dari areaportal yang tidak dilihat menyentuh kuas dunia. Misalnya, jika Anda ingin menempatkan areaportal di ambang pintu, tetapi ambang pintu itu memiliki bingkai yang diikat ke func_detail, Anda harus bukan memiliki sikat areaportal menyentuh kusen pintu karena func_detail (dan karena sikat func_detail tidak mempengaruhi visibilitas, log kompilasi akan kembali dengan kebocoran). Sebaliknya, sikat areaportal harus menyentuh dinding, langit-langit, dan lantai pintu (yang semuanya harus sikat dunia), memotong kusen pintu. Jangan khawatir bahwa mungkin ada "klip-z" di sekitar kusen pintu; bingkai masih akan ditampilkan dengan benar dalam game… itu hanya ada di editor Hammer untuk digunakan oleh kompiler selama vvis.
  • Artikel ini mengasumsikan Anda memiliki pengetahuan dasar tentang antarmuka Hammer Editor (membuat kuas, menempatkan entitas, mengikat entitas, dll.).
  • Saat membuat kuas petunjuk, hanya tekstur wajah yang bertindak sebagai bidang petunjuk (wajah yang akan membagi BSP) dengan alat/petunjuk tekstur. Tekstur setiap wajah lain pada kuas tidak bertindak sebagai bidang petunjuk dengan alat/toolsskip, jika tidak, Anda akan membuat lebih banyak visleaf daripada yang Anda inginkan.
  • Anda dapat menautkan status Buka/Tutup portal area ke pintu yang berfungsi seperti func_door, func_door_rotating atau entitas serupa. Untuk melakukan ini, pintu yang ingin Anda hubungkan dengan portal area memerlukan "nama" yang unik. (Beri nama dengan mengklik dua kali pada pintu untuk membukanya Properti Objek jendela dan berikan nama sederhana di bawah Nama di tab Info Kelas.) Setelah Anda memiliki pintu bernama, pergi ke areaportal's Properti Objek dan gulir ke bawah ke "Nama Pintu Tertaut" dan pilih pintu yang ingin Anda hubungkan dengan portal area. Juga (dan ini sangat penting) Anda perlu mengatur Keadaan Awal dari areaportal ke Keadaan Awal dari pintu. Apa yang dilakukan adalah untuk memastikan bahwa ketika pintu ditutup, portal area ditutup dengannya. Jika Anda ingin tahu tentang apa yang sebenarnya ditentukan oleh status areaportal Open/Closed, jika areaportal adalah Open, semua visleaves yang terlihat melalui sisi lain dari areaportal akan dirender. Sebaliknya, jika areaportal ditutup, maka tidak ada apa pun di luar areaportal yang akan ditampilkan. Jadi jika ada lorong terbuka yang selalu bisa Anda lihat, Keadaan Awal dari areaportal harus disetel ke Open, bukan Closed. Dan ketika terhubung ke pintu, Anda tidak akan dapat melihat melewati pintu, jadi atur ke Tertutup jika pintu memunculkan tertutup (kecuali jika memiliki jendela transparan, yang kemudian Anda harus mengatur areaportal ke Buka dan jangan 'bahkan tidak repot-repot menghubungkannya ke pintu).

Peringatan

  • Jangan pernah membuat kuas yang rumit dengan Hollow Tool. Simpul (sudut kuas) akan berpotongan satu sama lain dan hanya akan membuat kekacauan besar.
  • Hanya gunakan occluders sebagai pilihan terakhir. Ini sangat intensif memori, jadi jika penyangga dapat disegel di ruangan dengan portal area atau jika memungkinkan untuk membagi visleaves dengan petunjuk dan melewati sikat, maka pilihlah untuk tidak menggunakan occluder.
  • Areaportal terbuka jauh lebih intensif memori karena visleaves dihitung secara realtime. Dianjurkan untuk menggunakan baik areaportal tertutup atau sikat petunjuk sesering mungkin.

Direkomendasikan: