คำถามติดแท็ก steering-behaviors

2
การปรับสมดุลแบบไดนามิกของยานอวกาศ
เรืออวกาศในเกมของฉันมีจุดประสงค์เพื่อให้ผู้เล่นสร้างขึ้นโดยมีแรงขับดันติดมาทุกที่ทุกเวลาด้วยการหมุน ขณะนี้ฉันมีรหัสสกปรกเพื่อหมุนเรือไปยังมุมที่กำหนด (เร่งความเร็วและลดความเร็ว) นี่คือตัวอย่างของเรือที่สมมาตรหันหน้าไปทางที่จุดสีแดงชี้บอกให้หมุนไปทางซ้าย อย่างไรก็ตามอย่างที่คุณคิดขึ้นอยู่กับตำแหน่งที่ผู้เล่นวางเครื่องขับดันบางครั้งกองกำลังเชิงเส้นที่ไม่พึงประสงค์กำลังส่งผลกระทบต่อเรือ ในกรณีนี้เรือเริ่มเคลื่อนที่ไปข้างหน้า ฉันอธิบายอย่างละเอียดว่ามันเป็นไปได้หรือไม่ที่จะหาแรงผลักสูงสุดที่ Thruster สามารถใช้เพื่อทำให้ไม่มีความเร็วเชิงเส้น (ในกรณีข้างต้นที่จะไม่มีใครเพราะไม่มีอะไรที่จะตอบโต้กองกำลังจากขับดันด้านหลังและคนหน้าฆ่าคนอื่น) สิ่งที่ฉันได้ทำมาในตอนนี้คือสูตรในการกำหนด "ประสิทธิภาพการเลี้ยว" เช่นการหมุนเกิดขึ้นเมื่อเทียบกับการเคลื่อนที่เชิงเส้น a - position vector to thruster a b - ตำแหน่งเวกเตอร์ไปยัง thruster b v1 - แรงจาก thruster a v2 - แรงจาก thruster b efficiencyDelta = a.cross (v1) / | v1 | - (a.cross (v1) + b.cross (v2)) / …

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

1
การค้นหาความเร็วที่ถูกต้องสำหรับ AI เพื่อให้บรรลุเป้าหมาย
ฉันมีเรือที่เดินทางด้วยความเร็วสูงสุดmaxSpeedและสามารถเปลี่ยนrotationSpeedองศาต่อวินาที เรือเคลื่อนที่ไปในทิศทางที่หันหน้าไปทางเสมอซึ่งหมายความว่ายิ่งแล่นเรือเร็วเท่าไหร่รัศมีการเลี้ยวยิ่งใหญ่ขึ้นเท่านั้น ฉันรู้ตำแหน่งของฉันการหมุนและตำแหน่งของเป้าหมาย สิ่งที่ฉันอยากรู้คือเป้าหมายอยู่ในรัศมีวงเลี้ยวของฉันด้วยความเร็วนี้หรือดีกว่าความเร็วสูงสุดที่ฉันสามารถเคลื่อนที่ได้คืออะไรเพื่อที่จะเลี้ยวไปยังเป้าหมายโดยไม่วนรอบอย่างต่อเนื่อง มีวิธีที่มีประสิทธิภาพ (ish) การทำเช่นนี้? นี่คือสิ่งที่ฉันคิดอยู่จนถึงตอนนี้: เพราะฉันรู้ว่าฉันเดินทางไปไกลแค่ไหนต่อขั้นตอนและเท่าไหร่ที่ฉันหมุนไปตามขั้นตอนเท่าไหร่ฉันจึงสามารถรู้ได้ว่าฉันจะอยู่ที่ไหนในสองเฟรม ตำแหน่งปัจจุบันของฉันคือ p1 ตำแหน่งถัดไปของฉันคือ p2 จากนั้น p3 ฉันสามารถหาเส้นแบ่งครึ่งตั้งฉากของ (p1, p2) และ (p2, p3) จุดตัดของพวกเขาจะให้ศูนย์กลางของวงกลมแก่ฉัน ฉันสามารถทดสอบว่าเป้าหมายอยู่ในวงกลมนั้นหรือไม่ ฉันไม่แน่ใจว่าสิ่งนี้จะทำงานในแบบ 3 มิติ (ฉันไม่แน่ใจว่าจะคำนวณทรงกลมด้วยอินพุตของฉัน) โซลูชันนี้ไม่ได้ช่วยอะไรมากนักในการค้นหาความเร็วที่เหมาะสมสำหรับการเดินทางฉันจะต้องลองสองสามครั้งด้วยความเร็วที่แตกต่างกันเพื่อค้นหาความเร็วที่เหมาะสม ทุกคนสามารถปลดปล่อยแสงให้กับทางออกที่ดีกว่าได้หรือไม่?

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

