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

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

1
ฉันจะนำแสงและเงาไปใช้ในแผนที่ย่อยหลายชั้น 2 มิติได้อย่างไร
ฉันอยู่ในขั้นตอนการเขียนเกมมีมิติเท่ากันตั้งแต่เริ่มต้นและฉันต้องการทราบว่าฉันสามารถเพิ่มแสงและเงาได้อย่างไร รหัสที่ฉันได้จนถึงสามารถพบได้ที่นี่แต่มันควรจะเพียงพอที่จะรู้ว่าตอนนี้แผนที่มีอาร์เรย์ 3 มิติที่เรียบง่ายของจริง / เท็จค่า นี่คือภาพของสภาพแวดล้อม: หากเป็นเลเยอร์แผ่นเดียวมันจะตรงไปข้างหน้า ฉันสามารถเข้าใจ raycasting อย่างง่าย ๆ ใน 2d ที่จำเป็น อย่างไรก็ตามเนื่องจากแผนที่ของฉันมีความสูงหลายระดับเช่นเดียวกับบริเวณที่เป็นเหมือนถ้ำฉันจึงไม่รู้ว่าจะทำอย่างไรเพื่อให้เกิดเงาที่น่าเชื่อถือ บางทีวิธีต่อบล็อกเป็นวิธีที่เหมือนจริงหรือไม่?

2
A * การค้นหาเส้นทางสำหรับสิ่งกีดขวางแบบไดนามิกและผู้เล่นทำการบล็อก
สวัสดีฉันกำลังสร้าง TD ใน Unity 5 และต้องการความช่วยเหลือเกี่ยวกับ Pathfinding ของฉัน ฉันจะใช้การหาเส้นทางของ Arons A *สำหรับ AI ของฉันซึ่งทำให้ฉันสามารถใช้วัตถุแบบไดนามิกและอัปเดตเส้นทางในช่วงเวลาทำงาน อย่างไรก็ตามในเกมของฉันฉันต้องการให้ผู้เล่นสามารถบล็อกมินเนียนด้วยป้อมปราการพิเศษซึ่งจะบังคับให้มินเนี่ยนโจมตี "บล็อกทาวเวอร์" แทนการผ่านไปยังปลายทางของพวกเขา ฉันจะทำสิ่งนี้ได้อย่างไร ภาพเพื่อความชัดเจนมากขึ้น:
11 unity  c#  2d  ai  path-finding 

2
ใน Unity เหตุใดจึงเพิ่ม Vector2 และ Vector3 ที่ไม่ชัดเจน แต่การกำหนดไม่ใช่
ให้เวกเตอร์สองตัวต่อไปนี้: Vector3 v3 = Vector3.one; Vector2 v2 = Vector2.one; บรรทัดนี้ไม่ชัดเจน: v3 += v2; // Unity reports dimension ambiguity ในขณะที่การมอบหมายนี้ไม่ได้: v3 = v2; // Unity assigns despite different dimensions ทำไมนี้
11 c#  unity  2d  3d  vector 

