คำถามติดแท็ก 2d

2D หมายถึงพื้นที่สองมิติที่มีการแสดงพิกัดด้วยค่า X และ Y

2
การคำนวณแรงหมุนของสไปรต์ 2D
ฉันสงสัยว่าใครบางคนมีวิธีการคำนวณสถานการณ์ต่อไปนี้อย่างสวยงาม ฉันมีวัตถุของจำนวนสี่เหลี่ยม (n) จำนวนรูปร่างแบบสุ่ม แต่เราจะแกล้งพวกมันเป็นรูปสี่เหลี่ยมผืนผ้าทั้งหมด เรากำลังจัดการกับแรงโน้มถ่วงไม่ดังนั้นพิจารณาวัตถุในอวกาศจากมุมมองจากบนลงล่าง ฉันกำลังใช้แรงกับวัตถุที่ช่องสี่เหลี่ยมเฉพาะ (ดังที่แสดงด้านล่าง) ฉันจะคำนวณมุมการหมุนได้อย่างไรโดยขึ้นอยู่กับแรงที่ใช้กับตำแหน่งที่ใช้งาน หากนำไปใช้ในจัตุรัสกลางมันจะตรงไป ฉันควรจะทำตัวต่อไปอย่างไรเมื่อย้ายจากจุดศูนย์กลาง ฉันจะคำนวณความเร็วในการหมุนได้อย่างไร
35 2d  rotation  physics  vector 

5
ใน 2D ฉันจะหาวัตถุที่ใกล้ที่สุดถึงจุดได้อย่างมีประสิทธิภาพได้อย่างไร
ฉันมีเอ็นจิ้นเกมขนาดใหญ่และฉันต้องการคุณสมบัติในการค้นหาจุดที่ใกล้ที่สุด ฉันสามารถใช้ทฤษฎีบทพีทาโกรัสในการค้นหาแต่ละระยะทางและเลือกหนึ่งขั้นต่ำ แต่นั่นต้องใช้การวนซ้ำทั้งหมด ฉันยังมีระบบการชนกันโดยที่ฉันจะเปลี่ยนวัตถุให้เป็นวัตถุขนาดเล็กบนกริดที่เล็กกว่า (เช่น minimap) และถ้าวัตถุมีอยู่ในกริดสเปซเดียวกันฉันจะตรวจสอบการชนกัน ฉันสามารถทำได้เพียงทำให้ระยะห่างของกริดใหญ่ขึ้นเพื่อตรวจสอบความใกล้ชิด (แทนที่จะตรวจสอบทุก ๆ ออบเจ็กต์) อย่างไรก็ตามมันจะทำการเซ็ตอัพเพิ่มเติมในคลาสฐานของฉัน มันคุ้มหรือไม่ มีบางสิ่งที่มีประสิทธิภาพและแม่นยำฉันสามารถใช้เพื่อตรวจจับวัตถุใดที่อยู่ใกล้ที่สุดโดยอิงจากรายการคะแนนและขนาด
35 c++  2d  algorithm  vector  picking 

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

11
เกม 2D มีอนาคตไหม? [ปิด]
ตอนนี้ฉันกำลังทำงานกับเอนจิ้นฟิสิกส์แบบซอฟต์ - 2D (เนื่องจากไม่มีตัวตนอยู่ตอนนี้ -_-) แต่ฉันกังวลว่าไม่มีประโยชน์ที่จะใช้เวลาเป็นปี ๆ แม้ว่าฉันชอบที่จะทำงานกับมันฉันสงสัยว่าเครื่องมือดังกล่าวจะได้รับรายได้ใด ๆ จากการพิจารณาว่าใครก็ตามยินดีจ่ายเงินสำหรับห้องสมุดน่าจะทำงานในรูปแบบ 3 มิติ เกม 2D มีอนาคตในอุตสาหกรรมเกมหรือไม่? ฉันควรจะวางเครื่องยนต์และหาสิ่งที่มีความหมายในการทำงาน โบนัส: ฉันพยายามคิดหาวิธีที่ไม่เหมือนใครในการนำเครื่องมือฟิสิกส์มาใช้ในเกม 2 มิติโดยดูจากเกมที่มีหลายมิติ แต่ยังคงอยู่ในมุมมอง 2 มิติเช่น Paper Mario ความคิดใด ๆ