2
ป้องกันการเกิดภัยพิบัติในเกมแข่งรถ
เมื่อเล่น GTA III บน Android ฉันสังเกตเห็นบางสิ่งที่สร้างความรำคาญให้ฉันในเกือบทุกเกมแข่งที่ฉันเคยเล่น (อาจยกเว้น Mario Kart): การขับตรงไปข้างหน้านั้นเป็นเรื่องง่าย แต่เส้นโค้งนั้นยากมาก เมื่อฉันเปลี่ยนเลนหรือผ่านใครบางคนรถเริ่มหมุนไปมาและความพยายามใด ๆ ที่จะแก้ไขให้แย่ลงเท่านั้น สิ่งเดียวที่ฉันทำได้คือกดเบรก ฉันคิดว่านี่เป็นงานหนักเกินไป สิ่งที่ทำให้มันน่ารำคาญก็คือมันไม่เคยเกิดขึ้นกับฉันในชีวิตจริง (ขอบคุณพระเจ้า :-)) ดังนั้น 90% ของเกมที่มียานพาหนะอยู่ภายในรู้สึกไม่จริงสำหรับฉัน (แม้จะมีเครื่องมือฟิสิกส์ที่ดีจริงๆ) ฉันได้พูดคุยกับผู้คนสองสามคนเกี่ยวกับเรื่องนี้และดูเหมือนว่าคุณ 'ได้รับ' เกมแข่งรถหรือไม่ ด้วยการฝึกฝนจำนวนมากฉันจัดการเพื่อให้ได้กึ่งดีในบางเกม (เช่นจากชุด Need for Speed) โดยการขับรถอย่างระมัดระวังมากเบรกมาก (และมักจะเป็นตะคริวในมือของฉัน) คุณสามารถทำอะไรได้บ้างในฐานะผู้พัฒนาเกมเพื่อป้องกันการเกิดเสียงดังกังวานและทำให้การขับขี่รู้สึกถูกต้อง? (สำหรับเกมแข่งรถทั่วไปที่ไม่ได้มุ่งมั่นเพื่อฟิสิกส์ที่สมจริง 100%) ฉันยังสงสัยว่าเกมอย่าง Super Mario Kart นั้นแตกต่างกันอย่างไรเพื่อที่พวกเขาจะได้ไม่ต้องออกแรงมากเกินไป ฉันเดาว่าปัญหาหนึ่งคือถ้าคุณเล่นกับแป้นพิมพ์หรือหน้าจอสัมผัส (แต่ไม่ใช่ล้อและคันเหยียบ) คุณมีอินพุตดิจิตอลเท่านั้น: ใช้แก๊สอัดหรือไม่หมุนพวงมาลัยซ้าย / ขวาหรือไม่และมันยากกว่ามากที่จะคัด ความเร็วที่กำหนด อีกสิ่งหนึ่งคือคุณอาจไม่ได้รู้สึกถึงความเร็วและขับได้เร็วกว่าความเป็นจริง จากส่วนบนของหัวฉันมีวิธีแก้ไขอย่างหนึ่งที่อาจแตกต่างกันไปตามความเร็วของพวงมาลัย
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.