1
วิธีการใช้ ripples ชนิดนี้ด้วยตัวแยกส่วน GLSL?
ดังนั้นฉันจึงได้นำส่วนการสะท้อนกลับมาใช้แล้ว: uniform sampler2D texture; uniform vec2 resolution; uniform vec3 overlayColor; void main() { vec2 uv = gl_FragCoord.xy / resolution.xy; if (uv.y > 0.3)// is air - no reflection or effect { gl_FragColor = texture2D(texture, vec2(uv.x, uv.y)); } else { // Compute the mirror effect. vec4 color = texture2D(texture, vec2(uv.x, 0.6 …

2
ฉันจะใช้ตัวกรอง xBR หรือ hqx ใน XNA ได้อย่างไร
ฉันต้องการทำให้สัดส่วนของเกมของฉันสูงขึ้นด้วยหนึ่งในตัวกรอง hqx (hq2x, hq3x หรือ hq4x) หรือตัวกรอง xBRใน shader ฉันจะทำสิ่งนี้ใน XNA 4.0 และ SM3 ได้อย่างไร หมายเหตุด้านข้าง: คำถามนี้ได้รับการแก้ไขอย่างหนักเพื่อเป็นสิ่งที่เป็นอยู่ในปัจจุบัน
11 xna  2d  shaders  pixel  scale 

3
ฉันจะใช้แสงที่ถูกบดบังในเกม 2D แบบบล็อกได้อย่างไร
ฉันต้องการแสง 2D ที่สามารถถูกบล็อกโดยวัตถุในเกม เกมของฉันมีมุมมองจากบนลงล่างและวัตถุในเกมทั้งหมดได้รับการอธิบายเป็นรูปสี่เหลี่ยมผืนผ้า สมมติว่าฉันมีโลก 10x10 และฉันวางแสงที่ 1x1 และผนังรอบ ๆ แสงนั้น ฉันต้องการที่จะเห็นแหล่งกำเนิดแสงที่ 1x1 แต่ไม่ใช่ที่อื่นเพราะมันถูกบล็อกโดยกำแพง ฉันเคยได้ยินว่าการฉายรังสีแสงทำงาน แต่มันทำงานอย่างไรจริง ๆ ?

1
สร้างเอฟเฟกต์คลื่นไซด์ 2 มิติจากเกม Worms
ฉันพยายามสร้างคลื่น / ผลกระทบน้ำจาก Worms ใหม่ (ดูที่นี่http://youtu.be/S6lrRqst9Z4?t=31s ) จากสิ่งที่ฉันเข้าใจว่าไม่ใช่สไปรท์จริงๆมันสร้างขึ้นโดยกระบวนการเช่นคลื่นบาป มีใครสร้างบางอย่างเช่นนี้มาก่อนหรือไม่ หรือความคิดใดที่ฉันจะไปเกี่ยวกับเรื่องนี้?

2
ฉันควรกังวลอะไรเมื่อเปลี่ยนแหล่งกำเนิด OpenGL ไปที่ด้านซ้ายบนของหน้าจอ
เพื่อการศึกษาด้วยตนเองฉันเขียนเครื่องมือ platformer 2D ใน C ++ โดยใช้ SDL / OpenGL ตอนแรกฉันเริ่มต้นด้วย SDL บริสุทธิ์โดยใช้บทเรียนบน sdltutorials.com และ lazyfoo.net แต่ตอนนี้ฉันใช้ SDL เพื่อสร้างบริบทการแสดงผล OpenGL แล้วแสดงผลด้วยฟังก์ชั่น OpenGL (โหมดเฉพาะทันที แต่ฉันเรียนรู้เกี่ยวกับ VAOs / VBOs ) ฉันใช้ SDL สำหรับอินเตอร์เฟสเสียง ฯลฯ เท่านั้น SDL ใช้ระบบพิกัดที่มีจุดกำเนิดที่ด้านซ้ายบนของหน้าจอและแกน y บวกที่ชี้ลง ง่ายต่อการตั้งค่าการฉายภาพของฉันใน OpenGL เพื่อสะท้อนสิ่งนี้ ฉันรู้ว่าพิกัดพื้นผิวเป็นระบบทางด้านขวามือที่มีค่าตั้งแต่ 0 ถึง 1 - พลิกพื้นผิวในแนวตั้งก่อนที่จะทำการเรนเดอร์ (เช่นนั้นพลิกไฟล์ก่อนที่จะโหลด) ทำให้ได้พื้นผิวที่แสดงอย่างถูกต้อง ... พื้นผิวทั้งหมด …
11 c++  opengl  2d  sdl 

3
จะจำลองความดันด้วยอนุภาคได้อย่างไร
ฉันพยายามจำลองแรงกดดันด้วยชุดอนุภาคทรงกลมในเกม Unity ที่ฉันกำลังสร้าง คู่บันทึกเกี่ยวกับปัญหา: เป้าหมายคือเติมช่องว่าง 2d ที่เปลี่ยนแปลงตลอดเวลา / เป็นโมฆะด้วยทรงกลมขนาดเล็กที่ไม่มีแรงเสียดทาน เกมกำลังพยายามจำลองแรงกดดันที่เพิ่มขึ้นเรื่อย ๆ ของวัตถุที่ถูกผลักเข้าไปในพื้นที่นี้ ระดับตัวเองเลื่อนจากซ้ายไปขวาอย่างต่อเนื่องซึ่งหมายความว่าหากขนาดของพื้นที่ไม่ได้ถูกเปลี่ยนโดยผู้ใช้มันจะเล็กลงโดยอัตโนมัติ (ส่วนที่เหลือของพื้นที่จะเลื่อนปิดหน้าจออย่างต่อเนื่อง) ฉันสงสัยว่าวิธีการบางอย่างที่ฉันสามารถใช้เพื่อจัดการกับปัญหาเหล่านี้คือ ... รู้ว่าเมื่อใดที่จะตรวจจับเมื่อมีพื้นที่ว่างในการเติมแล้วเพิ่มทรงกลมเข้ากับพื้นที่ เอาทรงกลมออกจากพื้นที่เมื่อมันหดตัว กลยุทธ์ในการจำลองแรงกดดันต่อลูกกลมเช่นที่พวกเขา "ระเบิดออกไปด้านนอก" เมื่อมีการสร้างพื้นที่มากขึ้น วิธีการในปัจจุบันที่ฉันใคร่ครวญคือการใช้กำแพงที่มีการเคลื่อนไหวอยู่ตลอดเวลานั่นคือปิดหน้าจอและเคลื่อนที่ไปพร้อมกับหน้าจอดังที่ภาพนี้แสดงให้เห็น: . กำแพงที่กำลังเคลื่อนที่นี้จะผลักและจับกับทรงกลมเข้าสู่อวกาศ สำหรับการเพิ่มทรงกลมใหม่ฉันจะมี (1) ทรงกลมทำซ้ำตัวเองเมื่อตรวจจับพื้นที่ว่างหรือ (2) วางไข่ที่ด้านซ้ายของพื้นที่ (ที่ผนัง) - ผลักส่วนที่เหลือของทรงกลมไป เติมช่องว่าง ฉันคาดการณ์ปัญหาเกี่ยวกับความคิด # 1 เพราะสิ่งนี้อาจไม่สร้าง / จำลองแรงกดดัน ความคิด # 2 ดูเหมือนจะมีแนวโน้มมากกว่า แต่ทำให้เกิดคำถามว่าจะให้ที่ตั้งสำหรับอนุภาคทรงกลมใหม่เหล่านี้เพื่อวางไข่ได้อย่างไร (และการกระจายของการวางไข่เมื่อไม่มีพื้นที่) ขอบคุณมากสำหรับภูมิปัญญาของคุณ!
11 2d  unity  physics 

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

4
ฉันควรย้ายโลกหรือย้ายผู้เล่นหรือไม่
ฉันกำลังจะเริ่มพัฒนาเกมจับคู่ด้านข้างซึ่งเป้าหมายของผู้เล่นคือการเดินทางให้ไกลที่สุดเท่าที่เขาสามารถทำได้ในแกนแนวนอนก่อนที่จะแตะต้อง โปรดทราบว่าฉันไม่จำเป็นต้องเดินทางย้อนกลับไปบนแกนนอน ฉันกำลังพัฒนาสิ่งนี้กับ AndEngine สำหรับ Android ที่ใช้ OpenGL และ Box2d ก่อนที่จะเริ่มฉันต้องตัดสินใจเลือกสิ่งที่สำคัญ: ฉันควรใช้โลกรอบตัวผู้เล่นเพื่อจำลองการเคลื่อนไหวหรือเคลื่อนย้ายผู้เล่นและติดตามเขาด้วยคุณสมบัติกล้องของเครื่องยนต์เกม ทั้งสองวิธีดูเหมือนจะมีจุดแข็งและทางเลือกที่แตกต่างกันดังนั้นฉันไม่ทราบว่าวิธีใดที่ถือว่าดีที่สุด ตัวอย่างเช่นอะไรจะทำให้ง่ายต่อการเพิ่มพลังขึ้นไปพร้อมกันและมีพื้นหลังภาพเคลื่อนไหวที่ดี? ขอบคุณ!

2
วิธีสร้างระบบคลังโฆษณาแบบผู้เล่นทั่วโลก
ฉันพบปัญหาในการพยายามใช้ระบบสินค้าคงคลังภายใน XNA (ไม่สำคัญเลยอาจเป็นแพลตฟอร์มใดก็ได้) แต่จนถึงตอนนี้ นี่คือปัญหาที่ฉันพยายามล้อมรอบ: ฉันจะรับไอเท็มจากโลกได้อย่างไร (คิดว่าเมื่อคุณฆ่ามอนสเตอร์มันจะดรอปเกราะ) และนำไปไว้ในคลังของผู้เล่นของฉัน? หากสินค้าคงคลังเป็นเพียงรายการสินค้าในทางเทคนิคแล้วฉันจะนำ Steel Sword จากโลกไปสู่สินค้าคงคลังของผู้เล่นโดยไม่ต้องมีคลาสทำมากกว่าหนึ่งอย่างได้อย่างไร ขณะนี้ฉันมีโครงสร้างรายการซึ่งมีค่าเลขฐานสิบหกที่ไม่ซ้ำกันนับจำนวนรายการที่มี (สำหรับวางซ้อนได้เช่นลูกศร) และพื้นผิวสำหรับแสดงผลภายในคลังโฆษณาและคุณสมบัติที่ไม่สำคัญอื่น ๆ (ชื่อคำอธิบาย ฯลฯ ) . มันจะเป็นการออกแบบที่ไม่ดีถ้าฉันต้องแก้ไขคลาสไอเท็มที่มีอยู่ของฉันให้เป็นตำแหน่งของโลกพร้อมกับการตรวจจับการชนกันของข้อมูล (ไม่ต้องการให้ไอเท็มหล่นผ่านพื้นโลก) ขอบคุณสำหรับการพิจารณาใด ๆ !
11 xna  c#  2d 

3
ฉันจะใช้การตรวจจับการชนกันแบบ 2 มิติที่รวดเร็วและแม่นยำได้อย่างไร
ฉันตระหนักดีถึงวิธีการตรวจสอบว่ามีวัตถุสองมิติขึ้นไปชนกันหรือไม่ แต่ฉันสนใจที่จะตัดสินใจว่าจะตรวจสอบการชนกันหรือไม่ ในโครงการก่อนหน้านี้ฉันเพิ่งตรวจสอบวัตถุทุกชิ้นกับวัตถุอื่น ๆ (ฉันรู้ว่าระดับความโง่เขลา O (n ^ 2)) และมันสร้างเกมเพลย์ที่ลื่นไหลน้อยกว่า ฟอรัมต่างๆยกย่องความยิ่งใหญ่ของ Quadtrees, B-Trees และต้นไม้หรือโครงสร้างอื่น ๆ ที่คุณนึกออก โครงสร้างที่มีประสิทธิภาพที่สุดสำหรับการพิจารณาว่าควรตรวจสอบการชนกันคืออะไร?

3
Age of Empires II ชื่ออะไร?
ใครจะอธิบาย "มุมมอง" ของ Age of Empires 1 เป็นเกมสไปรต์ 2D: ด้านล่างเป็นภาพหน้าจอของ Age of Empires II คุณจะอธิบาย "มุมมอง" อย่างไร? มันเป็นเกมสไปรต์ 2D หรือไม่? "เปอร์สเปคทีฟ" อาจไม่ใช่คำที่ถูกต้อง ถ้าไม่ใช่ฉันควรใช้อะไร

3
แผนที่จากบนลงล่าง 2d: การทำให้เป็นมาตรฐานหรือไม่?
ฉันเป็นผู้เริ่มต้นที่สมบูรณ์แบบด้วยการเขียนโปรแกรมเกมคำถามนี้ควรมีรูปแบบไม่ดีโปรดระวังว่ามันไม่เลอะเทอะข้างๆ แต่ยังขาดประสบการณ์การเขียนโปรแกรมเกม เกมที่ฉันวางแผนจะใช้รหัสจะใช้แผนที่ 2D จากบนลงล่างเป็น "โลก" โลกอาจใหญ่กว่าหน้าต่าง (หน้าต่างสามารถซูมเข้าหรือออก) และยานพาหนะสามารถอยู่ที่จุดใดของโลก (= ไม่ใช่แผนที่ปูกระเบื้องพื้นที่คือ "ต่อเนื่อง") หากต้องการอธิบายด้วยตัวอย่าง: หากโลกเป็นภูมิประเทศ 1,000x1000 เมตรยานพาหนะอาจอยู่ในตำแหน่ง (327.31, 720.4) เมตร คำถามของฉันคือ: วิธีที่สะดวกที่สุดในการเป็นตัวแทนของโลกภายในคืออะไร? ฉันคิดว่าความเป็นไปได้เหล่านี้: ไม่ทำอะไรเลยและใช้มิเตอร์เหมือนกับว่าฉันกำลังทำงานกับวัตถุทางกายภาพ ปรับขนาดเป็นพิกเซลที่กำหนดขนาดโลกเป็นจำนวนพิกเซลสำหรับการแสดงผล 1,000 เมตรที่การซูมสูงสุด ปรับมาตรฐานให้เป็น 1 เพื่อกำหนดคำเป็นสี่เหลี่ยมจัตุรัสขนาด 1 ... แต่ฉันแน่ใจว่าอาจมีบางคน / ของฉันบางคนอาจไม่มีเหตุผล เป็นเพียงเกมแรกของฉันที่ฉันไม่มีภาพที่ชัดเจนของปัญหาที่เกิดขึ้นข้างหน้าของฉันและฉันต้องการคำแนะนำบางอย่างในการตัดสินใจเลือกที่ถูกต้องอย่างสมเหตุสมผล ขอขอบคุณสำหรับเวลาของคุณ.
11 2d  maps 

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