สภาพแวดล้อม“ 2.5D” คืออะไร?


31

ฉันไม่เข้าใจความหมายของคำว่า "2.5D" ฉันสับสนโดยเฉพาะเกี่ยวกับความแตกต่างระหว่างสภาพแวดล้อม 2.5D และ 3D แม้ว่าฉันจะอ่านคำจำกัดความและบทความต่าง ๆ เกี่ยวกับทั้งสอง ฉันเข้าใจส่วนต่าง ๆ ที่ 2.5D เหมือน 3D แต่ฉันไม่เข้าใจส่วนที่ 2.5D นั้นแตกต่างกัน

ดังนั้นเกมสำหรับ 2.5D หมายความว่าอย่างไร ตัวอย่างเช่นเกมแสดงที่นี่ 2.5D หรือไม่

มาริโอ


10
เท่าที่ฉันรู้ 2.5D ของมันเมื่อสไปรต์กำลังถูกใช้เพื่อจำลองภาพลักษณ์ 3 มิติ เมื่อใดก็ตามที่คุณมีกล้องคงที่ แต่ยังคงใช้งานได้กับเรขาคณิต 3 มิติมันยังคงเป็นเกม 3D จากภาพหน้าจอดูเหมือนว่ามาริโอเป็นรูปแบบ 3 มิติดังนั้นเกมดังกล่าวจึงดูเหมือนเป็น 3D เต็มรูปแบบ มันคือทั้งหมดที่เกี่ยวกับไม่ว่าคุณจะเลียนแบบ 3 มิติหรือการสร้างรูปทรงเรขาคณิต 3 มิติในท่อ 3D ทั่วไป
Grimshaw

@Grimshaw ดังนั้น 2.5D หมายความว่าเครื่องยนต์สามารถเป็น 2D ด้วยแบบจำลอง 3 มิติได้หรือไม่? ฉันแน่ใจว่ามีคู่กันถ้าคุณสร้างเกมประเภทนี้ด้วยเอนจิ้น 2D และด้วยเอนจิ้น 3 มิติ พวกเขาคืออะไร ประสิทธิภาพมีค่าใช้จ่ายสำหรับ 3D หรือไม่
mathieug

4
2.5D หมายถึงคุณใช้ภาพ 2D (สไปรต์) เพื่อสร้างโลกของคุณโดยเฉพาะแม้ว่ามันจะดูเป็น 3D ก็ตาม ตรวจสอบเกมที่มีมิติเท่ากันเช่น Clash of Clans สำหรับตัวอย่างของเกม 2.5D ที่เรนเดอร์เต็มรูปแบบในรูปแบบ 2D แต่ดูเหมือนเกม 3D เมื่อคุณเริ่มวางโมเดลโลก 3 มิติของคุณคุณจะได้รับ 3D เต็มรูปแบบและคำศัพท์ 2.5D จะไม่มีผลอีกต่อไป นี่เป็นการบอกว่ากล้องไม่มีส่วนเกี่ยวข้องกับการแสดงผล 3D 3D ไม่ได้เกี่ยวกับการคาดการณ์หรือพฤติกรรมของกล้อง แต่เกี่ยวกับเรขาคณิต
Grimshaw

คำถามนี้ดูเหมือนจะไม่เป็นหัวข้อเพราะเป็นเรื่องเกี่ยวกับคุณสมบัติของเกมบางเกม คำถามที่ถาม (เฉพาะ) ความหมายของคำหรือความหมายของคำว่า "2.5D" จะเหมาะสม (ฉันรู้สึกว่าเรามีหนึ่งรอบลอยอยู่แล้ว) แต่ถามว่ามันเป็นเกมที่เฉพาะเจาะจงหรือไม่ มีส่วนเกี่ยวข้องกับการทำเกมของคุณ และถามว่าคุณควรสร้างเกม 2.5D หรือไม่และทำไมจึงไม่มีวัตถุประสงค์
Josh

3
@JoshPetrie อะไรนะ? การเพิ่มตัวอย่างที่ความเข้าใจของเขานำไปสู่ความคลุมเครือป้องกันคำถามจากการเป็นประโยชน์โดยทั่วไปอย่างไร ในกรณีนี้ (ที่คำถามหลักใช้ได้อย่างสมบูรณ์ แต่มีจำนวนเล็กน้อยของ bloat ที่เกิดจาก OP ค่อนข้างงุ่มง่ามอธิบายตัวเอง) คำถามควรเปิดทิ้งไว้ หากเป็นรายการซ้ำให้ปิดเป็นรายการซ้ำ
ClassicThunder

คำตอบ:


60

