ทำให้เกม Unity ที่ยอดเยี่ยมในอุปกรณ์ทุกรูปแบบ

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

รองรับการปรับขนาดหน้าจอ

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

หากเกมของคุณไม่รองรับหน้าต่างบางขนาด และการกำหนดค่าการวางแนว แพลตฟอร์มที่มีแถบดำด้านบน-ล่างของภาพในเกม โหมดความเข้ากันได้ และให้โปรแกรมเล่น ถ้าจำเป็น ก่อนเปลี่ยนเป็นการกำหนดค่าที่ไม่รองรับ

วันที่
รูปที่ 1 กล่องโต้ตอบความเข้ากันได้ของการกำหนดค่า

สำหรับข้อมูลเพิ่มเติม โปรดดู รองรับการปรับขนาดหน้าจอขนาดใหญ่

โหมดหลายหน้าต่าง

รูปที่ 2 UI ต่างๆ บนเดสก์ท็อปและอุปกรณ์แบบพับได้บนโต๊ะ

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

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

วันที่
รูปที่ 3 การตั้งค่าความละเอียดและการนำเสนอของ Unity สำหรับ Android

หน้าจอรอยบาก

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

วันที่
รูปที่ 4 คัตเอาต์จอแสดงผล

ในการสร้างเกมแบบไร้ขอบ ให้กำหนดค่าเกมเป็น การตระหนักถึง SafeFrame ค้นหา safeArea API ของ Unity เพื่อรับ พื้นที่ปลอดภัยของหน้าจอในหน่วยพิกเซล แล้วปรับ UI และ UX ของเกม โดยเฉพาะอย่างยิ่งองค์ประกอบที่ผู้ใช้โต้ตอบด้วยได้

ท่าพับได้

อุปกรณ์แบบพับได้อาจมีสถานะพับต่างๆ อย่างเช่น FLAT (เปิดทั้งหมด) หรือ HALF_OPENED (บางช่วงระหว่างแบบเปิดทั้งหมดกับแบบปิดโดยสมบูรณ์) เมื่ออุปกรณ์อยู่ใน HALF_OPENED สถานะ 2 ท่า ขึ้นอยู่กับการวางแนวของ แนวเส้นแบ่งหน้า: การวางตั้งบนโต๊ะ (เส้นพับแนวนอน) และลักษณะหนังสือ (เส้นพับในแนวตั้ง) ใช้ท่าตั้งโต๊ะเพื่อเพิ่มความสมจริงและการมีส่วนร่วมของผู้เล่น

วันที่
รูปที่ 5 เกมในท่าทางบนโต๊ะที่มีมุมมองหลักบนส่วนแนวตั้งของจอแสดงผล ควบคุมส่วนแนวนอน

วิธีใช้การจัดท่าทางบนโต๊ะ ขยายกิจกรรม Unity เริ่มต้น จากนั้น ใช้ไลบรารีการออกแบบ Jetpack WindowManager เพื่อ รับรู้ถึงการพับเกมของคุณ

โปรเจ็กต์ตัวอย่างของ Unity

โปรเจ็กต์ตัวอย่าง Unity อิงตามโปรเจ็กต์สาธิต Unity 2D Lost Crypt โปรเจ็กต์ตัวอย่างสาธิตวิธีการ รองรับการปรับขนาดหน้าจอขนาดใหญ่ใน Unity หน้าจอขนาดใหญ่และอุปกรณ์แบบพับได้ การรองรับจะต้องมีการเปลี่ยนแปลงตัวเลือกบิลด์ของ Unity รวมถึง ในการจัดวางกล้องและแคนวาส UI

โปรเจ็กต์ตัวอย่างพร้อมให้ดาวน์โหลดเลย โปรเจ็กต์นี้มีฉากที่แตกต่างกัน 4 ฉาก

  • ต้นฉบับ: รองรับฟีเจอร์พื้นฐานที่ปรับขนาดได้
  • การยึด: เหมือนกับ "ต้นฉบับ" แต่สามารถปรับให้เข้ากับสัดส่วนภาพต่างๆ และหลีกเลี่ยงการหน้าจอรอยบาก
  • HingeAware: เหมือนกับ "การตรึง" แต่รองรับการตั้งบนโต๊ะ
  • เมนูหลัก: เริ่มต้นฉาก อนุญาตให้ไปยังฉากอื่นๆ และ รองรับการวางแนวอุปกรณ์ทั้งหมด การพับ กางออก และการวางบนโต๊ะ