4
ทำไมวัตถุของฉันเคลื่อนที่เร็วกว่า 45 องศามากกว่า 90 องศา
ฉันมีวัตถุในเกมของฉันที่เคลื่อนที่เร็วขึ้นที่ 45 องศาจากนั้นที่ 90 องศา แต่ละวัตถุมี ตำแหน่งจุด (x, y) ทิศทาง Vector2D (x, y) ความเร็วสูง และสิ่งที่ฉันทำในระหว่างการอัพเดทคือตำแหน่งใหม่จะถูกคำนวณดังนี้: position.x += direction.x * speed position.y += direction.y * speed ฉันจะแก้ไขสิ่งนี้ได้อย่างไร ฉันต้องการให้มันเคลื่อนที่ด้วยความเร็วเท่ากันทุกมุม
32 c#  2d  geometry 

3
คุณจะเข้าถึงความละเอียดในเนื้อหากราฟิกแบบแรสเตอร์ได้อย่างไร?
เกมเหล่านั้นที่โชคไม่ดีพอที่จะเรียกใช้บนสเปคแพลตฟอร์มที่ถูกล็อคเช่นอุปกรณ์พกพาจำเป็นต้องทำงานในรูปแบบความละเอียดและอัตราส่วนภาพที่หลากหลาย ในเกม 3 มิติคุณอาจมี HUD หรือ GUI เมนูตามกราฟิกแรสเตอร์และในเกม 2 มิติคุณอาจมีล่ามมากมายซึ่งเป็นเรือสำหรับสไปรต์ ดังนั้นคำถามของฉันคือคุณจะออกแบบและใช้งานเนื้อหาในความละเอียดและอัตราส่วนภาพที่หลากหลายได้อย่างไร สมมติว่าคุณมีตัวละครสไปรต์ที่มีขนาด 300x400 พิกเซลสไปรท์และล้อมรอบด้วยระดับที่ทำจากแผ่นกระเบื้อง ในการแก้ปัญหาที่แตกต่างกัน / อัตราส่วนภาพคุณจะเห็น FOV อื่นทั้งหมด หรือถ้าคุณมี HUD หรือเมนู GUI คุณต้องการเก็บบางสิ่งไว้ในตำแหน่งเดียวกันและมีขนาดเท่ากันเมื่อเทียบกับหน้าจอ กระนั้นแหล่งกราฟิกก็คือบิตแมปแรสเตอร์ไม่ใช่เวกเตอร์ เห็นได้ชัดว่าปัญหาได้รับการแก้ไขหลายครั้ง ฉันสนใจที่จะได้ยินเกี่ยวกับวิธีการต่าง ๆ ที่ทำงานสำหรับคุณจนถึง คุณรักษาหน่วย 'พิกเซล' ที่ไม่เชื่อเรื่องพระเจ้าไว้โดยไม่ได้ตั้งใจซึ่งคุณเปลี่ยนเป็นมิติที่ต้องการอย่างน่าอัศจรรย์ผ่านสูตรโดยยึดตามความละเอียดและอัตราส่วนภาพหรือวิธีอื่น ๆ หรือไม่? แก้ไข: ดังนั้นข้อสรุปคือการระบุอัตราส่วนภาพของคุณ การผสมผสานด้านต่ำสุด: ความละเอียดเป็นสิ่งที่คุณออกแบบสิ่งที่สำคัญ พื้นที่ที่ปลอดภัยถ้าคุณจะ อัตราส่วนกว้างยาวเหมือนกัน แต่ความละเอียดที่สูงกว่าเป็นปัญหาการปรับสเกลง่าย เนื้อหาศิลปะถูกออกแบบมาเพื่อความละเอียดสูงสุด อัตราส่วนภาพกว้างขึ้นเพียงแสดงระดับ / FOV มากขึ้นด้วยข้อมูลที่นำเสนอซึ่งไม่สำคัญเท่าที่ควรในพื้นที่ปลอดภัย สิ่งที่ฉันทำในรูปนี้
32 2d  sprites  gui 