ข้อกำหนด2Dและ3D (ตามที่คุณอาจทราบอยู่แล้ว) อ้างถึงจำนวนมิติเชิงพื้นที่ในปริภูมิแบบยุคลิด มิติข้อมูลนี้ต้องเป็นเลขลำดับ ไม่มีสิ่งใดเหมือนครึ่งมิติดังนั้นคำ2.5Dจึงเป็นคำที่ไร้สาระและไม่มีความหมายที่แท้จริง ที่กล่าวว่า 2.5 คือ "ที่ไหนสักแห่งระหว่าง" 2 และ 3 ดังนั้น 2.5D โดยทั่วไปหมายถึงบางสิ่งบางอย่างตามแนวของ "ที่ไหนสักแห่งระหว่าง 2D และ 3D"

โดยส่วนตัวแล้วฉันใช้คำศัพท์เพื่ออ้างถึงกรณีที่พื้นที่กราฟิกและตรรกะของโลกมีมิติที่แตกต่างกัน โดยเฉพาะมีสองสายพันธุ์ที่แตกต่างกันที่นี่:

  • 2D และ 3D ตรรกะแบบกราฟิก ตัวอย่างเช่น platformer ที่มีกลไกเกม 2D และฟิสิกส์ แต่แสดงผลด้วยตาข่ายสามมิติและกล้องมองภาพ remakes ส่วนใหญ่ของเกมอาร์เคดแบบคลาสสิกเช่น Pac-Man, Breakout และอื่น ๆ ตกอยู่ในหมวดหมู่นี้ ภาพด้านล่าง: Pineapple Smash Crew

Pineapple Smash Crew เกิดขึ้นในโลก 2D แต่มันจะเรนเดอร์ในแบบ 3 มิติ

  • 3D และ 2D ตรรกะแบบกราฟิก ตัวอย่างเช่นเกมเช่น Gnomoria หรือ SimCity 2000 ซึ่งมีโลกเกม 3 มิติ แต่แสดงผลในมุมมองภาพวาดสามมิติแบบสองมิติ ภาพด้านล่าง: Xenonauts

การจู่โจมภาคพื้นดินของ Xenonauts เกิดขึ้นบนกริด 3 มิติ แต่มันถูกเรนเดอร์ทั้งหมดโดยใช้สไปรต์ 2 มิติ

ควบคุมการใช้งานร่วมกันของคำว่า (แม้ว่าจะไม่ได้เป็นหนึ่งที่ผมใช้) หมายถึงเกมที่ใช้การรวมกันของ 3D และbillboardedกราฟิก 2D ในกรณีนี้คำศัพท์ไม่ได้อธิบายมิติเชิงตรรกะของเกมเลย เกม 3 มิติทุกเกมใช้ป้ายโฆษณาไม่ทางใดก็ทางหนึ่งรวมถึงระบบอนุภาคพร็อกซีระยะไกลวัตถุและการซ้อนทับ UI ในโลก ดังนั้นคำนี้มักใช้เฉพาะเมื่อวัตถุที่ไม่ใช่พื้นหลังส่วนใหญ่ใช้กราฟิก 2D และเส้นขอบระหว่าง 2.5D และ 3D ค่อนข้างพร่ามัว


17
โดยวิธีการมีสิ่งเช่นมิติเศษส่วน แต่มันไม่มีอะไรเกี่ยวข้องกับคำพัฒนาเกม "2.5D"; มันเกิดขึ้นในการศึกษาเศษส่วนและรูปร่างทอพอโลยีแปลก ๆ ตัวอย่างเช่นพื้นผิว Quadratic Koch (ประเภท 2) มีมิติ Hausdorff (วิธีทั่วไปในการกำหนดมิติเศษส่วน) ที่ 2.5
Lily Chung

9
@IstvanChung ใช่คุณมีเทคนิคที่ถูกต้องและฉันคิดว่าพูดถึงมัน แต่คิดว่ามันจะทำให้สับสนเท่านั้น ฉันคิดว่าผู้พัฒนาเกมบางคนจำเป็นต้องรู้เกี่ยวกับพื้นที่ว่างด้านนอกของปริภูมิแบบยุคลิดแบบ n- มิติและถ้าเป็นเช่นนั้นก็เป็นไปได้ว่าพวกเขาเข้าใจว่าฉันไม่ได้พูดถึงเศษส่วน
bcrist

1
@Phap และ ... เสร็จแล้ว!
bcrist

2
@bcrist ถ้าฉันสามารถ upvote เป็นครั้งที่สองฉันจะดังนั้นฉันจะใครสักคนที่จะยกระดับขึ้นสำหรับฉันด้วยพลังของสมองของฉัน
Pharap

2
ฉันชอบความแตกต่างเชิงตรรกะและกราฟิกนี้จริงๆ ในขณะที่คำตอบ / ความคิดเห็นส่วนใหญ่ที่นี่ดูเหมือนจะถือว่า 2.5D หมายถึงกราฟิก 2D แต่จริงๆแล้วฉันมักจะนึกถึงกราฟิก 3D ดังนั้นความแตกต่างเชิงตรรกะและกราฟิกของคุณจึงเป็นวิธีที่ยอดเยี่ยมในการรวมทั้งแนวคิดของ 2.5D
jhocking

27

