Jadi, saya porting game ke Android untuk pertama kalinya di Unity3D. Dan saya telah mengalami beberapa masalah di sepanjang jalan. Masalah saya saat ini adalah resolusinya sepertinya tidak benar, memotong tepi layar dan scrolling stops saya untuk menggulir layar ke kiri / kanan tidak lagi berada di tempat yang tepat.
Setelah melakukan sedikit riset, banyak orang mengatakan Anda perlu membuat Resolusi permainan Anda agar dapat berjalan di semua Android / Iphone / Ipad. Apakah ini benar? Jika demikian, bagaimana cara saya melakukan itu? Jika tidak, bagaimana saya bisa membantu memperbaiki resolusi sehingga ketika saya porting ke perangkat seluler itu terlihat benar?
EDIT: Saya masih belum benar-benar memiliki apa yang saya butuhkan, resolusi masih tidak berfungsi dengan baik bahkan dengan kode dan trik yang tercantum di bawah ini. Saya perlu cara untuk menyesuaikan resolusi berdasarkan perangkat. Untuk beberapa alasan ketika saya mencoba untuk mengambil resolusi perangkat menggunakan kode Mungoid itu mengembalikan 0x0
sumber
Jawaban:
Masalah yang akan Anda hadapi dengan Android adalah bahwa setiap perangkat berbeda memiliki ukuran layar, resolusi, dan kerapatan pikselnya sendiri. Jika Anda ingin gim Anda terlihat identik di semua perangkat, Anda harus banyak bekerja dan mungkin tidak akan pernah puas dengan hasilnya. Entah permainan akan tampak melebar pada tampilan layar lebar atau dikompresi pada yang non-layar lebar. Saya sarankan Anda memutuskan apa yang benar-benar penting dan membiarkan hal lain sedikit meluncur.
Tanpa tangkapan layar atau pengetahuan tentang apa gim Anda dan seperti apa gimnya, kami semua dapat berspekulasi solusi tetapi kami tidak memiliki arahan khusus untuk memberi Anda nasihat khusus.
Di Unity, Anda dapat mengakses dimensi layar saat ini dengan kelas Layar :
Screen.width
danScreen.height
(di antara properti lainnya). Anda kemudian dapat mengubah Kamera rasio aspek untuk mengubah apa yang terlihat pada layar Anda yang berukuran berbeda berdasarkan dimensi layar dan harapan pribadi Anda tentang apa yang seharusnya terlihat.Jika Anda perlu memastikan tampilan HUD diskalakan dengan benar, Anda dapat melakukannya dengan mengubah matriks transformasi GUI berdasarkan dimensi layar di setiap
OnGUI()
fungsi. Saya telah melakukannya sebelumnya dengan membuat skrip sederhana ini dan melampirkannya pada apa pun yang menghasilkan elemen GUI yang ingin saya diskalakan:Kemudian, dalam
OnGUI()
fungsi aktual , saya langsung mengatur matriks transformasi:sumber
Screen.width
dan.height
bersama-sama denganCamera.fieldOfView
danCamera.aspect
untuk mereproduksi tampilan yang sama pada ukuran layar sewenang-wenang. Itu hanya akan memerlukan beberapa pemicu untuk bekerja secara khusus bagaimana melakukannya.Anda dapat mencoba sesuatu seperti yang berikut ini dan menerapkannya. Saya kira perangkat seluler seharusnya hanya mengembalikan satu resolusi.
Lihat juga di sini untuk info lebih lanjut tentang Layar dalam kesatuan http://unity3d.com/support/documentation/ScriptReference/Screen.html
sumber