4
โปรแกรมเมอร์สามารถเรียนรู้การวาดเนื้อหา 2D ได้อย่างไร [ปิด]
มีแบบฝึกหัดที่ดีสำหรับผู้ที่ต้องการสร้างเนื้อหาเกมกราฟิก 2 มิติหรือไม่? การวาดชั้นเรียนสำหรับผู้เริ่มต้นอย่างสมบูรณ์โดยเฉพาะอย่างยิ่งทักษะการสอนที่มีความเกี่ยวข้องกับเกมมากที่สุด - การวาดตัวละครไปด้านข้าง / จากบนลงล่าง, มีมิติเท่ากัน, พื้นผิวการวาดภาพและอื่น ๆ
31 2d  graphics  art 

6
วิธีเก็บข้อมูลแผนที่ 2D ที่ไม่มีขีด จำกัด หรือไม่?
ฉันมี platformer 2D ที่สามารถจัดการชิ้นส่วนที่มีขนาด 100 ถึง 100 แผ่นในขณะนี้พิกัดก้อนจะถูกเก็บไว้เป็นเวลานานดังนั้นนี่เป็นข้อ จำกัด เพียงแผนที่เท่านั้น (maxlong * maxlong) ทุกตำแหน่งเอนทิตี้และอื่น ๆ นั้นเกี่ยวข้องกับชิ้นงานดังนั้นจึงไม่มีข้อ จำกัด ปัญหาที่ฉันมีคือวิธีจัดเก็บและเข้าถึงชิ้นส่วนเหล่านี้โดยไม่ต้องมีไฟล์นับพัน แนวคิดใดสำหรับรูปแบบการเก็บถาวร HD แบบเร็วและราคาต่ำกว่าที่ไม่ต้องการเปิดทุกอย่างพร้อมกัน?
29 xna  2d  c#  maps  platformer 

3
เกม 2 มิติเช่น Zelda จัดการกับตัวละครที่อยู่ด้านหลังอาคารซึ่งมีเพียงส่วนเดียวของเขาที่แสดงได้อย่างไร
ฉันพยายามพัฒนาเกมสไตล์ Zelda ง่าย ๆ ฉันพบหัวข้อที่มีประโยชน์มากนี้ LoZ: ลิงก์ไปยังการชนกันของไทล์ย่อยจัดการอย่างไร ฉันใช้เป็นข้อมูลอ้างอิงเพื่อพัฒนากลไกการตรวจจับการชนของฉัน อย่างไรก็ตามมีบางสิ่งที่ฉันไม่เข้าใจ เมื่อลิงก์อยู่ด้านหลังอาคารจะมีเพียงบางส่วนเท่านั้นที่ปรากฏ ทุกคนได้โปรดช่วยฉันเข้าใจว่าเอฟเฟกต์นี้จะประสบความสำเร็จได้อย่างไร? พื้นอาคารเป็นส่วนหนึ่งของพื้นหลังไม่ใช่หรือ
28 2d 

10
ใน Pong คุณจะคำนวณทิศทางของลูกบอลได้อย่างไรเมื่อมันกระดอนจากไม้พาย?
ฉันพยายามที่จะสรุปปัญหาของ Hello World-y ในการพัฒนาเกม ฉันได้สร้างเกม TicTacToe ใน XNA แล้วฉันเดาว่าขั้นตอนต่อไปจะเป็นโคลนการฝ่าวงล้อม โปรดจำไว้ว่าฉันไม่มีความรู้เกี่ยวกับการเขียนโปรแกรมเกมหรือแม้แต่คณิตศาสตร์ที่ฉันควรนำไปใช้กับที่ไหน นั่นเป็นเหตุผลที่ฉันถามคำถามนี้ คำถาม: ฉันจะทราบได้อย่างไรว่าลูกบอลควรตีกลับอย่างไรเมื่อมันกระทบกับไม้พายที่ด้านล่างของหน้าจอ ฉันคิดว่ามันจะเป็นเช่น: จับความเร็วและมุมจากลูกบอลที่เข้ามา ตรวจจับตำแหน่งที่สัมผัสกับแถบ (ซ้ายสุด, ขวาสุด, กึ่งกลาง) และตามที่ให้ความเร็วสูงขึ้นหากสัมผัสบริเวณด้านนอก นี่คือที่ฉันติดอยู่ ฮิฮิ. ข้อมูลเชิงลึกใด ๆ ฉันรู้ว่านี่ไม่ใช่คำถามประเภทคำตอบที่ตรงไปตรงมา แต่ฉันแน่ใจว่ามันเป็นปัญหาที่ทุกคนเผชิญ ฉันกำลังอ่านหนังสือLinear Algebraที่แนะนำบนเว็บไซต์นี้ แต่ฉันก็ยังไม่รู้ว่าควรสมัครที่นี่หรือไม่
28 xna  c#  2d  mathematics  physics 