เกมแรกที่ฉันรู้ว่ามีคำว่า "2.5D" นำไปใช้กับมันคือ Doom (แม้ว่า Wolfenstein 3D จะมีคุณสมบัติในบางแง่เช่นกัน)

Wolfenstein 3D เป็นเกม 2D ที่มีการนำเสนอ 3D คุณสำรวจเขาวงกต 2 มิติทุกชั้นราบเพดานทั้งหมดอยู่ที่ความสูงเท่ากันไม่มีหน้าต่างประตูเป็นพื้นจรดเพดานและเปิดด้านข้างและคุณไม่สามารถอยู่บนวัตถุใดวัตถุหนึ่ง เกมนี้ใช้การฉายรังสีเพื่อหาค่าในแต่ละคอลัมน์ของหน้าจอว่าผนังนั้นอยู่ในทิศทางใดและพื้นผิวผนังมีเท่าไร แล้วคอลัมน์ของพื้นผิวผนังถูกวาดด้วยความสูงผกผันกับระยะทางและพื้นที่ด้านบนและด้านล่างทาสีด้วยการเติมพื้นและเติมเพดาน ศัตรูและวัตถุต่างก็สไปรต์มีจำนวน จำกัด และขนาดของมันก็แปรผันตามระยะทาง

Doom ใช้เทคโนโลยีที่คล้ายกันมากกับ Wolfenstein 3D แต่ถูกใช้ในทางที่ผิดเพื่อให้ได้รับประสบการณ์ 3D มากขึ้น แผนที่ยังคงอยู่2D แสดงโดยใช้การแบ่งพาร์ติชันไบนารีพื้นที่ 2D (เช่นชื่อไฟล์แผนที่. BSP) สิ่งที่คุณเห็นบน automap เมื่อคุณกดแท็บเป็นเพียงการเรนเดอร์ 2D โดยตรงของแผนที่ แต่แต่ละเซกเตอร์มี "ความสูงของพื้น" และ "ความสูงของเพดาน" ที่เป็นอิสระและขอบมีพื้นผิวด้านบนและด้านล่าง (ใช้เมื่อมีความสูงของเพดานที่ต่ำกว่าหรือความสูงของพื้นที่สูงกว่าส่วนหนึ่งของสภาพแวดล้อม) สิ่งนี้ได้รับอนุญาตสำหรับบันไดหน้าต่างแพลตฟอร์มสระว่ายน้ำและเอฟเฟกต์อื่น ๆ - เครื่องยนต์เพิ่งจะสามารถเก็บรายชื่อของหลายภาคส่วนที่ผ่านมาก่อนที่จะชนกำแพงและพื้นผิวตามลำดับ แต่คุณยังคงไม่มีสถาปัตยกรรม 3 มิติที่แท้จริง - คุณสามารถสร้าง "สะพาน" ข้ามเมือกโดยใช้ส่วนยกของพื้น แต่มันเป็นไปไม่ได้สำหรับสิ่งที่อยู่ภายใต้สะพาน. ตำแหน่งในเกมยังคงเป็นเพียง X และ Y สิ่งเดียวที่ผู้เล่นสามารถควบคุมได้คือความสูงของพวกเขากำลังตกหล่นจากสิ่งต่าง ๆ และลิฟต์ซึ่งเป็นภาคที่เรียบง่ายซึ่งถูกเขียนขึ้นเพื่อเปลี่ยนความสูงของพื้น ศัตรูยังคงสไปรท์ (แม้ว่าฉันคิดว่าพวกเขามีแง่มุมมากกว่านี้) นัด "เล็งอัตโนมัติ" ในระดับสูงเนื่องจากการตรวจจับการชนเป็นเพียง 2 มิติและไม่มีโมเดล 3 มิติที่จะพบในเกม

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


1
+1, ฉันได้ยินเพียงคำศัพท์ 2.5D เมื่อมีคนอ้างถึงการฉายรังสี คำอธิบายที่ดี!
Ruben

5
+1 คำตอบนี้ถูกต้องโดยคำนึงถึงการใช้คำในอดีตเป็นครั้งแรก
..

นี่เป็นคำตอบที่ถูกต้องที่สุด (จริง) ไม่แน่ใจว่าทำไมมันไม่ได้เป็นครั้งแรก ...
Sarge Borsch

ในขณะที่คำตอบนี้อาจถูกต้องในอดีตมันไม่ได้เป็นมาตรฐานอุตสาหกรรมที่ยอมรับหรือคำจำกัดความที่คาดหวัง วันนี้ทุกเกมที่อธิบายว่า 2.5D เป็นที่เข้าใจกันทั่วโลกว่าให้เรนเดอร์ 2D ด้วยลุค 3 มิติ
Ted Bigham

