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

มุมมอง 3 มิติเฉพาะทางเทคนิคกำหนดให้มีแกนทั้ง 3 อยู่ห่างกัน 120 องศา ในวิดีโอเกมยุคแรกมักจะไม่ค่อยคำนึงถึงเส้นพิกเซลที่นุ่มนวลกว่า

1
ความแตกต่างระหว่างภาพสามมิติแบบ "เซ" และ "ปกติ" แผนที่สามมิติแบบสามมิติคืออะไร?
V0.9 กระเบื้องแก้ไขแผนที่เมื่อเร็ว ๆ นี้เพิ่มการสนับสนุนสำหรับเซ tilemaps ในนอกเหนือจากการสนับสนุน tilemap ตามปกติของมันมีมิติเท่ากัน อะไรคือความแตกต่างทางเทคนิคที่แน่นอนระหว่างกระเบื้องสามมิติทั้งสามประเภทนี้? ข้อดี / ข้อเสียของพวกเขาคืออะไร?

2
มุมมองมุมมองของเกมภาพสามมิติ 2.5D ส่วนใหญ่คืออะไร [ปิด]
ฉันตรวจสอบเกมยอดนิยมหลายเกมเพื่อตัดสินว่าพวกเขาใช้มุมมองแบบไหน เพื่อจุดประสงค์ฉันสร้างกริดที่มีมุมมองภาพสามมิติ 45 และ 60 องศาและวางลงบนหน้าจอ (ของ Diablo II ในกรณีนี้) ไม่มีกริดเหล่านี้ที่เหมาะสมกับมุมมองของเกม ดังนั้นฉันจึงพยายามค้นหามุมที่เหมาะสมที่สุดกับมุมมองและใกล้เคียงกับ 53.5 องศา อย่างไรก็ตามตัวเลขนี้ดูเหมือนว่ามาจากที่ไหนเลยและฉันเชื่อว่ามีตรรกะที่แข็งแกร่งที่อยู่เบื้องหลังจำนวนที่กำหนดมุมมอง ฉันลอง 9/16 * 90 องศาและ 3/4 * 90 องศา (มาจากอัตราส่วนของความละเอียดหน้าจอ 16: 9 และ 4: 3) แต่ดูเหมือนว่าสมมติฐานของฉันจะไม่ถูกต้อง นี่คือภาพหน้าจอของสิ่งที่ฉันหมายถึง: 60 องศา 45 องศา บางอย่างระหว่างสอง - 53.5 องศา - ค่อนข้างใกล้เคียงกับจำนวนจริง ฉันต้องรู้จริงๆว่าองศาที่แท้จริงคืออะไรและมาจากไหน ความช่วยเหลือใด ๆ ที่เป็นที่นิยมมาก! ขอขอบคุณ!

1
การเรนเดอร์ Isometric และการเลือก?
ฉันกำลังมองหาสูตรในการพล็อต (หน้าจอโลก>) และตัวเลือกเมาส์ (หน้าจอโลก>) กระเบื้องสามมิติในโลกรูปเพชร สิ่งที่ฉันพยายามทำอยู่เสมอเป็นไปได้ วิธีปกติ / ถูกต้องในการทำเช่นนี้คืออะไร?

