Trong thị trường trò chơi đầy cạnh tranh ngày nay, điều quan trọng hơn bao giờ hết là phải tiếp cận tiếp cận nhiều khán giả nhất có thể. Bằng cách phát triển trò chơi cho nhiều hệ số hình dạng, chẳng hạn như điện thoại, máy tính bảng, thiết bị có thể gập lại và máy tính để bàn, bạn có thể tận dụng một nhóm lớn hơn người chơi tiềm năng và tăng cơ hội thành công.
Hỗ trợ khả năng đổi kích thước màn hình
Trò chơi của bạn phải có thể đổi kích thước để hỗ trợ nhiều kiểu dáng. Khả năng đổi kích thước cho phép trò chơi của bạn hỗ trợ cấu hình thiết bị như dọc và hướng ngang, chế độ nhiều cửa sổ cũng như trạng thái gập và mở thiết bị có thể gập lại.
Nếu trò chơi của bạn không hỗ trợ tất cả các kích thước cửa sổ và cấu hình hướng, nền tảng sẽ tạo hiệu ứng hòm thư cho trò chơi của bạn chế độ tương thích và nếu cần thiết sẽ nhắc người chơi trước khi chuyển sang một cấu hình không được hỗ trợ.
![](https://developer.android.com/static/images/games/multiplatform/configuration_compatibility_dialog.png?authuser=5&hl=vi)
Để biết thêm thông tin, hãy xem Hỗ trợ khả năng đổi kích thước màn hình lớn.
Chế độ nhiều cửa sổ
Nhiều cửa sổ chế độ bật nhiều ứng dụng để chia sẻ cùng một màn hình cùng lúc. Các ứng dụng có thể cạnh nhau hoặc một ứng dụng phía trên ứng dụng kia (chế độ chia đôi màn hình), một ứng dụng trong một cửa sổ nhỏ phủ lên các ứng dụng khác (chế độ hình trong hình) hoặc từng ứng dụng có thể di chuyển riêng biệt, cửa sổ có thể đổi kích thước (chế độ hình dạng tuỳ ý).
Để tránh chuyển sang chế độ tương thích khi trò chơi của bạn chạy ở chế độ nhiều cửa sổ, hãy khai báo rằng trò chơi của bạn có thể xử lý khả năng đổi kích thước bằng cách bật tuỳ chọn Cửa sổ có thể đổi kích thước trong phần Chế độ cài đặt bản dựng Unity.
![](https://docs.unity3d.com/uploads/Main/PlayerSetAndroidResPres.png)
Vết cắt trên màn hình
Vết cắt trên màn hình là một vùng trên một số thiết bị kéo dài vào bề mặt màn hình. Các vết cắt mang lại khả năng hiển thị tràn viền trải nghiệm người dùng đồng thời vẫn cung cấp không gian cho các cảm biến quan trọng ở phía trước thiết bị.
![](https://developer.android.com/static/games/engines/unity/images/cutout-intro.png?authuser=5&hl=vi)
Để mang lại trải nghiệm tràn viền cho trò chơi của bạn, hãy định cấu hình trò chơi để nhận biết khung hình an toàn. Truy vấn safeArea API của Unity để lấy vùng an toàn trên màn hình tính bằng pixel, đồng thời điều chỉnh giao diện người dùng và trải nghiệm người dùng của trò chơi cho phù hợp, đặc biệt là đối với các yếu tố mà người dùng có thể tương tác.
Kiểu có thể gập lại
Thiết bị có thể gập lại có thể ở nhiều trạng thái gập, chẳng hạn như
FLAT
(mở hoàn toàn) hoặc
HALF_OPENED
(giữa mở hoàn toàn và đóng hoàn toàn). Khi một thiết bị ở trong
Trạng thái HALF_OPENED
, có thể có hai tư thế, tuỳ thuộc vào hướng của
gập: tư thế trên mặt bàn (gập ngang) và tư thế sách (gập theo chiều dọc).
Sử dụng tư thế trên mặt bàn để tăng mức độ nhập vai và tương tác của người chơi.
![](https://developer.android.com/static/images/games/multiplatform/foldable_posture_support.png?authuser=5&hl=vi)
Để triển khai tư thế trên mặt bàn, mở rộng hoạt động Unity mặc định, sau đó dùng thư viện bố cục Jetpack WindowManager để giúp trò chơi nhận biết chế độ gập.
Dự án mẫu Unity
Dự án mẫu Unity dựa trên dự án minh hoạ Unity 2D Bị mất mật mã. Dự án mẫu minh hoạ cách hỗ trợ khả năng đổi kích thước màn hình lớn trong Unity. Màn hình lớn và thiết bị có thể gập lại yêu cầu thực hiện một số thay đổi đối với tuỳ chọn bản dựng Unity, cũng như cần cân nhắc về bố cục máy ảnh cũng như canvas giao diện người dùng.
Hiện bạn có thể tải xuống ngay dự án mẫu. Dự án chứa 4 cảnh khác nhau:
- Gốc: Hỗ trợ tính năng cơ bản có thể đổi kích thước
- Cố định: Giống như "Gốc" cảnh nhưng thích ứng với nhiều tỷ lệ khung hình và tránh vết cắt trên màn hình
- HingeAware: Tương tự như "Anchoring" cảnh, nhưng hỗ trợ tư thế trên mặt bàn
- Trình đơn chính: Bắt đầu cảnh, cho phép di chuyển đến các cảnh khác và hỗ trợ đầy đủ mọi hướng thiết bị, gập, mở và tư thế trên mặt bàn
Khi xây dựng cho Android, hãy chọn tất cả cảnh và đặt "Trình đơn chính" cảnh làm cảnh bắt đầu.
![](https://developer.android.com/static/games/engines/unity/images/mainmenu.png?authuser=5&hl=vi)
Bắt đầu bằng tính năng hỗ trợ cửa sổ có thể thay đổi kích thước
Triển khai tính năng hỗ trợ nhiều kích thước màn hình và tỷ lệ khung hình trong
Ứng dụng màn hình lớn của Android giúp đảm bảo trò chơi hoặc ứng dụng của bạn hiển thị
chính xác trên các thiết bị khác nhau. Cho phép trò chơi đổi kích thước và thay đổi
tỷ lệ khung hình bằng cách đặt thuộc tính Resizable Window (Cửa sổ có thể thay đổi kích thước) trong bản dựng Unity
(xem phần "Chế độ nhiều cửa sổ"). Điều chỉnh
tỷ lệ khung hình của máy ảnh và canvas cho vừa hơn với
màn hình. Xem các chế độ cài đặt dự án trong phần Cài đặt bản dựng và trong
Plugins/Android/AndroidManifest.xml
. Trải nghiệm toàn màn hình
tính năng có thể đổi kích thước trong phần tử "Original" của dự án cảnh.
![](https://developer.android.com/static/games/engines/unity/images/full_resizable.png?authuser=5&hl=vi)
Trải nghiệm sống động toàn màn hình trong khi xử lý các vết cắt trên màn hình
Cho phép trò chơi sử dụng toàn bộ màn hình để tạo lối chơi sống động để nâng cao trải nghiệm người dùng. Cập nhật neo giao diện người dùng trò chơi và cài đặt camera để tự động điều chỉnh theo kích thước màn hình. Điều này cho phép các thành phần trên giao diện người dùng duy trì vị trí tương ứng với kích thước màn hình.
"Quảng cáo cố định cuối màn hình" cảnh sử dụng
CameraAspectLock
tập lệnh để phản hồi các thay đổi về cấu hình thiết bị bằng cách
của một hoạt động mở rộng (xem
Assets/Plugins/Android/LargeScreenPlayableActivity.java
). Thuộc tính Unity
APIsafeArea được minh hoạ trong SafeZoneAPI
tập lệnh liên kết với đối tượng SafeZone
bên trong thành phần "Anchoring" cảnh.
![Cảnh trò chơi ở chế độ toàn màn hình trên màn hình trong và ngoài của một thiết bị có thể gập lại.](https://developer.android.com/static/games/engines/unity/images/display_cutout.png?authuser=5&hl=vi)
Tối ưu hoá cho thiết bị có thể gập lại
Cảnh cuối cùng của dự án mẫu Unity, "HingeAware", chứa một
Đối tượng ConfigurationManager
phản hồi với nếp gập khác nhau
trạng thái của thiết bị mục tiêu thông qua API thư viện Jetpack và
hoạt động mở rộng (xem
Assets/Plugins/Android/LargeScreenPlayableActivity.java
). Cảnh sử dụng
tập lệnh PanelOnFold
để điều khiển giao diện người dùng dựa trên trạng thái gập
của thiết bị, ví dụ: hiển thị bảng điều khiển dưới cùng khi
thiết bị đang ở tư thế trên mặt bàn và đang điều chỉnh máy ảnh.
![](https://developer.android.com/static/games/engines/unity/images/table_top.png?authuser=5&hl=vi)