ฉันคิดว่าข้อ จำกัด ของการค้นหาขึ้น / ลงสำหรับเกมอย่าง Heretic นั้นขึ้นอยู่กับข้อเท็จจริงที่ว่าความสูงของวัตถุนั้นถูกรวมเข้ากับพิกัด Y บนหน้าจอไม่ใช่พิกัด X ดังนั้นเส้นแนวตั้งทั้งหมดในฉากจึงกลายเป็นแนวตั้ง หากมีใครมองขึ้นหรือลงที่มุมตื้นสิ่งนี้จะไม่สังเกตเห็นได้ชัดเกินไป แต่ในมุมที่ชันกว่ามันจะน่ารังเกียจมาก ฉันไม่คิดว่ามุมที่ชันกว่าจะทำให้เครื่องยนต์พัง แต่เป็นเพียงภาพลวงตา
supercat

11

2.5D

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

ในประสบการณ์ของฉันซึ่งเน้นคำจำกัดความขึ้นอยู่กับอายุของบุคคลที่คุณกำลังพูดถึง

  1. นักเล่นเกมรุ่นเก่ามักจะใช้คำจำกัดความที่ 1 "การฉายภาพกราฟิก 2 มิติและเทคนิคที่คล้ายกันที่ใช้ในการทำให้ชุดของภาพ (หรือฉาก) เพื่อจำลองลักษณะที่ปรากฏของการเป็นสามมิติ (3D) เมื่อในความเป็นจริงพวกเขาไม่ใช่ "

  2. นักเล่นเกมตัวยงใช้คำจำกัดความที่ 2 "การเล่นเกมในวิดีโอเกมแบบสามมิติที่ จำกัด อยู่ในระนาบสองมิติ "

ส่วนตัวฉันใช้คำจำกัดความที่ 2 Trine, Donkey Kong และ Super Mario Bros Wii U ทุกคนน่าจะเป็น 2.5D ในความคิดของฉัน นอกจากนี้แท็ก Steam 2.5Dใช้คำจำกัดความที่สอง ฉันคิดว่านี่คือการทดสอบกระดาษลิตมัสที่ดีสำหรับวิธีการเล่นเกมโดยทั่วไปกำหนดแนวความคิด) และเป็นเช่นนี้ผมเชื่อว่าคำนิยามที่ 2 ที่ถูกต้องมากขึ้น

3D

วิดีโอเกมใด ๆ ที่มีกราฟิกเกม 3 มิติที่คำนวณใน 3 มิติ หมายเหตุสิ่งนี้ทำให้เป็นชุด super-definition 2.5D ตัวที่สอง


ฉันพบว่า platformer Shadow Complex เป็นกรณีที่น่าสนใจมากเพราะการโต้ตอบอาจเกิดขึ้นในแบบ 3 มิติแม้แต่ที่ตั้งของศัตรู แต่เล็งปืนของคุณไปที่พวกเขาเกี่ยวข้องกับการชี้ไปที่มุม 2D ที่สอดคล้องกับที่ฉายจาก 3D วางไว้บนหน้าจอ จากนั้นตัวละครจะดูแลมุมที่ไม่คาดคิดและเล็งปืนไปที่แกน Z
เซทแบ

6

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


ขอบคุณ แนวคิดโปรเจคของฉันจะดูเหมือน 3D แต่ฉันยังสงสัยเกี่ยวกับเครื่องมือ 2D และ 3D คุณช่วยบอกฉันเพิ่มเติมเกี่ยวกับ 2.5D / 3D ที่มุ่งเน้นไปที่ภาพหน้าจอที่ฉันโพสต์ได้หรือไม่?
mathieug

กลัวฉันไม่เห็นภาพหน้าจอ (ถูกบล็อกในที่ทำงาน) ดังนั้นฉันจึงไม่สามารถแสดงความคิดเห็นได้
DFreeman

3

หน้าจอเกมที่คุณโพสต์เป็นเกม 3 มิติ

ในเกม 3 มิติวัตถุจะถูกวาดโดยใช้จุดยอดเพื่อวาดวัตถุ 3 มิติจริงซึ่งมีสีพื้นผิวตามมา

ในเกม 2D วัตถุจะถูกนำมาจากสไปรต์ / แผ่นสไปรต์ ฯลฯ

ความแตกต่างระหว่างทั้งสองเป็นวิธีที่คุณสามารถดูได้ สไปรต์ก็เหมือนกระดาษแผ่นเดียว คุณไม่สามารถดูได้ในระยะห่างระหว่างสนามหรือมุมอื่นไม่เช่นนั้นสไปรต์จะเบ้ บนวัตถุ 3 มิติขณะที่กล้องเคลื่อนที่คุณสามารถเห็นส่วนต่าง ๆ ของวัตถุได้เนื่องจากวัตถุนั้นเป็น 3D ที่ดี

ในเกม 2.5D คุณกำลังรวมโลกทั้งสองนี้เข้าด้วยกัน โปรดจำไว้เพียงเพราะคุณไม่สามารถขยับกล้องเพื่อดูมุมที่แตกต่างไม่ได้สร้างเกมไม่ใช่ 3D มันคือวัตถุที่อยู่ในนั้นซึ่งกำหนดสิ่งนี้

