คำถามติดแท็ก aspect-ratio

12
คุณจะจัดการกับความแตกต่างของอัตราส่วนด้วย Unity 2D ได้อย่างไร
ฉันได้รับคำตอบมากมายสำหรับคำถามนี้ แต่มันเป็นคำทั่วไปและโดยทั่วไปไม่ค่อยมีประโยชน์ ไม่มีบทเรียนใด ๆ ที่พูดถึงอัตราส่วนภาพและการจัดการกับอุปกรณ์มือถือและมีวิธีการหนึ่งล้านที่ทำได้ทุกคนดูเหมือนจะมี gotcha และข้อบกพร่อง ฉันชอบที่จะรู้ว่าเกมที่ประสบความสำเร็จได้ใช้เพื่อจัดการอัตราส่วนกว้างยาวที่แตกต่างกันใน iOS และ Android โดยไม่ต้องสร้างสินทรัพย์ขนาดแตกต่างกัน zillion ฉันกำลังพูดอย่างมือถือไม่ใช่บนเดสก์ท็อปโดยเฉพาะกับ Unity และฉันไม่สนใจ UI ฉันเพียง แต่ใส่ใจเกี่ยวกับเกมเพลย์ ปัญหาที่ฉันมีอยู่ในใจคือเมื่อมีสิ่งสำคัญที่ต้องอยู่ในบางสถานที่และไม่สามารถหลุดออกจากหน้าจอได้ วันนี้การใช้แถบสีดำที่ด้านบนหรือด้านล่างเป็นที่ยอมรับไม่ได้

6
คุณจะจัดการอัตราส่วนภาพที่แตกต่างใน platformer 2d อย่างไร
เมื่อนานมาแล้ว 4: 3 เป็นอัตราส่วน apect เพียงอย่างเดียวที่คุณจะพบบนพีซี วันนี้สิ่งที่พบบ่อยที่สุดคือ 16:10 แต่จอภาพใหม่ส่วนใหญ่ (โดยเฉพาะแลปท็อป) คือ 16: 9 ฉันกำลังเขียน platformer 2D และฉันไม่สามารถตัดสินใจได้ว่าจะจัดการกับอัตราส่วนต่าง ๆ ทั้งหมดได้อย่างไร นี่คือแนวคิดบางส่วน: 4: 3 ได้รับเนื้อหามากขึ้นเวดกรีนถูกตัดทั้งด้านบนและล่าง 16: 9 ได้เนื้อหามากขึ้นส่วนที่เหลือถูกตัดไปทางขวา เกมดังกล่าวอยู่ใน 16: 9 พร้อมแถบแนวนอนสีดำสำหรับ ARs อื่น ๆ เกมนี้เป็นแบบ 4: 3 พร้อมแถบแนวตั้งสีดำสำหรับ ARs อื่น ๆ
41 2d  aspect-ratio 

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, …

1
วิธีการจับคู่ขนาดตัวอักษรกับความละเอียดหน้าจอ?
ดังนั้นฉันทำงานเกมโดยใช้ LibGDX และฉันมีปัญหา เพื่อให้เกมของฉันเหมาะสมกับความละเอียดที่สุดฉันได้สร้างเนื้อหาพื้นฐานสำหรับแต่ละอัตราส่วนตัวอย่างเช่นรูปภาพพื้นหลังเมนูหลักฉันสร้างเป็น 800X600 สำหรับ 4: 3, 1280X720 สำหรับ 16: 9 เป็นต้น ตอนนี้ฉันกำลังพยายามรวมTextButtonเกมเข้าด้วยกันเพื่อเป็นทางเลือก ปัญหาของฉันคือฉันไม่สามารถหาขนาดตัวอักษรที่ตรงกับความละเอียดของหน้าจอได้ มีวิธีคิดออกหรือไม่ฉันต้องไปทีละความละเอียดแต่ละฉันมีและตรงกับข้อความที่ความละเอียดด้วยตนเอง?

2
ปัญหาในการจับคู่ขนาดตัวอักษรกับความละเอียดหน้าจอใน libgdx
ฉันมีปัญหาในการแสดงข้อความในเกมของฉันที่มีขนาดเท่ากันบนหน้าจอที่แตกต่างกันและฉันทำการทดสอบอย่างง่าย การทดสอบนี้ประกอบด้วยการแสดงข้อความที่เหมาะสมบนหน้าจอฉันต้องการให้ข้อความมีขนาดเท่ากันจากหน้าจอและจาก DPI ฉันพบสิ่งนี้และคำตอบที่ฉันคิดว่าน่าจะแก้ปัญหาได้ แต่ทำไม่ได้ ในเดสก์ท็อปขนาดก็โอเค แต่ในโทรศัพท์ของฉันใหญ่เกินไป นี่คือผลลัพธ์บน Nexus 4 ของฉัน: (ความหนาแน่น 768x1280, 2.0) และนี่คือผลลัพธ์บน MacBook ของฉัน: (ความหนาแน่น 480x800, 0.6875) ฉันใช้Open Sans Condensed (ลิงก์ไปยังฟอนต์ google) อย่างที่คุณเห็นบนเดสก์ท็อปดูดี แต่บนโทรศัพท์มันใหญ่มาก นี่คือรหัสการทดสอบของฉัน: public class TextTest extends ApplicationAdapter { private static final String TAG = TextTest.class.getName(); private static final String TEXT = "Tap the screen …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.