12
เอ็นจิ้นเกม Isometric ใน JavaScript / HTML5 [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน6 ปีที่ผ่านมา มีใครรู้บ้างไหมกับเครื่องมือวาดภาพ isometric (เช่น out of alpha) ที่เสถียรสำหรับ JavaScript / HTML5? ฉันค้นหาด้วย Google เสร็จแล้วและพบบางอย่าง แต่ส่วนใหญ่อยู่ในสถานะอัลฟา / คำเชิญเท่านั้น มีอะไรที่โตพอที่จะใช้ในสภาพแวดล้อมการผลิตหรือไม่? หรือฉันควรจะม้วนการใช้งานของตัวเองตอนนี้และรอให้ส่วนที่เหลือของโลกให้ทัน?

1
วิธีการแปลงพิกัดของเมาส์เป็นดัชนีมีมิติเท่ากัน?
ฉันวาดแผนที่ภาพวาดสามมิติด้วยไทล์64x32 : const Offset = 160; int X, Y; for (int a=0; a < 6; a++) for (int b=0; b < 6; b++) { X = a * 32 - b * 32 + Offset; Y = a * 16 + b * 16; DrawTile(X, Y, tile); } ภาพแสดงรหัสนี้: มืออาชีพที่รักโปรดช่วยด้วยสูตรการแปลงค่าพิกัดของเมาส์ในดัชนีมีมิติเท่ากันของเซลล์ …

9
ฉันจะเรียงลำดับสไปรต์ภาพสามมิติลงในลำดับที่ถูกต้องได้อย่างไร
ในเกม 2D บนลงล่างปกติสามารถใช้แกน y ของหน้าจอเพื่อจัดเรียงภาพ ในตัวอย่างนี้ต้นไม้ถูกจัดเรียงอย่างถูกต้อง แต่ผนังมีมิติเท่ากัน: กำแพง 2 คือหนึ่งพิกเซลใต้กำแพง 1 ดังนั้นจะถูกวาดหลังกำแพง 1 และสิ้นสุดที่ด้านบน ถ้าฉันจัดเรียงตามแกน y มีมิติเท่ากันผนังปรากฏในลำดับที่ถูกต้อง แต่ต้นไม้ไม่ได้: ฉันจะทำอย่างถูกต้องได้อย่างไร

3
แกล้งทำกราฟิกสามมิติในเกมอวกาศ 2 มิติ
ปิดครั้งแรกผมรู้ว่าสิ่งที่ปัญหาภาพวาดของฉันเป็นและฉันมีความคิดที่แตกต่างกันเกี่ยวกับวิธีการแก้มัน ฉันมาที่นี่เพื่อหาวิธีการปรับเฟรมที่ถูกวาดเพื่อให้ "ภาพลวงตา" มีมิติเท่ากันได้รับการดูแล ฉันกำลังเขียนเกมดูนกแบบ 2 มิติที่เกิดขึ้นในอวกาศ ฉันกำลังพยายามใช้กราฟิกสามมิติในโลกที่อัพอยู่เหนือไม่มีโลกหมุนของเกมเหมือนในเกมไอโซโทปดั้งเดิม (โปรดจำไว้ว่าเกมเกิดขึ้นในอวกาศไม่มีภูมิประเทศ) นี่คือตัวอย่างสไปรต์ที่ฉันพยายามใช้: http://cell.stat-life.com/images/stories/AsteroidOutpost/Spaceship64.pngหมุน 64 ครั้งเกี่ยวกับแกนตั้งของมันในมุมมอง 35 องศา (aka, ISO) ภาพถูกสร้างขึ้นดังนั้นสิ่งนี้สามารถเปลี่ยนแปลงได้ เพื่อความชัดเจนฉันได้บอกว่าทิศเหนือ (ขึ้น) คือ 0 องศาและทิศตะวันออก (ขวา) คือ 90 ปัญหาของฉันคือผีสางของฉันไม่ได้ดูเหมือนว่ามันจะหันหน้าไปทางที่เกมคิดว่าเป็นเพราะความแตกต่างในเครื่องบิน 3 มิติที่ใช้ ไม่แน่ใจว่าฉันใช้คำศัพท์อย่างถูกต้องหรือไม่ยานอวกาศของฉันหมุนไปในระนาบเดียวและระนาบมุมมองกำลังคาดหวังว่าสิ่งต่าง ๆ จะหมุนบนเครื่องบินของตัวเอง นี่คือภาพของปัญหา: http://cell.stat-life.com/images/stories/AsteroidOutpost/ProjectIssue.png ด้านซ้ายฉันมีมุมมองด้านข้างทางขวาฉันมีมุมมองจากบนลงล่าง ด้านบนฉันมีมุมมองของยานอวกาศ / แผ่นสไปรต์ของโลก ที่ด้านล่างฉันมีสิ่งที่เทพดาดูเหมือนเมื่อวาดลงบนหน้าจอ ที่ด้านบนขวาเป็นเวอร์ชั่นที่เรียบง่ายของวิธีการหมุนยานอวกาศของฉัน (แม้จะมีการแยกองศาระหว่างแต่ละเฟรม) ที่มุมล่างขวาคือมุมที่สไปรต์ดูเหมือนว่ากำลังหันหน้าไปเมื่อวาดมุมใดมุมหนึ่งบนหน้าจอ ปัญหานี้เกิดขึ้นอย่างชัดเจนที่สุดประมาณ 45 องศา นี่คือภาพที่วางซ้อนกับเส้น "ระนาบหน้าจอ" ซึ่งชี้ไปในทิศทางที่เรือควรหันเข้าหา: http://cell.stat-life.com/images/stories/AsteroidOutpost/Spaceship64RedLine.pngเส้นสีแดงควรเสมอจะชี้ไปในทิศทางเดียวกันกับเรือ แต่เป็นคุณสามารถมองเห็นปัญหาการฉายที่เป็นสาเหตุของปัญหา …

4
การฉายเงาแบบเรียลไทม์ในเกม 2D สามมิติ
ฉันเขียนเอนจิ้น isometric 2d ขนาดเล็กใน C ++ และฉันพยายามที่จะใช้การจำลองเงาแบบเรียลไทม์ ฉันทำตามวิธีง่าย ๆ ที่อธิบายไว้ในหน้านี้และนี่คือผลลัพธ์ (แสงอยู่ที่ตำแหน่งเดียวกันกับลูกบาศก์สีเหลือง): ผลลัพธ์เป็นสิ่งที่ดีมาก แต่มีเงาที่หายไปบนผนังและด้านบนของก้อน นี่คือตัวอย่างว่าควรมีลักษณะอย่างไร (ฉันวาดเงาที่คาดไว้เป็นสีเขียว): ก้อนทั้งหมดที่ถูกดึงออกมานั้นทำจาก 3 มิติสี่มิติที่อยู่ในตำแหน่ง XY และมีความลึก Z (z = x + y) ฉันใช้ OpenGL กับ orthographic matrix (glOrtho) เงาถูกวาดโดยใช้ stencil buffer ฉันกำลังมองหาแหล่งข้อมูลหรือโซลูชันที่จะช่วยให้ฉันใช้งานการจำลองเงานี้ ขอบคุณมาก!

3
รูปหกเหลี่ยมมีมิติเท่ากันที่ถูกใจ
มุมไหนและอัตราส่วนด้านยาว / สั้นด้านใดให้ค่า hex เท่ากันหมดที่น่าพอใจและเป็นภาพกราฟิกปกติ (แบนและแบนด้านบน) hexes ซึ่งแก้ไขเพิ่มเติมขนาดพิกเซลทั้งหมดสำหรับขนาดต่างๆเมื่อแสดงผล?

6
ฉันจะจัดการการตรวจจับการชนกันของภาพสามมิติได้อย่างไร
ฉันต้องการสร้าง platformer สไตล์กระโดดมีมิติเท่ากัน ผู้เล่นควรจะสามารถกระโดดขึ้นไปบนแพลตฟอร์มเหนือพื้นตีด้านข้างของวัตถุ ฯลฯ ฉันจะใช้เอ็นจิ้นเกม 2D ดังนั้นฉันไม่ต้องการเลียนแบบการชนกันของภาพสามมิติแบบเต็มสำหรับมิติที่ฉันไม่ได้ใช้ ฉันคิดว่าควรวางวัตถุในเกมโดยใช้: X, Y, ความกว้างความสูงและ Z สำหรับความลึก การใช้ค่าเหล่านั้นฉันจะตรวจจับการชนได้อย่างไร

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

4
แผนที่ Isometric Staggered: คำนวณพิกัดของแผนที่สำหรับจุดบนหน้าจอ
ฉันรู้ว่ามีทรัพยากรจำนวนมากเกี่ยวกับเรื่องนี้ แต่ฉันไม่พบที่ตรงกับระบบพิกัดของฉันและฉันมีปัญหาอย่างมากในการปรับแก้ปัญหาเหล่านั้นตามความต้องการของฉัน สิ่งที่ฉันเรียนรู้คือวิธีที่ดีที่สุดในการทำเช่นนี้คือใช้เมทริกซ์การแปลงรูป การนำไปใช้นั้นไม่มีปัญหา แต่ฉันไม่รู้ว่าจะต้องแปลงพื้นที่พิกัดอย่างไร นี่คือภาพที่แสดงระบบพิกัดของฉัน: ฉันจะแปลงจุดบนหน้าจอเป็นระบบพิกัดนี้ได้อย่างไร

2
วิธีการสร้างกระเบื้องภาพวาดสามมิติเอียง (สูง)
นี่อาจอธิบายได้ดีที่สุดในเชิงภาพ ฉันกำลังพยายามสร้างเกม isometric 2.5D วิสัยทัศน์ของฉันสำหรับเกมที่ดูเหมือนว่าเป้าหมายของฉัน: ฉันไม่ใช่ศิลปินกราฟิกดังนั้นฉันจึงมีปัญหาในการสร้างแผ่น "เอียง" เพื่อจำลองภูมิประเทศที่มีความสูงต่างกัน การสร้างไทล์ไอโซโทปพื้นฐานนั้นง่ายโดยใช้ขั้นตอนต่อไปนี้: สร้างไทล์ 64x64 สแควร์ หมุน 45 องศา ปรับขนาดความสูงลงเป็น 2 เท่า การสร้างไทล์ "เอียง" เป็นเรื่องที่ท้าทายยิ่งกว่า ในการกำจัดของฉันฉันมี Photoshop แต่ฉันยังห่างไกลจากผู้เชี่ยวชาญที่ใช้มัน นี่คือปัญหาปัจจุบันของฉัน: ฉันไม่แน่ใจว่าฉันจะจัดการกับจุดยอดได้ไม่งั้นมันก็ง่าย แต่โดยทั่วไปแล้วเพื่อให้ได้ไพ่ "เอียง" จากพื้นฐานภาพวาดสามมิติของฉันสิ่งที่ฉันต้องทำก็คือเลื่อนด้านล่างและจุดยอดขวาลง 16 พิกเซล ในขณะที่แก้ไขอีกสองจุดยอด นี่จะสร้างไทล์ที่ฉันต้องการ เป็นวิธีที่ง่ายในการบรรลุสิ่งนี้ Photoshop เป็นเครื่องมือที่เหมาะสมสำหรับสิ่งนี้หรือไม่? ข้อเสนอแนะใด ๆ
11 tiles  isometric 

4
วิธีการจัดการกับประตูเคลื่อนไหวในกระเบื้องมีมิติเท่ากัน
ฉันมีปัญหาที่ยุ่งยากฉันไม่แน่ใจว่าจะจัดการกับสิ่งที่ดีที่สุดได้อย่างไร: ฉันมีไพ่แบบเคลื่อนไหวของประตู เมื่อมันถูกปิดมันควรจะเรียงทางเดียว แต่เมื่อมันเปิดมันจะต้องมีวิธีที่แตกต่างเพราะมันเป็นของที่แตกต่างกัน นี่คือประตูปิด: และประตูเปิด: ฉันคิดว่ามันจะเป็นไปได้ที่จะแทนที่ระบบการเรียงลำดับสำหรับกระเบื้องดังกล่าวและปรับการเรียงลำดับตามเฟรม แต่มันก็รู้สึกแฮ็คเล็กน้อย มีใครพบสถานการณ์ที่คล้ายกัน? ทางออกที่สง่างาม?

2
ภาพเคลื่อนไหวเกี่ยวกับตัวละคร / วัตถุโต้ตอบทำงานอย่างไรในเกมภาพวาดสามมิติ?
ฉันกำลังวางแผนเกมจำลองธุรกิจจำลองภาพสามมิติที่ผู้เล่นเห็นสำนักงานพร้อมเฟอร์นิเจอร์ตามปกติเช่นโต๊ะทำงานกระดานไวท์บอร์ดเป็นต้น ตัวละคร (พนักงาน / NPC) ภายในเกมควรโต้ตอบกับวัตถุเหล่านี้โดยทำงานบางอย่างที่กำหนดไว้ล่วงหน้าเช่นการพิมพ์บนแป้นพิมพ์ที่โต๊ะทำงานหรือเขียนบนกระดานไวท์บอร์ดเป็นต้น สิ่งที่ฉันสนใจโดยเฉพาะคือสถานการณ์ต่อไปนี้: ตัวละครเคลื่อนข้ามสำนักงาน (1) ไปที่โต๊ะทำงาน (2) แล้วนั่งลงและเริ่มพิมพ์ (3) จากสิ่งที่ฉันเข้าใจฉันจะมีแผ่นผีสางสำหรับการเคลื่อนไหวของตัวละคร (1) และสไปรต์แบบคงที่สำหรับโต๊ะ (2) แต่ฉันไม่เข้าใจว่าจะจัดการขั้นตอนที่สามได้อย่างไร มีสไปรต์รวมที่มีทั้งโต๊ะและตัวละครหรือไม่? ฉันคิดว่าไม่งั้นฉันจะต้องมีแผ่นผีสางสำหรับโต๊ะและตัวละครทุกชุด วิธีนี้จัดการได้อย่างไร แก้ไข: นี่คือตัวอย่างภาพเคลื่อนไหวเฉพาะจากเกม Theme Hospital คุณสามารถดูวิดีโอที่นี่ เท่าที่ฉันเห็นภาพเคลื่อนไหวแบ่งออกเป็นหลายขั้นตอน ขั้นตอนที่ 1 - ตัวละครเคลื่อนไหวระหว่างโต๊ะและเก้าอี้ นี่แสดงให้เห็นว่าเก้าอี้และโต๊ะทำงานนั้นแตกต่างกันในความเป็นจริง ขั้นตอนที่ 2 - ตัวละครนั่งลงภาพเคลื่อนไหว สังเกตว่าในกรอบสุดท้ายที่เก้าอี้อยู่ใกล้กับโต๊ะมากขึ้น ขั้นตอนที่ 3 - ภาพเคลื่อนไหวโต๊ะ ขั้นตอนที่ 4 - ภาพเคลื่อนไหวที่โดดเด่น เหมือนกับนั่ง แต่เล่นในสิ่งที่ตรงกันข้าม ขั้นตอนที่ 5 - …

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