ในตลาดเกมที่มีการแข่งขันสูงในปัจจุบัน การเข้าถึงกลุ่มเป้าหมาย ให้กว้างขึ้นให้ได้มากที่สุด การพัฒนาเกมสำหรับอุปกรณ์รูปแบบต่างๆ เช่น โทรศัพท์ แท็บเล็ต อุปกรณ์แบบพับได้ และเดสก์ท็อป คุณก็สามารถใช้ประโยชน์จากสระว่ายน้ำที่ใหญ่ขึ้นได้ ของผู้มีโอกาสเป็นผู้เล่นและเพิ่มโอกาสในการประสบความสำเร็จ
รองรับการปรับขนาดหน้าจอ
เกมต้องปรับขนาดได้เพื่อให้รองรับรูปแบบของอุปกรณ์ที่แตกต่างกันไป ความสามารถในการปรับขนาด ทำให้เกมของคุณรองรับการกำหนดค่าอุปกรณ์ เช่น โหมดแนวตั้ง การวางแนวแนวนอน โหมดหลายหน้าต่าง และสถานะการพับและกางออก ของอุปกรณ์แบบพับได้
หากเกมของคุณไม่รองรับหน้าต่างบางขนาด และการกำหนดค่าการวางแนว แพลตฟอร์มที่มีแถบดำด้านบน-ล่างของภาพในเกม โหมดความเข้ากันได้ และให้โปรแกรมเล่น ถ้าจำเป็น ก่อนเปลี่ยนเป็นการกำหนดค่าที่ไม่รองรับ
![](https://developer.android.google.cn/static/images/games/multiplatform/configuration_compatibility_dialog.png?authuser=0&hl=th)
สำหรับข้อมูลเพิ่มเติม โปรดดู รองรับการปรับขนาดหน้าจอขนาดใหญ่
โหมดหลายหน้าต่าง
หลายหน้าต่าง จะทำให้ แชร์หน้าจอเดียวกันพร้อมกันได้หลายแอป แอปจะแสดงคู่กัน หรือหนึ่งแอปขึ้นไป (โหมดแยกหน้าจอ) แอปหนึ่งในหน้าต่างเล็กๆ ที่วางซ้อน แอปอื่นๆ (โหมดการแสดงภาพซ้อนภาพ) หรือแต่ละแอปที่เคลื่อนย้ายได้แยกกัน หน้าต่างที่ปรับขนาดได้ (โหมดรูปแบบอิสระ)
เพื่อหลีกเลี่ยงการเข้าสู่โหมดความเข้ากันได้เมื่อเกมของคุณ ทำงานในโหมดหลายหน้าต่าง ประกาศว่าเกมของคุณจัดการได้ ความสามารถในการปรับขนาดได้โดยการเปิดใช้ตัวเลือกหน้าต่างที่ปรับขนาดได้ใน การตั้งค่าบิลด์ของ Unity
![](https://docs.unity3d.com/uploads/Main/PlayerSetAndroidResPres.png)
หน้าจอรอยบาก
หน้าจอรอยบากเป็นบริเวณหนึ่งบนอุปกรณ์บางประเภท ที่ขยายไปถึงพื้นผิวจอแสดงผล ตัดขอบเพื่อให้ดูเต็มขอบ ขณะเดียวกันก็ให้พื้นที่สำหรับเซ็นเซอร์ที่สำคัญที่ด้านหน้า อุปกรณ์
![](https://developer.android.google.cn/static/games/engines/unity/images/cutout-intro.png?authuser=0&hl=th)
ในการสร้างเกมแบบไร้ขอบ ให้กำหนดค่าเกมเป็น การตระหนักถึง SafeFrame ค้นหา safeArea API ของ Unity เพื่อรับ พื้นที่ปลอดภัยของหน้าจอในหน่วยพิกเซล แล้วปรับ UI และ UX ของเกม โดยเฉพาะอย่างยิ่งองค์ประกอบที่ผู้ใช้โต้ตอบด้วยได้
ท่าพับได้
อุปกรณ์แบบพับได้อาจมีสถานะพับต่างๆ อย่างเช่น
FLAT
(เปิดทั้งหมด) หรือ
HALF_OPENED
(บางช่วงระหว่างแบบเปิดทั้งหมดกับแบบปิดโดยสมบูรณ์) เมื่ออุปกรณ์อยู่ใน
HALF_OPENED
สถานะ 2 ท่า ขึ้นอยู่กับการวางแนวของ
แนวเส้นแบ่งหน้า: การวางตั้งบนโต๊ะ (เส้นพับแนวนอน) และลักษณะหนังสือ (เส้นพับในแนวตั้ง)
ใช้ท่าตั้งโต๊ะเพื่อเพิ่มความสมจริงและการมีส่วนร่วมของผู้เล่น
![](https://developer.android.google.cn/static/images/games/multiplatform/foldable_posture_support.png?authuser=0&hl=th)
วิธีใช้การจัดท่าทางบนโต๊ะ ขยายกิจกรรม Unity เริ่มต้น จากนั้น ใช้ไลบรารีการออกแบบ Jetpack WindowManager เพื่อ รับรู้ถึงการพับเกมของคุณ
โปรเจ็กต์ตัวอย่างของ Unity
โปรเจ็กต์ตัวอย่าง Unity อิงตามโปรเจ็กต์สาธิต Unity 2D Lost Crypt โปรเจ็กต์ตัวอย่างสาธิตวิธีการ รองรับการปรับขนาดหน้าจอขนาดใหญ่ใน Unity หน้าจอขนาดใหญ่และอุปกรณ์แบบพับได้ การรองรับจะต้องมีการเปลี่ยนแปลงตัวเลือกบิลด์ของ Unity รวมถึง ในการจัดวางกล้องและแคนวาส UI
โปรเจ็กต์ตัวอย่างพร้อมให้ดาวน์โหลดเลย โปรเจ็กต์นี้มีฉากที่แตกต่างกัน 4 ฉาก
- ต้นฉบับ: รองรับฟีเจอร์พื้นฐานที่ปรับขนาดได้
- การยึด: เหมือนกับ "ต้นฉบับ" แต่สามารถปรับให้เข้ากับสัดส่วนภาพต่างๆ และหลีกเลี่ยงการหน้าจอรอยบาก
- HingeAware: เหมือนกับ "การตรึง" แต่รองรับการตั้งบนโต๊ะ
- เมนูหลัก: เริ่มต้นฉาก อนุญาตให้ไปยังฉากอื่นๆ และ รองรับการวางแนวอุปกรณ์ทั้งหมด การพับ กางออก และการวางบนโต๊ะ
เมื่อสร้างสำหรับ Android ให้เลือกฉากทั้งหมดและตั้งค่า "เมนูหลัก" บรรยากาศ เป็นฉากเริ่มต้น
![](https://developer.android.google.cn/static/games/engines/unity/images/mainmenu.png?authuser=0&hl=th)
เริ่มต้นด้วยการรองรับหน้าต่างที่ปรับขนาดได้
รองรับการแสดงผลหลายขนาดและสัดส่วนใน
แอปพลิเคชันหน้าจอขนาดใหญ่ของ Android เพื่อดูแลให้เกมหรือแอปพลิเคชันของคุณแสดง
บนอุปกรณ์ต่างๆ อย่างถูกต้อง เปิดใช้เกมเพื่อปรับขนาดและเปลี่ยนแปลง
สัดส่วนภาพโดยการตั้งค่าคุณสมบัติหน้าต่างที่ปรับขนาดได้ในบิลด์ Unity
(ดูส่วน "โหมดหลายหน้าต่าง") ปรับ
สัดส่วนภาพของกล้องและ Canvas
เพื่อให้พอดีกับขนาดกล้อง
หน้าจอ ดูการตั้งค่าโปรเจ็กต์ในการตั้งค่าบิลด์และใน
Plugins/Android/AndroidManifest.xml
ไฟล์ ดูแบบเต็มหน้าจอ
คุณลักษณะที่ปรับขนาดได้ใน "Original" ของโครงการ ด้วย
![](https://developer.android.google.cn/static/games/engines/unity/images/full_resizable.png?authuser=0&hl=th)
สมจริงแบบเต็มหน้าจอขณะที่จัดการหน้าจอรอยบาก
เปิดให้เกมใช้ทั้งหน้าจอเพื่อสร้างเกมเพลย์ สมจริงเพื่อประสบการณ์ของผู้ใช้ที่ดียิ่งขึ้น อัปเดตการตรึง UI เกมและ เพื่อปรับการตั้งค่า ขนาดหน้าจอ วิธีนี้จะช่วยให้องค์ประกอบ UI สามารถรักษาตำแหน่งให้สัมพันธ์กับ ขนาดหน้าจอ
"การยึดถือ" จะใช้
สคริปต์ CameraAspectLock
เพื่อตอบสนองการเปลี่ยนแปลงการกำหนดค่าอุปกรณ์โดย
วิธีการของกิจกรรมที่ขยาย (ดู
Assets/Plugins/Android/LargeScreenPlayableActivity.java
). Unity
safeArea API แสดงอยู่ในSafeZoneAPI
สคริปต์ ซึ่งเชื่อมโยงกับออบเจ็กต์ SafeZone
ภายใน "การยึด" ด้วย
![ฉากเกมแบบเต็มหน้าจอบนหน้าจอด้านในและด้านนอกของอุปกรณ์แบบพับได้](https://developer.android.google.cn/static/games/engines/unity/images/display_cutout.png?authuser=0&hl=th)
เพิ่มประสิทธิภาพสำหรับอุปกรณ์แบบพับได้
โหมดสุดท้ายของโปรเจ็กต์ตัวอย่าง Unity "HingeAware" มี
วัตถุ ConfigurationManager
ที่ตอบสนองต่อการพับแบบต่างๆ
สถานะของอุปกรณ์เป้าหมายผ่าน API ไลบรารี Jetpack และ
กิจกรรมที่ขยาย (โปรดดู
Assets/Plugins/Android/LargeScreenPlayableActivity.java
) ฉากใช้
สคริปต์ PanelOnFold
เพื่อควบคุม UI ตามสถานะพับ
ของอุปกรณ์ เช่น แสดงแผงตัวควบคุมด้านล่างเมื่อ
อุปกรณ์อยู่ในแนวตั้งบนโต๊ะและกำลังปรับกล้อง
![](https://developer.android.google.cn/static/games/engines/unity/images/table_top.png?authuser=0&hl=th)