ตัวอย่างที่ดีของเกม 2.5D คือ Ragnarok Online สิ่งที่ทำให้ 2.5D คือโลกส่วนใหญ่ถูกทำลายจากวัตถุ 3 มิติ สิ่งปลูกสร้างแนวนอน ฯลฯ เป็นวัตถุ 3 มิติที่มีพื้นผิว คุณสามารถหมุนกล้องเหนือศีรษะและดูด้านต่าง ๆ ของวัตถุเหล่านี้ในเวลาเดียวกัน คุณสามารถดูด้านหน้าของอาคารรวมถึงพื้นที่ด้านซ้าย / ขวา / หลังคา อย่างไรก็ตามผู้เล่นเป็นสไปรต์ 2 มิติที่อยู่ในตำแหน่งที่จะยืนขึ้น หากคุณหมุนกล้องมากเกินไปเกมจะต้องโหลดเซลล์ที่แตกต่างของสไปรต์ชีตเพื่อให้ตัวละครนั้นเปลี่ยนลักษณะที่ปรากฏ คุณไม่สามารถดูมุมที่แตกต่างกันของตัวละครเพราะพวกเขาไม่ใช่ 3D มุมจะถูกโหลดแบบไดนามิกขึ้นอยู่กับมุมมองของกล้อง

http://sprites.technoized.com/images/sprite/ro/gm_m.png

นี่คือสไปรต์แผ่นจากเกม หากคุณแค่มองมันคุณจะคิดว่ามันมาจากเกม 2 มิติ เพียงอย่างเดียวคุณจะถูกต้อง แต่เมื่อมันเข้าสู่โลก 3 มิติคุณจะมีเกม 2.5D


ฉันคิดว่า2.5Dมันทำให้เข้าใจผิดเพราะมันเป็นเพียงการตีความของมนุษย์และอื่น ๆ ไม่ใช่สิ่งที่เกี่ยวกับเรื่องนี้ ตัวอย่างเช่นเกมของคุณคืออะไรหากคุณใช้เทคนิคBillboardสำหรับทุกอย่าง (ฯลฯ ล่ามที่มีพื้นผิว) ในสภาพแวดล้อม 3 มิติถ้าพวกมันหมุนอยู่ตรงหน้าคุณเสมอ บางคนอาจพูดว่า 2.5D แต่ชุดส่วนใหญ่จะพูด 3 มิติเนื่องจากมีความลึก Z ในทางเทคนิคหากใช้จุดยอด 3D (เช่นนั้นเป็นมิติ z) เป็นแบบ 3 มิติถ้าใช้เพียง X / Y (พูดว่าSuper Mario bros ) แล้วก็เป็น 2D แต่ถ้ามันใช้เพียง 2 มิติ (x / y) ในสภาพแวดล้อม 3 มิติ (รวมทั้งตัวอักษร) แล้วก็ยังคงเป็น 3D แต่ 2.5D โดยการตีความ

2

2.5D มักจะเป็นอีกวิธีหนึ่งในการพูดว่า "isometric" - กราฟิก 2D ที่วาดขึ้นมาเพื่อให้มีลักษณะของ 3D แต่ไม่ได้จำลองพิกัด 3D จริง ๆ ดูบทความวิกิพีเดียเกี่ยวกับกราฟิกมีมิติเท่ากัน: http://en.wikipedia.org/wiki/Isometric_graphics_in_video_games_and_pixel_art

สิ่งสำคัญคือใน 2.5D / isometric คุณยังคงใช้ระบบพิกัด 2D ด้วยแกน x และ y เท่านั้นในการคำนวณกราฟิกของคุณ กราฟิกของคุณอาจเป็นสไปรต์แบบ 2D ซึ่งโดยทั่วไปจะถูกวาดขึ้นมาเพื่อให้คุณสามารถเห็นใบหน้าได้สามใบหน้าและวางบนหน้าจอโดยใช้พิกัด (x, y) บางครั้งสไปรท์ถูกสร้างโดยการสร้างแบบจำลองในแบบ 3 มิติจากนั้นสร้างสไปรต์ 2 มิติของแบบจำลอง 3 มิติจากหลายมุม

วัตถุที่เคลื่อนที่มีลักษณะเฉพาะมีมุมมองไม่กี่มุมเท่านั้น หากคุณหมุนตัวละครไปรอบ ๆ ในมุมมองมีมิติเท่ากันมันจะไม่หมุนอย่างราบรื่น แต่คุณจะเห็นมุมที่แตกต่างกันหลายอย่างเช่นด้านหน้า, 3/4, ด้านข้างและอื่น ๆ นี่เป็นเพราะมุมมองที่เป็นเอกลักษณ์แต่ละมุมมองต้องใช้ชุดสไปรต์ใหม่ทั้งหมด

