การหาเส้นทางการนำทางของ Mesh Mesh ทำงานอย่างไร


27

ฉันต้องการที่จะเข้าใจว่า navmeshes ทำงานอย่างไร, นำไปใช้อย่างไรและทำไมมันจึงดีกว่าระบบ pathing ชนิดอื่น


สิ่งนี้เกิดขึ้นในการท่องอินเทอร์เน็ตในตอนเช้าของฉัน: aigamedev.com/open/reviews/alienswarm-node-graph อาจจะคุ้มค่าที่จะอ่าน :-)
coderanger

บทช่วยสอนนี้อาจเป็นประโยชน์สำหรับผู้ใช้ Unity ที่เจอโพสต์นี้: binpress.com/tutorial/unity3d-ai-navmesh-navigation/119
MichaelHouse

คำตอบ:


6

มันเหมือนกับ waypoint pathfinding แทนที่จะเป็น way-points ที่คุณมี way-polygons และคุณสามารถอนุมานบางสิ่งเกี่ยวกับ navimesh จากมัน:

  • way-polygons เป็นพื้นที่ที่เอนทิตีสามารถเดินได้อย่างปลอดภัย
    • พื้นที่อื่น ๆ อาจไม่ได้รับการพิจารณา
    • จุดทางต้องกระโดดของศรัทธาในช่องว่างระหว่างพวกเขา; จำ NPCs ติดอยู่ในกำแพงได้หรือไม่ มันอยู่ในสถานที่ที่จุดสองจุดไม่ได้เชื่อมต่อโดยตรง
  • อาจมีโหนดน้อยกว่า (เนื่องจากรูปหลายเหลี่ยมมีขนาดใหญ่กว่า)
    • ดังนั้นจึงน่าจะเร็วกว่า
    • ดังนั้นมันจึงมีความต้องการหน่วยความจำที่น้อยกว่า
  • มันเป็นจริงมากขึ้น (เพราะพื้นที่ของรูปหลายเหลี่ยมมีอยู่ในทฤษฎีจำนวนคะแนนไม่ จำกัด )

2

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


นี่ไม่ใช่กราฟเวย์พอยท์ยกเว้นว่าทำบนตะแกรงที่เรียบง่ายหรือไม่? ฉันคิดว่า navmeshes อนุญาตให้คุณทำเส้นทางบนรูปหลายเหลี่ยม
ไฟ

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

ชุดการเชื่อมต่อที่เรียบง่ายไม่ใช่ navmesh ใช่ไหม ฉันคิดว่ามันถูกเรียกว่า navmesh เพราะคุณทำเส้นทางบนรูปหลายเหลี่ยม
ไฟ

ฉันไม่คิดว่าการนำทางในท้องถิ่นกับการนำทางทั่วโลกมีความเกี่ยวข้องที่นี่
ไฟ

1
ชุดของรูปหลายเหลี่ยมที่อยู่ใกล้เคียงนั้นยังคงเป็นกราฟเหมือนกับจุดที่กำหนดไว้และคุณสามารถทำ A * ในรูปแบบเดียวกันได้ ความแตกต่างเพียงอย่างเดียวคือเมื่อคุณรู้ว่ารูปหลายเหลี่ยมที่คุณกำลังจะย้ายผ่านคุณวาดเส้นที่แตกต่างกัน
coderanger

0

มีหลายวิธีที่คุณสามารถทำได้ A * และเป็นตัวเลือกที่ดี แต่ไม่มีเอกสารประกอบ คุณสามารถทำบางสิ่งบางอย่างเช่นวางโหนดสุ่มรอบแผนที่และตรวจสอบว่าโหนดใดบ้างที่สามารถเห็นกันและกันและสร้างเว็บเล็ก ๆ ของโหนด ไม่ใช่สิ่งที่ดีที่สุด แต่เข้าใจง่าย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.