A * การค้นหาเส้นทางสำหรับสิ่งกีดขวางแบบไดนามิกและผู้เล่นทำการบล็อก


11

สวัสดีฉันกำลังสร้าง TD ใน Unity 5 และต้องการความช่วยเหลือเกี่ยวกับ Pathfinding ของฉัน

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

ฉันจะทำสิ่งนี้ได้อย่างไร

ภาพเพื่อความชัดเจนมากขึ้น: ป้อนคำอธิบายรูปภาพที่นี่

คำตอบ:


22

ฉันไม่ได้ดูการใช้ A * โดย Aaron อย่างเฉพาะเจาะจง แต่ด้วย A * ปกติคุณสามารถรวม 'block Tower' เป็นภูมิประเทศที่พอจะผ่านได้ แต่อัปเดตการเรียนรู้เพื่อให้ 'ต้นทุน' สูงกว่าไทล์ปกติมาก AI จะประเมินว่าการทำลายบล็อกนั้นง่ายกว่าหรือไม่หรือดำเนินการต่อไปโดยง่ายผ่านเส้นทางที่ไม่ถูกบล็อก)

จากนั้นคุณจะต้องอัปเดต AI ของคุณเพื่อที่ว่าเมื่อศัตรูพยายามที่จะย้ายจากไทล์ปกติไปเป็น 'ไทล์หอคอยกระเบื้อง' มันจะโจมตีโดยอัตโนมัติจนกว่าจะถูกทำลาย


8
+1 ฉันจะเพิ่มว่าคุณอาจต้องการคำนวณค่าใช้จ่ายของหอบล็อกขึ้นอยู่กับระยะเวลาที่ใช้จำนวน X และประเภทของสมุนเพื่อทำลายมันหากมีความแตกต่าง ค่าใช้จ่ายที่กำหนดไว้ล่วงหน้าสำหรับหอคอยอาจไม่ถูกต้องหากมินเนี่ยนระดับต่ำสุดใช้เวลา 5 วินาทีเพื่อทำลายมัน แต่ซูเปอร์มินเนี่ยนหนึ่งอันสามารถทำได้ภายใน 1 วินาที
Fuzzy Logic

0

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

หากคุณต้องการให้มินเนี่ยนโจมตีหอคอยเฉพาะเมื่อไม่มีเส้นทางอื่นแล้วเมื่อเส้นทางนั้นถูกบล็อกและ A * ถูกเรียกให้คำนวณเส้นทางอื่นถ้ามันคืนค่า null คุณสามารถสคริปต์ศัตรูเพื่อค้นหาหอคอยที่น่ารังเกียจทั้งหมดและ กำหนดเป้าหมายเหล่านั้น

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