เกม Isometric มักจะรองรับมุมกล้องเพียงมุมเดียวเท่านั้นเนื่องจากข้อ จำกัด ของระบบประเภทนี้ คุณสมบัติที่โดดเด่นอีกประการหนึ่งของเกม isometric ก็คือพวกเขาไม่มีคะแนนหายตัวไป เมื่อดูวัตถุในชีวิตจริงหากวัตถุนั้นใกล้กับคุณมากขึ้นวัตถุนั้นจะปรากฏขึ้นในวิสัยทัศน์ของคุณ หากวัตถุนั้นอยู่ห่างออกไปวัตถุนั้นจะเล็กลง ในเกมที่มีมิติเท่ากันวัตถุทั้งหมดมักจะมีขนาดเท่ากันไม่ว่าจะอยู่ที่ไหนในอวกาศ

เปรียบเทียบเกม 3 มิติจำลองทั้ง 3 แกน - x, y และ z ในระดับที่ต่ำมากคอมพิวเตอร์จะแปล x, y และ z เป็น x, y ที่จะแสดงบนหน้าจอ แต่ในระดับที่สูงขึ้นศิลปินจะจัดการกับจุดบนแกน 3 แกนเพื่อแสดงวัตถุ เนื่องจากคอมพิวเตอร์มีข้อมูลทั้งหมดเกี่ยวกับรูปร่างของวัตถุจึงสามารถคำนวณสิ่งที่วัตถุนั้นดูได้ทุกมุมมองแบบไดนามิกและสามารถปรากฏให้เล็กลงหรือใหญ่ขึ้นเมื่อคุณเข้าใกล้หรือไกลออกไป

เกมบางเกมมีการผสมผสานระหว่าง 2.5D และ 3D ที่แท้จริง ตัวอย่างที่ฉันนึกถึงคือชุด Disgaea ซึ่งมีพื้นหลัง 3 มิติและ 2D sprites


2

ฉันไม่แน่ใจว่าสิ่งใดจะเป็นคำจำกัดความที่เป็นที่ยอมรับมากขึ้น แต่ฉันและผู้คนใน บริษัท ก่อนหน้าของฉันพิจารณาว่า "เกมใด ๆ ที่ดูเหมือน isometric 3D แต่แสดงผ่านสไปรต์ 2D" เป็น 2.5D

ตอนนี้ให้ฉันอธิบายว่าทำไมเราถึงทำอย่างนั้น โดยทั่วไปการเรนเดอร์โลก 3 มิติที่มีวัตถุจำนวนมากอยู่ในนั้นจะสร้างแรงกดดันในการประมวลผลมากเกินไปทำให้การนับ FPS ลดลง ดังนั้นเพื่อเอาชนะสิ่งนี้เรามักจะสร้างวัตถุในซอฟต์แวร์การเรนเดอร์ 3D เช่น Maya และแสดงผลเป็น sprite ซึ่งสามารถใช้ในเกม ไม่ต้องพูดถึงว่ามุมถูกพิจารณาขณะเรนเดอร์ ดังนั้นเพื่อพูดเกี่ยวกับเทคโนโลยีนี้กับผู้เผยแพร่เราปกติแล้วจะใช้คำนี้ โลก 3 มิติซึ่งดูเหมือนว่ามันเป็นโลก 2 มิติยังคงเป็น 3 มิติทางเทคนิคสำหรับเรา ดังนั้นโดยทั่วไปเราไม่ได้ใช้คำสำหรับวิธีนี้ ฉันคิดว่าฉันควรแบ่งปันบิตของฉันที่นี่


1

โดยปกติแล้วคำว่า "2.5-D" หมายถึงหนึ่งในสองรูปแบบที่แตกต่างกันมากของเกม

มันอาจหมายถึง:

1) เกมที่ใช้เทคนิคการเรนเดอร์ 2 มิติ แต่ควบคุมในมิติพิเศษ 3 มิติ โดยปกติจะใช้เทคนิคกราฟิกปรากฏขึ้นราวกับว่ามันถูกสร้างการแสดงผลในแบบ 3 มิติ นี่เป็นเรื่องธรรมดามากใน 90s แต่ไม่มากวันนี้ (ตัวอย่าง: "DOOM", "Duke Nukem 3D", "Wolfenstein 3D")

2) เกมที่แสดงผลทั้งหมดในแบบ 3 มิติ แต่ควบคุมได้เฉพาะบนเครื่องบินสองมิติหนึ่งหรือมากกว่าเท่านั้น สไตล์นี้ยังคงเป็นที่นิยมมาจนถึงทุกวันนี้ (ตัวอย่าง: "Little Big Planet", "New Super Mario Bros. ", "Trials HD")

สิ่งหนึ่งที่ควรทราบคือเมื่อใช้รูปแบบสถาปัตยกรรม model-view-controller รูปแบบแรกของเกมมี "model" ที่แสดงข้อมูลใน 3 มิติ แต่ "view" ที่แสดงให้ผู้ใช้เห็นใน 2 มิติเท่านั้น รูปแบบที่สองของเกมเป็นวิธีอื่น ๆ


