มีการฉาย 3 มิตินอกเหนือจาก orthographic และมุมมอง? [ปิด]


22

คำถามนั้นค่อนข้างมากในชื่อเรื่อง มีการฉายภาพ 3 มิติที่น่าสนใจนอกเหนือจาก orthographic และมุมมองที่สามารถใช้ในระบบ 3D เช่น OpenGL ได้หรือไม่?

โดยเฉพาะอย่างยิ่งมีอะไรบ้างไหมที่มีความพิเศษในการออกแบบเกม?

คำตอบ:


23

ใช่เพื่อชื่อไม่กี่:

ประมาณการแบบฉบับอิตาลีก็ตามตัวอย่างเช่นสามารถจับภาพทุ่งกว้างของมุมมองในการที่ดีวิธี (ทั้งหมดเป็นเพียงความคิดเห็นของฉัน)

ฉันคิดว่ารายละเอียดการใช้งานจะเกินขอบเขตของคำถามเฉพาะนี้


แก้ไข: ขอบคุณสำหรับความคิดเห็นฉันสะกด Pannini และเพื่อให้การแก้ไขนี้คุ้มค่าที่นี่มีอีกไม่กี่:

  • Paraboloid / Dual-Paraboloid (มีประโยชน์สำหรับการสะท้อนแสงเงากระจกสี)
  • Equirectangular (สามารถสร้างมุมมองแผนที่โลกของทรงกลม)
  • เป็นทรงกลม
  • ซายน์

4
+1 สำหรับการฉายภาพ Panini; ฉันไม่เคยได้ยินเรื่องนี้มาก่อน BTW ตราบใดที่เรากำลังพูดถึงการคาดการณ์ที่ไม่ใช่เชิงเส้นดูอัลพาราโบโลรอยด์ก็เป็นสิ่งที่บางครั้งใช้สำหรับแผนที่สภาพแวดล้อมและแผนที่เงา
นาธานรีด

เป็นคนจู้จี้จุกจิกมาก แต่ดูเหมือนจะเป็น "Pannini" ไม่ใช่การฉาย "Panini"
aardvarkk

เจ๋งมาก! ฉันเดาว่าสิ่งเหล่านี้ไม่ใช่แบบเส้นตรงเหมือนที่นาธานรีดพูด?
jmite

ฉันเชื่อว่าเป็นไปได้ว่าคุณส่วนใหญ่ต้องใช้การสอน tessellation หรือการประมวลผลภาพเพื่อให้บรรลุเป้าหมายในทางปฏิบัติ ฉันมีปัญหาในการคิดโครงงานอีกอันที่แมปเป็นเส้นตรง แต่ฉันจะเพิ่มลงในคำตอบนี้ถ้าฉันคิดอะไรบางอย่าง
MickLH

มันอาจไม่มีอยู่จริงนี่เป็นสิ่งที่ฉันคิด!
jmite

15

ขึ้นอยู่กับสิ่งที่คุณหมายถึงโดย "ที่สามารถใช้ในระบบ 3 มิติเช่น OpenGL" :)

ฮาร์ดแวร์กราฟิก 3 มิติและ API อย่าง OpenGL จะพูดอย่างแคบ ๆ เท่านั้นการจัดการเชิงเส้นตรงอย่างถูกต้องคือการคาดการณ์ที่แมปเส้นตรงในอวกาศโลกกับเส้นตรงบนรูปภาพ พวกเขาไม่เคยบิดเบือนบางสิ่งบางอย่างเป็นรูปร่างโค้ง (เว้นแต่ว่ามันจะโค้งเริ่มต้นด้วย) เนื่องจาก GPU ขึ้นอยู่กับรูปสามเหลี่ยมที่มีขอบตรงเพื่อที่จะฉายภาพบนหน้าจอได้อย่างถูกต้อง

หากเรา จำกัด ตัวเองไว้ที่การคาดการณ์เชิงเส้นไม่มีตัวเลือกมากเกินไป นอกจากออร์โธและมุมมองมาตรฐานแล้วยังมีรูปแบบ "นอกศูนย์" ซึ่งได้มาจากการตัดมุมมอง frustum

  • การฉายภาพแบบออร์โธที่อยู่กึ่งกลางศูนย์เรียกว่าการฉายภาพเฉียงและมักใช้กับแผนภาพวิศวกรรม แต่ไม่ค่อยปรากฏในเกมมากนัก
  • การคาดการณ์มุมมองแบบไม่อยู่กึ่งกลางใช้ในการเรนเดอร์ 3D สเตอริโอเนื่องจากปรากฎว่ามุมมองตาซ้ายและขวาหลอมรวมดีขึ้นในสมองถ้าคุณตัดเศษ Frustums แทนที่จะหมุนมันเพื่อโฟกัสไปที่วัตถุ

การคาดการณ์เหล่านี้สามารถแสดงด้วยเมทริกซ์การฉายภาพ 4 × 4 ปกติและใช้ใน 3D API โดยไม่มีปัญหา

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

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

วิธีที่สองในการรับการฉายภาพแบบไม่เชิงเส้นคือการแสดงฉากโดยใช้การฉายภาพมุมมองปกติก่อน (อาจเป็น cubemap ซึ่งมีการฉายภาพมุมมองสำหรับแต่ละหน้าลูกบาศก์) จากนั้นใช้ shader พิกเซลหลังกระบวนการเพื่อลองอีกครั้งตามต้องการ การฉายภาพแบบไม่เชิงเส้น สิ่งนี้มีข้อได้เปรียบที่ไม่ต้องการการแก้ไขรูปทรงเรขาคณิต แต่อาจมีราคาแพงกว่าเนื่องจากจำเป็นต้องใช้การเรนเดอร์พิเศษและผลลัพธ์อาจเบลอในบางพื้นที่หากเรนเดอร์พาสครั้งแรกมีความละเอียดไม่เพียงพอ ตัวอย่างวิธีโพสต์โปรเซสถูกใช้โดยเกม Oculus Rift เพื่อนำมาใช้ในการฉายภาพแบบไม่เชิงเส้น Rift จำเป็นต้องทำงานกับเลนส์ของมัน


1

ฉันไม่อยากจะเชื่อเลย แต่ไม่มีใครพูดถึงIsometric Projectionซึ่งเคยเป็นเรื่องปกติ


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