4
การเคลื่อนไหวสวมบทบาทจากบนลงล่างพร้อมการแก้ไข?
ฉันหวังว่าเราจะได้เล่น Zelda ทั้งหมด: ลิงค์ไปสู่อดีตโปรดแก้ไขให้ฉันถ้าฉันผิด แต่ฉันต้องการเลียนแบบการเคลื่อนไหวตัวละคร 2D จากบนลงล่างด้วยการแก้ไข มันทำมาแล้วในเกมอื่น แต่ฉันคิดว่าการอ้างอิงนี้จะง่ายที่สุดในการเชื่อมโยง โดยเฉพาะอย่างยิ่งการเคลื่อนไหวและการแก้ไขที่ฉันพูดถึงคือ: การเคลื่อนไหวลอยตัวนั้นไม่ได้ จำกัด เฉพาะการเคลื่อนไหวแบบเรียงต่อกันเช่นโปเกมอนและเกมอื่น ๆ ที่การแตะหนึ่งครั้งของแผ่นเคลื่อนไหวจะเลื่อนคุณหนึ่งตารางในทิศทางที่สำคัญ การเคลื่อนไหวแบบลอยตัวนี้ควรจะสามารถทำให้เกิดการเคลื่อนไหวในแนวทแยง หากคุณกำลังเดินไปทางทิศตะวันตกและคุณมาที่กำแพงที่มีแนวทแยงในแบบตะวันออกเฉียงเหนือ / ตะวันตกเฉียงใต้คุณจะได้รับการแก้ไขในการเคลื่อนไหวทางตะวันตกเฉียงใต้แม้ว่าคุณจะยังคงถือ (ตะวันตก) บนตัวควบคุม การดำเนินการนี้ควรใช้สำหรับการแก้ไขเส้นทแยงมุมทั้งสองในทั้งสองทิศทาง หากคุณมีพิกเซลไม่กี่ก้าวจากการเดินเข้าไปในประตูหรือโถงทางเดินคุณจะได้รับการแก้ไขให้เดินผ่านโถงทางเดินหรือลงไปตามทางเดินนั่นคือการชนเข้ามุมทำให้คุณถูกผลักเข้าไปในห้องโถง / ประตู ฉันตามล่าหาวิธีที่มีประสิทธิภาพเพื่อบรรลุเป้าหมายนี้และไม่มีโชค เพื่อความชัดเจนฉันกำลังพูดถึงการเคลื่อนไหวของตัวละครมนุษย์ไม่ใช่การเคลื่อนไหวของ NPC มีทรัพยากรของพวกเขาในการเคลื่อนไหวประเภทนี้หรือไม่? สมการหรืออัลกอริทึมอธิบายบนวิกิหรืออะไร? ฉันใช้ XNA Framework มีอะไรในนั้นที่จะช่วยได้หรือไม่
27 xna  2d  rpg  movement 