0

ใน 2.5D คุณใช้สินทรัพย์ 2D / เทคนิคการแสดงผลเพื่อให้ความรู้สึกของสภาพแวดล้อม 3 มิติ

ขณะนี้ด้วยคำจำกัดความดังกล่าวในสถานการณ์ที่อาจคลุมเครือดังต่อไปนี้จำเป็นต้องมีรายละเอียดบางอย่าง:

เกม

ใช้กราฟิก 3D, GPU เร่งความเร็วและทั้งหมด (วัตถุเกมเป็นตาข่ายไม่ใช่ภาพ) ด้วยมุมกล้องคงที่ ช่วยให้แย่ยิ่งขึ้นไปอีกการฉายภาพเป็นออโธกราฟฟิคคลาสสิก 63.43 องศา วิธีเดียวที่จะสังเกตุเห็นได้อย่างชัดเจนว่ากราฟิกไม่ใช่ 2D ไม่ใช่เพราะ 3DGC ยกเว้นว่าคุณแสดงด้วยความระมัดระวังอย่างมากจะแตกต่างจากสไปรต์การวาดภาพด้วยมืออย่างง่ายดายไม่ว่าจะใช้การฉายภาพแบบใดก็ตาม คุณอาจทดลองใช้เทคนิคการเรนเดอร์พารามิเตอร์ shaders ฯลฯ ที่แตกต่างกันและคุณจะต้องพยายามซ่อนความจริงที่ว่าพวกเขาเป็นตาข่ายสามมิติ

เกม B

พอร์ตของเกม A แต่กำหนดเป้าหมายแพลตฟอร์มที่ทราบกันดีว่ามีฮาร์ดแวร์ที่ไม่สามารถจัดการกับกราฟิก 3D ได้เป็นอย่างดีหรือไม่รองรับเลย จากนั้นพอร์ตจะแทนที่ตาข่ายด้วยสไปรต์ มันยังคงใช้กล่อง Bounding 3D สำหรับการชนตัวอย่างเช่นและวัตถุมีคุณสมบัติตำแหน่งที่มีค่า x, y และ z เนื่องจากตรรกะของเกมส่วนใหญ่ไม่ได้สัมผัสหรือไม่ได้สัมผัสเลยมีเพียงการเปลี่ยนรหัสการแสดงผลเท่านั้น

เนื่องจาก sprite ของเกม B เป็นเนื้อหา 3D ของเกม A และเพื่อทำให้สิ่งต่าง ๆ มีความคลุมเครือมากขึ้นเกม A ไม่ได้ทำอะไรที่ต้องมีความซับซ้อนใน 99% ของ GPU ทั้งหมดที่นั่นคุณไม่สามารถแยกความแตกต่างของเฟรมจากเกม B ของเฟรมจาก Game A

ใน 2.5D การโต้ตอบระหว่างออบเจกต์เกมจะถูก จำกัด ในชุดของสถานการณ์ที่ภาพลวงตาของ 3D ไม่สามารถถูกทำลายได้ ในการแทนการกอดตัวละครสองตัวตัวอย่างเช่นคุณจะต้องสร้างไฟล์รูปภาพเดียวโดยที่ตัวละครทั้งสองกำลังโต้ตอบกันเนื่องจากพยายามที่จะเป็นตัวแทนของแอคชั่นกอดโดยใช้เพียงภาพเดียวต่อตัวละครนั้นจะยากหรือเป็นไปไม่ได้ บางทีคุณอาจจะมีตัวละครแบ่งออกเป็นส่วน ๆ และวาดตามลำดับที่ถูกต้อง ใน 3D ปัญหานี้ไม่มีอยู่ (มีอยู่อีกตัวหนึ่งนั่นคือการวางตัวละครทั้งสองอย่างถูกต้องดังนั้นพวกเขาจึงไม่ทะลุเข้าไปในตาข่ายของตัวละครอื่น)

ลองนึกภาพว่าเกม A และ B มีข้อผิดพลาดที่ในบางสถานการณ์อนุญาตให้ตัวละครของผู้เล่นผ่านวัตถุเกมอื่นทำให้เราสามารถแยกความแตกต่างระหว่าง 2.5D หนึ่งและ 3D ได้อย่างง่ายดาย


เกม B, 2.5D Render, sprite นั้นเรียงลำดับตามค่า z ของตำแหน่งเวกเตอร์ ในตัวอย่างนี้บวก z ลงและลบ z ขึ้น แกน z และแกน y นั้นขนานกัน แต่ z จะถูกปรับอัตราส่วนด้วย 0.5 ของ y ดังนั้นหากพื้นที่ที่มองเห็นอยู่ระหว่าง 10y ถึง -10y ในพื้นที่เดียวกันเรามีตั้งแต่ 20z ถึง -20z วัตถุที่มีค่า z มากกว่าจะถูกดึงกลับมาดังนั้นพวกเขาจะถูกมองว่าอยู่ด้านหน้าวัตถุที่มีค่า z ต่ำกว่า เงาของตัวละครของผู้เล่นดูแปลก ๆ เพราะเงาอยู่ในชั้นที่เหนือกว่าพื้น แต่ในชั้นที่ต่ำกว่าซึ่งวัตถุอื่นทั้งหมดดังนั้นเงาของตัวละครของผู้เล่นจึงไม่เคยอยู่ด้านบนของลูกบาศก์

