คำถามติดแท็ก bounding-boxes

10
วิธีที่เร็วที่สุดในการหาจุดตัดขอบ 2D คืออะไร
สมมติว่าแต่ละกล่องวัตถุมีคุณสมบัติ x, y, ความกว้างความสูงและมีต้นกำเนิดที่จุดศูนย์กลางของพวกเขาและไม่ว่าวัตถุหรือกล่องขอบเขตการหมุน

5
นักแสดงในเกมควรมีความรับผิดชอบในการวาดภาพตนเองหรือไม่?
ฉันยังใหม่ต่อการพัฒนาเกม แต่ไม่ได้เขียนโปรแกรม ฉัน (อีกครั้ง) เล่นกับเกมประเภท Pong โดยใช้canvasองค์ประกอบของ JavaScript ฉันสร้างPaddleวัตถุที่มีคุณสมบัติดังต่อไปนี้ ... width height x y colour ฉันยังมีPongวัตถุที่มีคุณสมบัติเช่น ... width height backgroundColour draw(). draw()วิธีการในปัจจุบันคือการรีเซ็ตcanvasและที่เป็นที่คำถามขึ้นมา ควรPaddleวัตถุมีdraw()วิธีการรับผิดชอบสำหรับการวาดภาพหรือควรdraw()ของPongวัตถุต้องรับผิดชอบสำหรับการวาดภาพของนักแสดง (ฉันคิดว่าเป็นคำที่ถูกต้องโปรดแก้ไขฉันหากฉันไม่ถูกต้อง) ฉันคิดว่ามันจะเป็น advantagous สำหรับPaddleการวาดตัวเองที่ผมยกตัวอย่างวัตถุสองและPlayer Enemyถ้ามันไม่ได้อยู่ในPongของdraw()ฉันจะต้องเขียนรหัสที่คล้ายกันสองครั้ง การปฏิบัติที่ดีที่สุดที่นี่คืออะไร? ขอบคุณ

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
OBB กับการตรวจจับการชน OBB
สมมติว่าคุณมี Bounding Box Object สองชิ้นแต่ละอันจะเก็บจุดยอดปัจจุบันของกล่องในเวกเตอร์ที่มีจุดยอดทั้งหมดของวัตถุที่หมุนและแปลโดยสัมพันธ์กับแกนทั่วไป นี่คือภาพเพื่ออธิบายปัญหาของฉัน: ฉันจะทำงานอย่างไรหาก OBB ทั้งสองวางซ้อนทับลิงก์ใด ๆ เพื่อช่วยอธิบายวิธีการแก้ไขปัญหาจะได้รับการต้อนรับ ไม่มีอะไรซับซ้อนเกินไปโปรด ...

3
การตรวจจับการชนกันของกระเบื้องที่มีประสิทธิภาพสำหรับสี่เหลี่ยมจำนวนมากหรือไม่
ขณะนี้ฉันกำลังทำเกมตามแบบตัวเอง (คิดว่า Terraria แต่แปลกน้อยกว่านี้ (ฉันคิดว่านั่นเป็นคำหรือไม่ขออภัยถ้าไม่ใช่) อย่างไรก็ตามตอนนี้ฉันมีระบบตรวจจับการชนกันของข้อมูลทำงานได้ดี มีบางสิ่งที่น่ายินดีเป็นอย่างยิ่งที่ได้เห็นผีสางไม่วิ่งผ่านบล็อก แต่แล้วฉันก็มีความคิดที่จะสร้างมาตรฐาน ความคิดที่ไม่ดี 1,000 สี่เหลี่ยมไม่มีปัญหา 10,000 สแควร์สำหรับ 3 ตัวอักษรเป็นความล่าช้า 100,000 squares (แผนที่ใหญ่มาก) สำหรับ 3 ตัวละครนั้นเล่นไม่ได้ ฉันมีปัญหาที่ฉันไม่ต้องการพิจารณาบล็อกที่อยู่ไกลจากผู้เล่นตัวละครไอเท็ม ฯลฯ แต่ฉันไม่ต้องการโหลดหน่วยความจำที่เหลืออยู่เหล่านั้นอย่างต่อเนื่อง นี่คืออัลกอริทึมของฉันจนถึงตอนนี้อย่าลังเลที่จะวิจารณ์ foreach (Block in level) { if (distance from block to player > a specified amount) ignore this block; else { get the intersection depth between …

2
การทดสอบจุดตัดขอบกล่องวัตถุ 2 มิติชิดขอบ
ฉันมีสองกล่องขอบเขตวัตถุจัดชิด (เช่นไม่จัดแนวแกนพวกเขาหมุนด้วยวัตถุ) ฉันต้องการทราบว่ากล่องที่วางวัตถุสองกล่องซ้อนทับกันหรือไม่ ( แก้ไข: หมายเหตุ - ฉันกำลังใช้การทดสอบกล่องที่มีขอบเป็นแนวแกนเพื่อกำจัดวัตถุที่อยู่ไกลออกไปอย่างรวดเร็วดังนั้นมันจึงไม่สำคัญว่ารูทีนรูปสี่เหลี่ยมจะช้ากว่าเล็กน้อย ) กล่องของฉันถูกจัดเก็บเป็นสี่ x, y คะแนน ฉันค้นหาคำตอบแล้ว แต่ฉันไม่เข้าใจชื่อตัวแปรและอัลกอริทึมในตัวอย่างเพื่อนำไปใช้กับกรณีเฉพาะของฉัน มีใครช่วยแสดงให้ฉันเห็นว่าจะทำอย่างไรในวิธีที่ชัดเจนและเรียบง่าย? ขอบคุณ (ภาษานั้นไม่สำคัญรหัสหลอกแบบ C คือ OK)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.