2
อัลกอริทึมสำหรับแผนที่ 2D ขั้นตอนที่มีเส้นทางเชื่อมต่อ
ปัญหาที่จะต้องแก้ไข:สร้างแผนที่ดันเจี้ยน 2D แบบสุ่มสำหรับเกมแบบเรียงต่อกันที่ห้องทั้งหมดเชื่อมต่อกัน ฉันกำลังมองหาวิธีแก้ปัญหาที่ดีกว่าสิ่งที่ฉันมีอยู่ในปัจจุบัน โซลูชันปัจจุบันของฉันคือฉันรันสองอัลกอริธึม ครั้งแรกที่สร้างดันเจี้ยนที่มีห้องพัก ที่สองตรวจสอบให้แน่ใจว่าห้องพักทุกห้องเชื่อมต่อกัน ฉันอยากรู้ว่าการแก้ปัญหาอื่นอาจมีอยู่ เร็วขึ้นและ / หรือง่ายขึ้นเป็นต้นความเร็วไม่ใช่เรื่องที่น่ากังวล แต่ถ้าความเร็วสามารถเพิ่มได้โดยไม่ต้องเสียค่าใช้จ่ายจริงนั่นเป็นเรื่องดี ที่สำคัญกว่านั้นคือฉันและคนอื่น ๆ ที่อ่านอาจเรียนรู้วิธีต่าง ๆ ในการเข้าถึงและแก้ไขปัญหา ด้านล่างคือการใช้งานปัจจุบันของฉัน ขณะนี้ห้องพักไม่มีทางออกหรือออกในทิศทาง 2, 3 หรือ 4 สร้างห้องดันเจี้ยน ตั้งค่า: ตั้งค่าห้องปัจจุบันเป็นห้องซ้ายบน รับประเภทห้องที่ถูกต้องสำหรับห้องพัก (ที่ประเภทห้องที่ถูกต้องเป็นประเภทที่ไม่มีทางออกจากคุกใต้ดินและห้องที่ออกตรงกับทางออกของห้องด้านบนและห้องทางด้านซ้ายเพียงตรวจสอบด้านบนและ เหลือเนื่องจากขั้นตอนที่ 2 ด้านล่าง) วางห้องลงแล้วเลื่อนพิกัด x หนึ่งก้าว หากพิกัด x เกินความกว้างของดันเจี้ยนให้ตั้งค่าพิกัด x เป็น 0 และเลื่อนไปข้างหน้าพิกัด y หนึ่งก้าว หากพิกัด y เกินความสูงของดันเจี้ยนเราก็เสร็จเรียบร้อย ทำซ้ำจาก # 1 ฉันจะตรวจสอบเพื่อดูว่าห้องทั้งหมดเชื่อมต่อกันหรือไม่หากพวกเขาไม่ได้เชื่อมต่อกันทั้งหมดฉันเรียกใช้อัลกอริทึมที่สองว่าในวิธีที่ไม่เซ็กซี่ …

3
ทีมป้องกันการเขียนทับทำงานในไฟล์ต้นฉบับได้อย่างไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว มันเป็นไปได้สำหรับฉันที่มีหลายคนที่กำลังทำงานอยู่ในขณะเดียวกันเช่นเอ็นจิ้นเกม สมมติว่านักพัฒนาคนหนึ่งกำลังทำงานAudio.cppและนักพัฒนาที่สองก็กำลังทำงานอยู่Audio.cppสิ่งนี้จัดการโดยทั่วไปในทีมขนาดใหญ่เพื่อต่อสู้กับการเขียนทับได้อย่างไร (ในคำอื่น ๆ ที่จะหยุดสองนักพัฒนาจากการเปิดไฟล์จนกว่านักพัฒนาคนหนึ่งจะเสร็จสิ้น)
26 project-management  version-control  teamwork  java  2d  collision-detection  vector  collision-resolution  unity  directx  directx11  directx10  xna  ios  monogame  windows-phone-8  xamarin  design-patterns  oop  xna  collision-detection  collision-resolution  bounding-boxes  rotation  collision-detection  mathematics  javascript  algorithm  separating-axis-theorem  xna  2d  monogame  image  xna  directx  graphics  performance  opengl  2d  3d  c++  directx11  unity  c#  scale  c#  xna  collision-detection  collision-resolution  leaderboards  scoring  glsl  srgb  tilemap  three.js  tiled  unity  physics  xml  dialog-tree  xna  c#  .net  opengl  lwjgl  vbo  physics  graphics  procedural-generation  simulations  water  opengl  java  textures  lwjgl  frame-buffer  unity  unity  2d  collision-detection  collision-resolution  trigonometry  java  android  libgdx  xna  c#  frame-rate  c++  unreal-4  procedural-generation  java  graphics  lwjgl  slick  c++  software-engineering 

