Về việc thiết kế giao diện

Chào các bạn,

Mình mới chuyển sang tìm hiểu Unity nên có 1 số câu hỏi nhờ các bạn giải đáp giùm mình nhé:

1/ Mình đang làm game 2D, màn hình nằm ngang, game chạy trên Android - iOS - Web thì lúc design size bao nhiêu là tốt để hiện thị đẹp trên 3 nền tảng trên. Mình đang design trên 800 x 480, thì chạy đẹp trên màn hình này nhưng lên bản web và qua iOS thì lại bể layout, hay cần phải tạo thêm Scenes đặc thù cho web ?

2/ Mình muốn hỏi về autolayout: bên android và iOS các images sẽ có các size khác nhau để chạy trên các màn hình có độ phân giải khác nhau, nhưng bên Unity chỉ dùng 1 hình ảnh(đơn vị tính là px) thì mình không hiểu làm cách nào để chạy trên các màn hình có độ phần giải lớn hơn thì hình ko bị nhỏ đi hay bị bể.

VÍ DỤ: Mình có màn hình Login gồm 2 Textbox và 1 Button bên dưới, mình set size là:
Textbox: W: 200 - H: 50
Button: W: 200 - H: 50
—> Set size như này thì hiển thị tốt trên màn hình 800x480, nhưng lên màn hình có độ phân giải lớn hơn thì cái Textbox và Button quá nhỏ.

Nhờ các bạn giải đáp giúp, mình đang lấn cấn chỗ này.

Nếu muốn làm việc với nhiều độ phân giải thì bạn chỉ cần scale UI tỉ lệ theo độ phân giải thôi. Ví dụ, chọn một độ phân giải (800x600 chẳng hạn) mà bạn thấy UI sẽ hiển thị rõ nhất, rồi scale UI theo tỉ lệ đó khi đổi resolution (1024x768 thì scale là 1024/800 = 1.28; 768/600 = 1.21).

Để tránh răng cưa khi resize thì bạn có thể làm nhiều image cho nhiều độ phân giải (64x64, 128x128 tùy độ phân giải, khi đổi resolution sẽ dùng image thích hợp), hoặc có thể apply filtering (blinear, trilnear, anisotropic). Cách làm cụ thể thì mình không dùng Unity nên không rõ, bạn có thể đọc thêm manual của nó.

P.s. như bạn nói thì autolayout (Android & iOS) sẽ tự động switch image phù hợp với loại thiết bị + độ phân giải, nhưng khi làm game thì trách nhiệm này sẽ thuộc về người làm, vì game có nhiều loại hình, nhiều kiểu UI, việc tự động hóa khâu này sẽ rất khó vì không có giải pháp chung. UI của game không cố định một (vài) format.

1 Like

Là bác đó à :grin:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?