เมื่อสร้างสำหรับ Android ให้เลือกฉากทั้งหมดและตั้งค่า "เมนูหลัก" บรรยากาศ เป็นฉากเริ่มต้น

วันที่
รูปที่ 6 "เมนูหลัก" ช่วยให้คุณสามารถไปยังฉากอื่นๆ ในท่าตั้งโต๊ะได้

เริ่มต้นด้วยการรองรับหน้าต่างที่ปรับขนาดได้

รองรับการแสดงผลหลายขนาดและสัดส่วนใน แอปพลิเคชันหน้าจอขนาดใหญ่ของ Android เพื่อดูแลให้เกมหรือแอปพลิเคชันของคุณแสดง บนอุปกรณ์ต่างๆ อย่างถูกต้อง เปิดใช้เกมเพื่อปรับขนาดและเปลี่ยนแปลง สัดส่วนภาพโดยการตั้งค่าคุณสมบัติหน้าต่างที่ปรับขนาดได้ในบิลด์ Unity (ดูส่วน "โหมดหลายหน้าต่าง") ปรับ สัดส่วนภาพของกล้องและ Canvas เพื่อให้พอดีกับขนาดกล้อง หน้าจอ ดูการตั้งค่าโปรเจ็กต์ในการตั้งค่าบิลด์และใน Plugins/Android/AndroidManifest.xml ไฟล์ ดูแบบเต็มหน้าจอ คุณลักษณะที่ปรับขนาดได้ใน "Original" ของโครงการ ด้วย

วันที่
รูปที่ 7 "ต้นฉบับ" Scene สนับสนุนคุณลักษณะหน้าต่างที่ปรับขนาดได้

สมจริงแบบเต็มหน้าจอขณะที่จัดการหน้าจอรอยบาก

เปิดให้เกมใช้ทั้งหน้าจอเพื่อสร้างเกมเพลย์ สมจริงเพื่อประสบการณ์ของผู้ใช้ที่ดียิ่งขึ้น อัปเดตการตรึง UI เกมและ เพื่อปรับการตั้งค่า ขนาดหน้าจอ วิธีนี้จะช่วยให้องค์ประกอบ UI สามารถรักษาตำแหน่งให้สัมพันธ์กับ ขนาดหน้าจอ

"การยึดถือ" จะใช้ สคริปต์ CameraAspectLock เพื่อตอบสนองการเปลี่ยนแปลงการกำหนดค่าอุปกรณ์โดย วิธีการของกิจกรรมที่ขยาย (ดู Assets/Plugins/Android/LargeScreenPlayableActivity.java). Unity safeArea API แสดงอยู่ในSafeZoneAPI สคริปต์ ซึ่งเชื่อมโยงกับออบเจ็กต์ SafeZone ภายใน "การยึด" ด้วย

วันที่ ฉากเกมแบบเต็มหน้าจอบนหน้าจอด้านในและด้านนอกของอุปกรณ์แบบพับได้
รูปที่ 8 "การยึด" ด้วยหน้าจอรอยบาก

เพิ่มประสิทธิภาพสำหรับอุปกรณ์แบบพับได้

โหมดสุดท้ายของโปรเจ็กต์ตัวอย่าง Unity "HingeAware" มี วัตถุ ConfigurationManager ที่ตอบสนองต่อการพับแบบต่างๆ สถานะของอุปกรณ์เป้าหมายผ่าน API ไลบรารี Jetpack และ กิจกรรมที่ขยาย (โปรดดู Assets/Plugins/Android/LargeScreenPlayableActivity.java) ฉากใช้ สคริปต์ PanelOnFold เพื่อควบคุม UI ตามสถานะพับ ของอุปกรณ์ เช่น แสดงแผงตัวควบคุมด้านล่างเมื่อ อุปกรณ์อยู่ในแนวตั้งบนโต๊ะและกำลังปรับกล้อง

วันที่
รูปที่ 9 "HingeAware" สนับสนุนการตั้งบนโต๊ะ