2.5D Render


เกม A, 3D Render บัฟเฟอร์ความลึก (หรือที่เรียกว่า z-buffer) ใช้สำหรับการทดสอบความลึกของความแม่นยำของพิกเซล ดังนั้นวัตถุไม่จำเป็นต้องบังวัตถุอื่นอย่างสมบูรณ์แม้แต่สามเหลี่ยมก็จำเป็นต้องบังวัตถุอื่นอย่างสมบูรณ์เราจึงมีการทดสอบความแม่นยำของพิกเซล เราสามารถหมุนวัตถุเกมในทางใดทางหนึ่งและยังคงได้รับผลลัพธ์ที่สมจริงเมื่อพวกเขาโต้ตอบ

3D Render

ในประวัติย่อ: ใน 2.5D สไปรต์อาจอยู่ด้านหน้าหรือด้านหลังสไปรต์อื่น ใน 3D ตาข่ายทำมาจากสามเหลี่ยม แต่สามเหลี่ยมไม่ใช่หน่วยขั้นต่ำเมื่อทำการทดสอบความลึกคุณสามารถมีความแม่นยำของพิกเซล แน่นอนว่าการหมุนกล้องใน 2.5D นั้นเป็นไปไม่ได้เนื่องจากสินทรัพย์ถูกสร้างขึ้นสำหรับมุมกล้องคงที่ในขณะที่ในแบบ 3 มิตินั้นเป็นธรรมชาติถ้ามุมกล้องถูก จำกัด โดยการออกแบบในเกม 3D เป็นอีกเรื่องหนึ่ง


มีเทคนิคต่าง ๆ ที่ให้ความรู้สึกเหมือนอยู่ในโลก 3 มิติเมื่อคุณสามารถแสดงกราฟิก 2 มิติได้ฉันเพียงนำเสนอตัวอย่างที่สร้างขึ้นอย่างรวดเร็วโดยใช้ทรัพย์สินบางส่วนของโครงการร้างของฉัน

ทำไมไม่ใช้ 3D เสมอและลืมเรื่อง 2.5D ไป?

ฉันคิดได้ในตัวอย่างว่าทำไมนักพัฒนาซอฟต์แวร์อาจชอบวิธี 2.5D:

  • บางทีพวกเขาอาจไม่รู้หรือไม่ชอบ 3D API (Direct3D, OpenGL และอื่น ๆ )
  • บางทีแพลตฟอร์มเป้าหมายไม่รองรับกราฟิก 3 มิติที่ดี (คอมพิวเตอร์เดสก์ท็อปเก่าคอนโซล 2D)
  • ทีมของคุณสามารถทำสไปรท์ที่น่าทึ่ง แต่ไม่ใช่โมเดล 3 มิติ

คุณสามารถประมาณผลลัพธ์ของกราฟิก 3 มิติโดยใช้ 2.5D ได้เท่าใด

มีประสิทธิภาพและขอบฟ้าความซับซ้อนในการเขียนโปรแกรม เมื่อคุณประมาณเส้นขอบฟ้าคุณจะเริ่มสงสัยว่าโครงการของคุณเป็นไปได้จริง ๆ ใน 2.5D หรือถ้าคุณต้องใช้ 3D เต็มรูปแบบ ตัวอย่างเช่นคุณสามารถใช้ z-buffering ใน 2.5D (ในทางทฤษฎี) แต่คุณสามารถชำระค่าใช้จ่ายหน่วยความจำวิดีโอ (คอมพิวเตอร์เดสก์ท็อปเก่าที่มีกราฟิกออนบอร์ดไม่ใช่อุปกรณ์มือถือที่มีประสิทธิภาพ) ได้หรือไม่ คุณต้องการชำระค่าใช้จ่ายในการจัดเก็บภาพพิเศษเพื่อบันทึก z-mask ของผีสางทุกตัวหรือไม่?

ผู้สมัครที่ดีสำหรับ 2.5D คือเกมสวมบทบาทคิดว่าชุด Baldur's Gate หรือ RTS คิดว่า Age of Empires 1 และ 2 (AoE 3 เป็น 3D เต็มรูปแบบและแยกแยะได้ง่าย)

การอ้างอิงที่มีประโยชน์:

Z-Buffering: http://en.wikipedia.org/wiki/Z-buffering

ประมาณการ Orthographic: http://glasnost.itcarlow.ie/~powerk/GeneralGraphicsNotes/project/orthographicproject.html

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