วิธีเพิ่มประสิทธิภาพแผนที่ใน Hammer Editor: 10 ขั้นตอน (พร้อมรูปภาพ)

สารบัญ:

วิธีเพิ่มประสิทธิภาพแผนที่ใน Hammer Editor: 10 ขั้นตอน (พร้อมรูปภาพ)
วิธีเพิ่มประสิทธิภาพแผนที่ใน Hammer Editor: 10 ขั้นตอน (พร้อมรูปภาพ)
Anonim

คุณต้องการเร่งประสิทธิภาพการทำงานของแผนที่ที่กำหนดเอง ไม่ให้สะดุดกับการแสดงอาการสะอึกและลดเวลาในการคอมไพล์หรือไม่? ต่อไปนี้คือเคล็ดลับบางประการที่จะช่วยคุณเพิ่มประสิทธิภาพแผนที่ใน Hammer

ขั้นตอน

ปรับแผนที่ให้เหมาะสมใน Hammer Editor ขั้นตอนที่ 1
ปรับแผนที่ให้เหมาะสมใน Hammer Editor ขั้นตอนที่ 1

ขั้นตอนที่ 1. ปิดห้อง

นี่เป็นสิ่งจำเป็น หากมีการรั่วไหลในแผนที่ คอมไพเลอร์จะไม่สามารถกำหนดขอบเขตของแผนที่ได้ และจะพยายามแสดงทุกอย่างภายในแผนที่พร้อมกันทั้งหมด ที่แย่ไปกว่านั้น พอร์ทัลพื้นที่ พู่กันคำใบ้ และผู้ปิดบังในแผนที่จะไม่ทำงาน ซึ่งทำให้ไม่มีประโยชน์ นอกจากนี้ น้ำจะไม่แสดงอย่างถูกต้องหากมีการรั่วไหลในแผนที่

  • ในรูปที่ 1a ห้องไม่ได้ปิดสนิท หากคุณรวบรวมแผนที่นี้ด้วยการรั่วไหลนั้น vvis (ส่วนของคอมไพล์ที่กำหนดข้อมูลการมองเห็น) จะไม่สามารถกำหนดขอบเขตของแผนที่ได้ เนื่องจากวิสลีฟจะ "รั่ว" ออกสู่ความว่างเปล่าสีดำนอกแผนที่ของเรา
  • ในรูปที่ 1b ห้องถูกปิดผนึกและจะถูกรวบรวมอย่างถูกต้อง
  • ในการตรวจสอบรอยรั่ว ก่อนอื่นตรวจสอบให้แน่ใจว่ามีอย่างน้อยหนึ่งเอนทิตีในแผนที่ (เช่น "info_player_start") ไม่เช่นนั้นจะไม่ทำงาน บันทึกและคอมไพล์ BSP โดยกด F9 หรือไปที่ File -> Run Map เลือก "ปกติ" สำหรับ เรียกใช้ BSP และเลือก "ไม่" สำหรับทั้งคู่ เรียกใช้ VIS และ เรียกใช้ RAD (อย่าลืมตรวจสอบ "อย่าเปิดเกมหลังจากรวบรวม" กล่อง). เมื่อคอมไพล์เสร็จแล้ว ให้ปิดล็อกคอมไพล์แล้วไปที่ Map -> Load Point File หากมีการรั่วไหล ระบบจะขอให้คุณยืนยันการดำเนินการ (เช่น "Load default pointfile? [C:\Program Files\--]) เลือก "Yes" แล้วคุณจะเห็นเส้นสีแดงยื่นออกมา จากจุดที่ใกล้ที่สุด* ออกไปยังบริเวณที่เกิดรอยรั่ว (*นี่คือเหตุผลที่คุณต้องมีเอนทิตีไม่ว่าจะด้วยพู่กันหรือจุดในแผนที่ของคุณ ซึ่งใช้ไม่ได้กับโลกหรือพู่กันแบบละเอียด) ปิดผนึกรอยรั่ว คอมไพล์ใหม่ BSP และโหลดไฟล์ pointfile หากทั้งหมดถูกปิดผนึกก็ควรไปที่โฟลเดอร์ว่างใน Steam\steamapps\GAMERTAG\GAME\mapsrc โฟลเดอร์ ตรวจสอบการรั่วไหลเสมอก่อนที่จะเผยแพร่แผนที่สู่สาธารณะ
ปรับแผนที่ให้เหมาะสมใน Hammer Editor ขั้นตอนที่ 2
ปรับแผนที่ให้เหมาะสมใน Hammer Editor ขั้นตอนที่ 2

ขั้นตอนที่ 2. สร้างแปรงด้วย "tools/toolsnodraw"

ตรวจสอบให้แน่ใจว่าคุณสร้างแปรงด้วย.เสมอ เครื่องมือ/เครื่องมือnodraw พื้นผิวก่อนแล้วจึงกำหนดพื้นผิวเฉพาะสิ่งที่ผู้เล่นสามารถเห็นได้จากมุมมองของผู้เล่น หากจะมองเห็นเพียงด้านหนึ่งของกำแพง แสดงว่าพื้นผิวนั้นมองเห็นได้เพียงด้านเดียวเท่านั้น

ปรับแผนที่ให้เหมาะสมใน Hammer Editor ขั้นตอนที่ 3
ปรับแผนที่ให้เหมาะสมใน Hammer Editor ขั้นตอนที่ 3

ขั้นตอนที่ 3 ลดจำนวนแปรงและใบหน้า

เมื่อใดก็ตามที่เป็นไปได้ ให้สร้างรูปทรงเรขาคณิตด้วยแปรงขนาดใหญ่สองสามอันแทนที่จะใช้แปรงขนาดเล็กพันอัน แปรงจำนวนมากขึ้นเท่ากับจำนวนใบหน้าที่มากขึ้น และใบหน้าจำนวนมากขึ้นเท่ากับประสิทธิภาพที่ช้าลงและเวลาในการรวบรวม บรรทัดล่าง: ถ้าคุณสามารถสร้างเรขาคณิตที่ซับซ้อนด้วยแปรงหนึ่งหรือสองแปรง เหตุใดจึงต้องใช้มากกว่านั้น

ในรูปที่ 3a มีแปรงอยู่ 2 อัน: อันด้านซ้ายถูกสร้างขึ้นโดยใช้เครื่องมือ Arch ซึ่งสร้างแปรง 8 ด้านที่มี 40 หน้า และอีกอันด้านขวาทำจากแปรงเพียงอันเดียวที่มี 11 หน้า สิ่งหลังทำได้โดยใช้เครื่องมือตัด (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 ใช้ตัวปิดบัง (เท่าที่จำเป็น)

Occluder คล้ายกับพอร์ทัลพื้นที่ปิด เนื่องจากไม่ได้แสดงสิ่งที่อยู่เบื้องหลัง อย่างไรก็ตาม มันแตกต่างจากพอร์ทัลพื้นที่ปิดตรงที่ไม่จำเป็นต้องปิดห้อง (สามารถตั้งอิสระและไม่แตะแปรงโลก) และบล็อกเฉพาะโมเดล 3 มิติ (หรือที่รู้จักว่าอุปกรณ์ประกอบฉาก) เครื่องมือนี้มีค่าใช้จ่ายสูงในแง่ของการใช้หน่วยความจำ ดังนั้น คุณควรใช้ตัวปิดบังเฉพาะเมื่อมีโมเดล 3 มิติราคาแพงหลังกำแพงแบบลอยตัวซึ่งไม่สามารถปิดผนึกด้วยพอร์ทัลพื้นที่ได้

ปรับแผนที่ให้เหมาะสมใน Hammer Editor ขั้นตอนที่ 7
ปรับแผนที่ให้เหมาะสมใน Hammer Editor ขั้นตอนที่ 7

ขั้นตอนที่ 7 เพิ่มกล่อง 3D Sky

ไม่จำเป็นอย่างยิ่ง แต่จะช่วยให้แผนที่ดูใหญ่ขึ้นโดยไม่ทำให้ FPS ช้าลงอย่างมาก (เฟรมต่อวินาที) กล่องสกายบ็อกซ์ 3 มิติมักจะสร้างขึ้นสำหรับแผนที่กลางแจ้ง "ขนาดใหญ่" แต่คุณสามารถสร้างเป็นแผนที่ในอาคารได้ หากคุณสามารถมองเห็นภายนอกผ่านหน้าต่างหรือบางอย่างได้ กล่องสกายบ็อกซ์ 3 มิติมีราคาถูกมากในการเรนเดอร์ และสามารถทำให้แผนที่ขนาดเล็กดูใหญ่ขึ้นถึง 16 เท่า เนื่องจากกล่องสกายบ็อกซ์ 3 มิติถูกตั้งค่าเป็นสเกล 1/16 ใน Hammer แล้วขยายขนาดขึ้นในระหว่างการคอมไพล์

ปรับแผนที่ให้เหมาะสมใน Hammer Editor ขั้นตอนที่ 8
ปรับแผนที่ให้เหมาะสมใน Hammer Editor ขั้นตอนที่ 8

ขั้นตอนที่ 8 เพิ่มหมอก

บนแผนที่กลางแจ้งขนาดใหญ่ หมอกสามารถจำกัดจำนวนรายละเอียดที่จะแสดง และทำให้แผนที่ของคุณดูสมจริงยิ่งขึ้นในกระบวนการ เพียงเพิ่มเอนทิตี env_fog_controller ในแผนที่ของคุณ ในตัวเลือก "เปิดใช้งานหมอก" ใน คุณสมบัติของวัตถุ แท็บ เลือก "ใช่" ถัดไป แก้ไข Far Z คลิปเครื่องบิน ตามความชอบของคุณ ซึ่งจะลบแปรงทั้งหมดหลังจากระยะทางนั้น กำจัดเครื่องยนต์ที่แสดงวัตถุที่ไม่จำเป็น (The เครื่องบินคลิป Far Z ค่าควรมากกว่า ปลายหมอก ค่า).

ปรับแผนที่ให้เหมาะสมใน Hammer Editor ขั้นตอนที่ 9
ปรับแผนที่ให้เหมาะสมใน Hammer Editor ขั้นตอนที่ 9

ขั้นตอนที่ 9 อย่าคลั่งไคล้ Lightmap Scale

มาตราส่วน lightmap เป็นตัวกำหนดว่าเงาที่คมชัดหรือพร่ามัวบนเรขาคณิตเป็นอย่างไร ตัวเลขที่มากขึ้นจะทำให้คุณภาพของเงาลดลง แต่สามารถเพิ่มประสิทธิภาพได้ ในทางกลับกัน สเกลไลท์แมปที่ต่ำกว่าจะเพิ่มภาพของเงา แต่สามารถลดประสิทธิภาพลงได้อย่างมาก สเกล lightmap ที่ใหญ่หรือเล็กเกินไปอาจสร้างเอฟเฟกต์แสงที่ไม่สมจริงซึ่งดูทึบเกินไปหรือคมชัดเกินไปตามลำดับ มาตราส่วน lightmap เริ่มต้นสำหรับแปรงทั้งหมดคือ 16 ซึ่งเป็นพื้นที่ที่สมดุลระหว่างภาพและประสิทธิภาพ

ปรับแผนที่ให้เหมาะสมใน Hammer Editor ขั้นตอนที่ 10
ปรับแผนที่ให้เหมาะสมใน Hammer Editor ขั้นตอนที่ 10

ขั้นตอนที่ 10. หากแผนที่ของคุณมีน้ำ ให้วางเอนทิตี "water_lod_control" ลงในแผนที่

เอนทิตีนี้กำหนดว่าคุณต้องอยู่ห่างจากน้ำที่ "แพง" มากเพียงใดเพื่อที่จะเปลี่ยนเป็นน้ำที่ "ถูก" น้ำราคาแพงดูสมจริงกว่าน้ำราคาถูกมาก ดังนั้นจึงมีค่าใช้จ่ายมากกว่าในแง่ของการใช้หน่วยความจำและการคำนวณบนคอมพิวเตอร์ ระยะเปลี่ยนผ่านที่สั้นกว่าจะทำให้น้ำมีราคาถูกในระยะทางที่สั้นกว่า ดังนั้นจะสูญเสียคุณภาพการมองเห็นไปมากเมื่ออยู่ไกล แต่จะเพิ่มประสิทธิภาพด้วย

เคล็ดลับ

  • การเคลื่อนตัวไม่กีดขวางการมองเห็น ดังนั้นเพื่อให้แน่ใจว่าแผนที่ถูกปิดผนึก ให้สร้างแปรงโลกด้วย เครื่องมือ/เครื่องมือnodraw พื้นผิวใต้รางและปิดผนึกแผนที่ด้วย (เช่น ให้มุมของแปรงนั้นสัมผัสกับมุมของกล่องฟ้า) เช่นเดียวกับในขั้นตอนแรก ตรวจสอบให้แน่ใจเสมอว่าแผนที่ถูกปิดผนึก มิฉะนั้น แทบทุกเทคนิคการเพิ่มประสิทธิภาพที่กล่าวถึงจะถูกโยนออกไปนอกหน้าต่างและเข้าไปในช่องว่างสีดำของเอ็นจิ้น Source
  • เมื่อสร้างพอร์ทัลพื้นที่ (โดยการสร้างพื้นผิวแปรงด้วย เครื่องมือ/เครื่องมือsareportal และผูกไว้กับ func_areaportal) เป็นสิ่งสำคัญมากที่ด้านข้างของพอร์ทัลพื้นที่ที่ไม่ได้ถูกมองผ่านจะต้องสัมผัสกับแปรงของโลก ตัวอย่างเช่น หากคุณต้องการวางพอร์ทัลพื้นที่ในทางเข้าประตู แต่ทางเข้าประตูนั้นมีกรอบที่ผูกติดกับ func_detail คุณจะ ไม่ ให้แปรงประตูพื้นที่สัมผัสกับวงกบประตูเพราะเป็น func_detail (และเนื่องจากแปรง func_detail ไม่ส่งผลต่อการมองเห็น บันทึกการคอมไพล์จะกลับมาพร้อมรอยรั่ว) ในทางกลับกัน แปรงบริเวณประตูควรสัมผัสกับผนัง เพดาน และพื้นของประตู (ซึ่งทั้งหมดควรเป็นพู่กันโลก) ที่ตัดกับวงกบประตู ไม่ต้องกังวลว่าอาจมี "z-clipping" รอบวงกบประตู เฟรมจะยังคงแสดงผลอย่างถูกต้องในเกม.. มันอยู่ที่นั่นในโปรแกรมแก้ไข Hammer เพื่อให้คอมไพเลอร์ใช้ในระหว่าง vvis.
  • บทความนี้อนุมานว่าคุณมีความรู้พื้นฐานเกี่ยวกับอินเทอร์เฟซของ Hammer Editor (การสร้างพู่กัน การวางเอนทิตี การผูกเอนทิตี ฯลฯ)
  • เมื่อสร้างพู่กันคำใบ้ ให้กำหนดพื้นผิวเฉพาะใบหน้าที่ทำหน้าที่เป็นระนาบคำใบ้ (ใบหน้าที่จะแยก BSP) ด้วย เครื่องมือ/ชุดเครื่องมือ เนื้อสัมผัส ทาพื้นผิวทุก ๆ ใบหน้าบนแปรงไม่ทำหน้าที่เป็นระนาบคำใบ้ด้วย เครื่องมือ/toolsskip มิฉะนั้น คุณจะสร้างวิสลีฟมากกว่าที่คุณต้องการ
  • คุณสามารถเชื่อมโยงสถานะเปิด/ปิดของพอร์ทัลพื้นที่กับประตูการทำงาน เช่น func_door, func_door_rotating หรือเอนทิตีที่คล้ายกัน ในการทำเช่นนี้ ประตูที่คุณต้องการให้พอร์ทัลพื้นที่เชื่อมโยงต้องมี "ชื่อ" ที่ไม่ซ้ำกัน (ให้ชื่อโดยดับเบิลคลิกที่ประตูเพื่อเปิดมัน คุณสมบัติของวัตถุ window แล้วตั้งชื่อง่ายๆ ใต้ ชื่อ ในแท็บข้อมูลชั้นเรียน) เมื่อคุณตั้งชื่อประตูแล้ว ให้ไปที่พอร์ทัลของพื้นที่ คุณสมบัติของวัตถุ และเลื่อนลงไปที่ "ชื่อประตูที่เชื่อมโยง" และเลือกประตูที่คุณต้องการเชื่อมโยงพอร์ทัลพื้นที่ นอกจากนี้ (และนี่เป็นสิ่งสำคัญมาก) คุณต้องตั้งค่า สถานะเริ่มต้น ของพอร์ทัลพื้นที่ไปยัง สถานะเริ่มต้น ของประตู สิ่งนี้ทำเพื่อให้แน่ใจว่าเมื่อปิดประตู พอร์ทัลพื้นที่จะปิดด้วย หากคุณสงสัยว่าสถานะพอร์ทัลพื้นที่เปิด/ปิดนั้นกำหนดไว้อย่างไร หากพอร์ทัลพื้นที่เป็น Open วิสลีฟทั้งหมดที่มองเห็นได้ผ่านอีกด้านหนึ่งของพอร์ทัลพื้นที่จะถูกแสดง ในทางกลับกัน ถ้าพอร์ทัลพื้นที่ถูก Closed จะไม่มีการแสดงผลใดๆ นอกเหนือพอร์ทัลพื้นที่ ดังนั้นหากมีโถงทางเดินเปิดโล่งที่คุณสามารถมองเห็นได้ตลอด สถานะเริ่มต้น ของ Areaportal ควรตั้งค่าเป็น Open ไม่ใช่ Closed และเมื่อเชื่อมโยงกับประตูแล้ว คุณจะไม่สามารถมองผ่านประตูไปได้อยู่ดี ดังนั้นให้ตั้งค่าเป็น Closed หากประตูเกิดปิด (เว้นแต่จะมีหน้าต่างโปร่งใส ซึ่งคุณควรตั้งค่า Areaportal เป็น Open และ Don ไม่กล้าแม้แต่จะผูกเข้ากับประตู)

คำเตือน

  • อย่าสร้างแปรงที่ซับซ้อนด้วย Hollow Tool จุดยอด (มุมของแปรง) จะตัดกันและจะสร้างเลอะเทอะขนาดใหญ่
  • ใช้เฉพาะสิ่งปิดบังเป็นทางเลือกสุดท้ายเท่านั้น มันใช้หน่วยความจำมาก ดังนั้นหากอุปกรณ์ประกอบฉากสามารถปิดผนึกในห้องที่มีพอร์ทัลพื้นที่ หรือหากสามารถแยกวิสลีฟด้วยคำใบ้และข้ามแปรง ให้เลือกไม่ใช้ occluders
  • พอร์ทัลพื้นที่เปิดนั้นใช้หน่วยความจำมากกว่ามาก เนื่องจากวิสลีฟถูกคำนวณแบบเรียลไทม์ ขอแนะนำให้ใช้พื้นที่ปิดพอร์ทัลหรือแปรงคำใบ้บ่อยที่สุด

แนะนำ: