โปรเจ็กต์นี้เป็นเฟรมเวิร์กสำหรับเขียนโค้ดการเคลื่อนไหวของ AI ที่ซับซ้อนและราบรื่นในเอ็นจิ้นเกม Godot ใน GDScript โดยใช้พฤติกรรมการบังคับทิศทาง มันทำงานได้ ทั้งในเกม 2D และ 3D
➡ ติดตามเราบน Twitter และ YouTube เพื่อรับคำแนะนำในการสร้างเกม เคล็ดลับ และข่าวสารฟรี! รับหนึ่งในหลักสูตรการสร้างเกม Godot ของเราเพื่อสนับสนุนงานของเราเกี่ยวกับซอฟต์แวร์ฟรี
รองรับพฤติกรรมการบังคับทิศทางที่จำเป็นทั้งหมด เช่น หลบหนี ติดตาม มองดู แต่ยังรวมไปถึงพฤติกรรมผสมผสาน พฤติกรรมกลุ่ม การหลีกเลี่ยงเพื่อนบ้าน การติดตามเส้นทาง การติดตามผู้นำ และอื่นๆ อีกมากมาย
กรอบการทำงานของ AI ของ Godot
มันทำงานอย่างไร
รับกรอบงาน
การแนะนำ
กรอบการทำงาน
เอกสารประกอบ
มีส่วนร่วม
สนับสนุนเรา
เข้าร่วมกับชุมชน
พื้นที่เก็บข้อมูลนี้มีเฟรมเวิร์กและการสาธิตบางส่วนเพื่อการเรียนรู้ คุณสามารถดาวน์โหลดสำเนาได้โดยคลิกปุ่ม รหัส สีเขียว แล้วคลิก ดาวน์โหลด ZIP จากนั้นคัดลอกและวางไดเร็กทอรี addons/
ลงในโปรเจ็กต์ของคุณ
ในปี 1990 Craig Reynolds ได้พัฒนาอัลกอริทึมสำหรับพฤติกรรม AI ทั่วไป พวกเขาอนุญาตให้เจ้าหน้าที่ AI ค้นหาหรือหนีจากเป้าหมาย ติดตามเส้นทางที่กำหนดไว้ล่วงหน้า หรือหันหน้าไปในทิศทางใดทิศทางหนึ่ง งานเหล่านี้เป็นงานที่เรียบง่ายและทำซ้ำได้ ซึ่งสามารถแบ่งออกเป็นอัลกอริธึมการเขียนโปรแกรม ซึ่งทำให้ง่ายต่อการใช้ซ้ำ บำรุงรักษา รวม และขยาย
แม้ว่าการดำเนินการถัดไปของตัวแทน AI จะขึ้นอยู่กับการตัดสินใจและอัลกอริธึมการวางแผน พฤติกรรมการควบคุมจะกำหนดว่าจะย้ายจากเฟรมหนึ่งไปยังเฟรมถัดไปอย่างไร พวกเขาใช้ข้อมูลที่มีอยู่และคำนวณว่าจะย้ายไปที่ใดในขณะนั้น
การรวมระบบเหล่านี้เข้าด้วยกันสามารถทำให้เกิดการเคลื่อนไหวที่ซับซ้อนและสง่างาม ขณะเดียวกันก็มีประสิทธิภาพมากกว่าอัลกอริธึมการค้นหาเส้นทางที่ซับซ้อน เช่น A*
โปรเจ็กต์นี้เป็นเฟรมเวิร์กสำหรับเอ็นจิ้นเกม Godot ใช้แรงบันดาลใจจากเฟรมเวิร์ก GDX-AI ที่ยอดเยี่ยมสำหรับเฟรมเวิร์กที่ใช้ LibGDX java
ทุกคลาสในเฟรมเวิร์กจะขยายประเภทการอ้างอิงของ Godot ไม่จำเป็นต้องมีแผนผังฉากที่ซับซ้อน คุณสามารถบรรจุสิ่งที่เกี่ยวข้องกับการเคลื่อนไหวของ AI ภายในคลาส GDScript
ใน GSAI เจ้าหน้าที่บังคับเลี้ยวแสดงถึงตัวละครหรือยานพาหนะ เจ้าหน้าที่จะจัดเก็บตำแหน่ง ทิศทาง ความเร็วสูงสุด และความเร็วปัจจุบัน เอเจนต์จะจัดเก็บพฤติกรรมการบังคับทิศทางที่คำนวณการเปลี่ยนแปลงความเร็วเชิงเส้นหรือเชิงมุมตามข้อมูล
จากนั้นผู้เขียนโค้ดจะใช้การเร่งความเร็วในลักษณะใดก็ตามที่เหมาะสมกับตัวละครเพื่อเปลี่ยนความเร็ว เช่น apply_impulse
ของ RigidBody หรือ move_and_slide
ของ KinematicBody
เอกสารประกอบของเฟรมเวิร์กและการอ้างอิงโค้ดมีอยู่ที่นี่: เอกสารประกอบเฟรมเวิร์ก AI ของ Godot
หากคุณพบข้อบกพร่องหรือมีความคิดที่จะปรับปรุงเครื่องมือ โปรดเปิดปัญหา
หากคุณต้องการมีส่วนร่วมในโครงการ เช่น โดยการแก้ไขข้อบกพร่องหรือเพิ่มคุณสมบัติ โปรดดูที่:
หลักเกณฑ์ของผู้ร่วมให้ข้อมูล
คู่มือสไตล์ GDScript
งานของเราเกี่ยวกับซอฟต์แวร์ฟรีได้รับการสนับสนุนจากหลักสูตรการสร้างเกม Godot ของเรา ลองหามาสักอันเพื่อสนับสนุนเราสิ!
หากคุณชอบงานของเรา โปรดติดดาวพื้นที่เก็บข้อมูล! สิ่งนี้ช่วยให้ผู้คนค้นพบมันได้มากขึ้น
คุณสามารถเข้าร่วมชุมชน GDQuest และมาแชทกับเราได้ที่ Discord
สำหรับข่าวสารด่วน ติดตามเราบน Twitter
เราเผยแพร่วิดีโอบทแนะนำและการอัปเดตที่สำคัญบน YouTube