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

6
ทำไมฉันไม่ควรอนุญาตให้เปลี่ยนมุมมองหากเทคโนโลยีอนุญาต
นี่เป็นคำถามที่มีจุดประสงค์น้อยในการพัฒนาเกมและเพิ่มเติมเกี่ยวกับเทคโนโลยีที่อยู่เบื้องหลัง นักข่าวเกมและนักเล่นเกมมืออาชีพจำนวนมาก (ทั้งในทัวร์นาเมนต์และโฮมเอนเตอร์เทนเม้นท์) มักจะตอกย้ำในเรื่องที่เกมบุคคลที่หนึ่งหรือที่สามควรมีวิธีเปลี่ยนมุมมองและฉันเห็นด้วยกับพวกเขา เหตุผลหลักที่พวกเขาพูดถึงเรื่องนี้เป็นเพราะมีผู้เล่นจำนวนมากที่มีอาการปวดหัวและปวดตาเนื่องจากมีผู้เล่นจำนวนมากที่ได้รับการเคลื่อนไหว ฉันสามารถเข้าใจได้ว่านักพัฒนาอินดี้ไม่อนุญาตหรือไม่เนื่องจากข้อ จำกัด ด้านงบประมาณเพราะพวกเขาจำเป็นต้องเพิ่มการสนับสนุนให้กับเอ็นจิ้น อย่างไรก็ตามนักพัฒนาซอฟต์แวร์จำนวนมากใช้เอ็นจิ้นบุคคลที่สามที่มีชื่อเสียงเช่น Frostbite, Unity, Unreal หรือ Cryengine แต่ไม่ได้เสนอทางเลือกสำหรับการเปลี่ยนมุมมอง ทำไมฉันไม่ควรอนุญาตให้เปลี่ยนมุมมองหากเทคโนโลยีอนุญาต
28 viewport 

2
กล้องเทียบกับวิวพอร์ต
ฉันไม่มีความเข้าใจที่ชัดเจนว่าอะไรคือความแตกต่างระหว่างพิกัดกล้องกับพิกัดวิวพอร์ต ใครช่วยอธิบายหน่อยได้ไหม

1
ฉันจะป้องกัน viewport ไม่ให้ยืด / บิดเบี้ยวได้อย่างไร
โดยทั่วไปฉันต้องการทราบว่าฉันสามารถลบความบิดเบี้ยวหรือการยืดภาพที่แสดงเมื่อขนาดวิวพอร์ต / หน้าต่างเปลี่ยนไปอย่างไร ภาพต่อไปนี้แสดงให้เห็นถึงการบิดเบือน / การยืดที่ฉันกำลังพูดถึง: รูปภาพต้นฉบับ (หน้าต่างสี่เหลี่ยม) ภาพบิดเบี้ยว / ยืดออก (หน้าต่างรูปสี่เหลี่ยมผืนผ้า) ตามหลักการแล้วภาพที่สองควรแสดงทรงกลมโดยไม่ต้องยืดออกในแนวนอนและจะทำให้ฉากกับผู้ใช้มากขึ้นเพื่ออธิบายขนาดหน้าต่างที่ใหญ่ขึ้น สิ่งนี้สามารถทำได้? ฉันทำงานกับ OpenGL เพื่อแสดงภาพและฉันใช้ประโยชน์จากการคาดการณ์มุมมองผ่านการโทร: glMatrixMode(GL_PROJECTION) glLoadIdentity() gluPerspective(60, window.width/window.height, 0.01f, 100.0f) อัตราส่วนภาพwidth/heightเป็นไปตามเอกสาร / บทช่วยสอนทั้งหมดที่ฉันพบดังนั้นฉันไม่คาดหวังว่ามันจะไม่ถูกต้อง อย่างไรก็ตามความสงสัยของฉันคือมันส่งผลกระทบต่อปัญหาการยืด หลังจากคิดแล้ว ตามจริงแล้วเมื่อฉันคิดเกี่ยวกับประเด็นนี้มากขึ้นฉันก็จะเชื่อว่าการแก้ปัญหานั้นเกี่ยวข้องกับความสัมพันธ์ที่เป็นสัดส่วนโดยตรงระหว่างมุมมองในทิศทาง y กับทิศทาง fovy และอัตราส่วนภาพ การใช้ภาพด้านบนเป็นข้อมูลอ้างอิงหากความกว้างเพิ่มขึ้น (ก่อให้เกิดการยืดในแนวนอน) ดูเหมือนว่าน่าจะเป็นไปได้มากที่มุม fovy ต้องเพิ่มขึ้นเพื่อทำให้เกิดการยืดแนวตั้งที่ 'แก้ไข' สัดส่วนของภาพที่แสดงผล ในทำนองเดียวกันการลดความกว้างต้องลดลงในมุม fovy ปรับปรุง: ดังนั้นหลังจากตรวจสอบเรื่องนี้ต่อไปฉันได้ตัดสินใจที่จะเปลี่ยนวิธีการตั้งค่า frustum การดูเช่นนี้: gluPerspective(60 * (float)window.width/window.height, (float)window.width/window.height, …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.