3
ฉันจะระบุภูมิภาคของสถานที่ในโลกที่สร้างขึ้นได้อย่างไร?
ฉันกำลังสร้างเกาะ ฉันใช้โซลูชัน heightmap แบบคลาสสิก: ด้วยฟังก์ชั่นสร้างเนินหลีกเลี่ยงมุมของแผนที่ฉันสร้างความสูง จากนั้นเสียงเพอร์ลินให้ตัวแปรภูมิอากาศแก่ฉันเพื่อจัดการกับชีวมวล ตอนนี้ฉันกำลังเผชิญหน้ากับความท้าทายสองประการที่เกี่ยวข้องกัน: ในป้อมปราการ Dwarf หนึ่งในแง่มุมที่ประณีตของยุคโลกคือเกมที่ดูเหมือนจะรู้พื้นที่และตั้งชื่อให้พวกมันแม้ว่ามันจะไม่ใช่รูปสี่เหลี่ยมผืนผ้า ฉันต้องการที่จะ "จดจำ" ป่าของฉันแม่น้ำของฉันเนินเขาของฉัน ... ความคิดใด ๆ ที่ฉันสามารถใช้อัลกอริทึมในการสแกนแผนที่และตีความพื้นที่ของมันได้อย่างไร แล้วคุณจะเก็บมันอย่างไร? ฉันกำลังใช้กราฟ C ++ พื้นฐานที่ทำจากเวกเตอร์ของเวกเตอร์ของ "tile object" เกาะนี้ควรแบ่งออกเป็นพื้นที่ทางการเมืองไม่เพียง แต่พื้นที่ทางธรรมชาติล้วนๆ ฉันสามารถใช้ภูเขาและแม่น้ำเพื่อสร้าง "เส้นขอบตามธรรมชาติ" แต่แผนที่ที่สร้างตามขั้นตอนของฉันไม่ได้รับประกันฉันจะมี "วงล้อม" ที่ดีที่จะสร้างอาณาจักร ฉันพบว่าตัวเองมีพื้นที่ทางการเมือง "รูปริบบิ้น" ขนาดมหึมาที่เต็มไปด้วยอาณาจักรขนาดเล็ก ความเป็นไปได้อีกอย่างก็คือการมองหาพื้นที่ที่เหมาะสมสำหรับเมืองหรือปราสาท จากนั้น "ขยาย" พื้นที่ทางการเมืองรอบ ๆ แต่มีอีกครั้งฉันต้องการมีอัลกอริทึมที่รู้จักกันดีก่อนที่จะพยายามประดิษฐ์ของฉันเอง คำถามนี้อาจตีความได้ว่าค่อนข้างคลุมเครือดังนั้นวิธีหนึ่งในการตอกย้ำว่ามันจะเป็นอย่างไร: วิธีการแบ่ง (โดยไม่มีการดัดแปลง!) โลกที่สร้างขึ้นแบบขั้นตอนในพื้นที่ที่เหมาะสมสำหรับการเล่นเกม? ขอบคุณล่วงหน้าสำหรับความช่วยเหลือของ.

5
ฉันจะคำนวณมุมและทิศทางการเลี้ยวที่เหมาะสมระหว่างสองเวกเตอร์ 2D ได้อย่างไร
ฉันกำลังทำงานกับการเคลื่อนไหว AI ที่ไม่มีสิ่งกีดขวางและการเคลื่อนไหวถูก จำกัด ไว้ที่ระนาบ XY ฉันกำลังคำนวณเวกเตอร์สองตัวคือv , ทิศทางหันหน้าของเรือ 1 และwเวกเตอร์ชี้ไปจากตำแหน่งของเรือ 1 ถึงเรือ 2 ฉันกำลังคำนวณมุมระหว่างเวกเตอร์สองตัวนี้โดยใช้สูตร arccos((v · w) / (|v| · |w|)) ปัญหาที่ฉันพบคือการarccosคืนค่าระหว่าง 0 ถึง 180 °เท่านั้น นี่ทำให้เป็นไปไม่ได้ที่จะตัดสินว่าฉันควรเลี้ยวซ้ายหรือขวาเพื่อเผชิญหน้ากับเรือรบลำอื่น มีวิธีที่ดีกว่าในการทำเช่นนี้?
26 2d  vector 

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