Setelah membaca pertanyaan panas ini tentang Unity vs UDK vs ID sesuatu, saya ingin tahu: apa yang paling sering terjadi, keterbatasan Unity yang paling melumpuhkan?
Untuk menjaga agar pertanyaan ini tidak subyektif, sekali lagi, saya sedang berbicara tentang pelanggar berulang atas Unity. Ini adalah sesuatu yang, sebagai pengguna Unity, Anda benar-benar berharap seseorang memberi tahu Anda sebelum Anda mulai menggunakannya.
Saya telah mendengar dari seseorang bahwa Unity tidak berurusan dengan baik dengan kontrol versi, karena ia menghasilkan banyak file biner (yang tidak dapat difabel). Bagi saya, ini tidak terlalu melumpuhkan karena saya bekerja sendiri.
Pikiran?
Jawaban:
Saya perkenalkan ini bahwa orang-orang Persatuan telah cukup baik dalam mendengar keraguan utama yang dihadapi komunitas mereka dan akhirnya mendapat janji untuk memperbaiki hal-hal. Ada juga banyak masalah yang hanya muncul pada platform tertentu atau masalah preferensi pribadi atau masalah tertentu dari gim yang sedang Anda kerjakan.
Yang telah dibilang:
1) Integrasi kontrol sumber yang buruk dan alat tim besar. Seperti yang Anda sebutkan, banyak file biner non-difabel. Editor mengabaikan flag hanya baca untuk file adegan. File aktual yang harus Anda periksa tidak segera jelas. Beberapa di antaranya sedang diperbaiki di 3.5 dengan integrasi SVN dan P4. Ada juga janji format adegan berbasis teks. UPDATE: Format adegan berbasis teks sekarang tersedia di versi Pro Unity. Lihat di sini .
2) Alat UI sentris programmer yang lambat. Setiap widget adalah panggilan undiannya sendiri, yang memiliki banyak overhead pada platform seluler. Tidak ada konsep hal-hal seperti panel dengan animasi dan semua hal mewah lainnya yang membuat UI terasa nyaman tanpa menggulirkannya sendiri. Ada janji sistem UI baru pada peta jalan (3.6?). Ada beberapa alat pihak ketiga tetapi tidak bagus.
3) Pengeditan partikel yang benar-benar belum sempurna. Mereka menjanjikan sistem berbasis kurva baru di 3,5, meskipun. PEMBARUAN: Sistem berbasis kurva ini, yang disebut Shuriken, sekarang tersedia. Lihat di sini .
4) Anda tidak bisa membuat prefab sarang. Masalah kecil tetapi ketika Anda terbiasa bekerja dengan sistem cetakan dan semua kekuatan yang diberikannya kepada Anda, itu bisa membuat Anda frustrasi. Ini telah dijanjikan tetapi tidak ada tanggal yang spesifik. UPDATE: Anda sekarang dapat membuat cetakan.
5) Di samping mustahil untuk mendapatkan game iOS di bawah batas udara. Biner saja seperti 8 MB dalam skenario kasus terbaik. Ini bukan sesuatu yang mudah diperbaiki.
6) Null pengecualian pengecualian platform crash yang tidak memungkinkan kode JIT dikompilasi. Pada versi mandiri atau web, NRE ditangkap. Ini masih pengecualian, tetapi setidaknya aplikasi akan mencoba untuk terus berjalan. Di iOS, perangkat mengalami kerusakan. Anda bisa meletakkannya dalam mode debug dan menangkap beberapa jenis pengecualian, tetapi kinerjanya terganggu.
7) Saat mengerjakan game multi platform, setiap kali Anda mengganti target bangunan, Anda harus mengimpor ulang semuanya dan itu membutuhkan waktu lama. Saya telah mengatasinya dengan sebenarnya hanya memiliki beberapa salinan proyek pada disk. Rupanya ada server aset impor yang masuk dalam 3,5.
sumber
Ketika saya dan seorang teman evalutad Unity untuk proyek yang lebih besar, kami menemukan bahwa salah satu masalah yang lebih besar adalah kinerja dengan pengerjaan perangkat lunak mereka. Jika saya ingat benar, kami memiliki sesuatu seperti 10 objek animasi dengan masing-masing sekitar 1000 verts dan saya mendapat 20fps saat menggunakan komputer midend ... Tidak terlalu bagus ...
sumber
Masalah nomor satu saya adalah kontrol versi ulang. Solusinya? Cukup gunakan DropBox untuk proyek Unity. Asalkan Anda mengaturnya dengan benar (yaitu membayar untuk layanan "PackRat" mereka), itu mempertahankan riwayat revisi. Ini juga jauh lebih mudah untuk berkolaborasi dengan desainer, dengan cara ini, yang tidak ingin tahu tentang kontrol versi tradisional, DropBox memberi mereka solusi transparan. The downside adalah percabangan / penggabungan tidak benar-benar didukung dalam cara mereka misalnya. git, SVN.
Bagi mereka yang ragu ...
Lihat di sini untuk referensi yang solid dari forum Unity.
Selain itu, satu-satunya hal yang saya anggap mengganggu tentang Unity adalah tidak memiliki titik masuk aplikasi seperti halnya C (main ()) atau AS3 (kelas dokumen). Tapi Anda hanya menempatkan aplikasi Anda di GameObject kosong, bukan masalah besar. Aliran kode sedikit berbeda di sekitar struktur yang melekat ini, juga, tapi sekali lagi, tidak ada yang terlalu sulit untuk ditangani.
Mengenai lisensi, kebanyakan orang tidak menyadari (dan saya terutama merujuk pada operasi indie kecil dan penggemar yang mungkin tidak memiliki uang untuk membayar lisensi pro dan addon manajer aset) bahwa Anda dapat melakukan apa saja yang Anda bisa pernah ingin dengan edisi dasar / gratis. Sungguh, itu bukan penghalang besar, tim Unity telah sangat murah hati.
sumber
Saya memikirkan batasan utama lain yang mengganggu saya setiap hari jadi saya akan memposting ini secara terpisah.
Unity3D ingin Anda mengedit skrip Anda di MonoDevelop, khususnya versi lama MonoDevelop yang mereka distribusikan. Fungsionalitas "Find In Files" versi ini rusak, karena menggunakannya biasanya menyebabkan IDE hang, menjadikannya tidak berguna.
Ini akan menjadi iritasi besar pada mesin apa pun, tetapi ini merupakan iritasi besar pada Unity karena mendorong sistem komponen terpisah yang sangat terdesentralisasi yang bekerja pada berbagai objek game. Tetapi bagaimana Anda bisa mengetahui komponen mana yang mengakses properti mana jika Anda bahkan tidak bisa mencari di berbagai komponen?
EDIT: Jawaban ini diposting pada tahun 2011: bug Find In Files diperbaiki beberapa waktu lalu, untungnya. Dan seperti yang dikatakan komentator, Anda dapat mengedit kode Anda di editor lain (meskipun pilihan Anda terbatas jika Anda ingin dapat berjalan di debugger).
sumber
Bagi saya batasan paling serius adalah di EULA:
"Batasan Perjudian Anda tidak boleh mendistribusikan atau menerbitkan Konten Penerima Lisensi apa pun sehubungan dengan Kegiatan Perjudian apa pun tanpa lisensi terpisah dari Unity."
Ini berarti bahwa sejak v4.0, Anda tidak dapat menggunakan Unity untuk game yang melibatkan uang tunai / kesempatan, kecuali Anda atau klien Anda siap untuk membayar biaya lisensi tambahan yang dinegosiasikan berdasarkan kasus per kasus. Yaitu mereka melihat berapa banyak Anda layak dan pajak Anda sesuai, dengan 6 angka dikutip.
Yang lebih mengganggu adalah siapa yang tahu apa yang akan mereka tambahkan ke v5 EULA. Mungkin semua game sosial? Mungkin semua game multi-pemain?
Setiap pengembang yang menggunakan Unity beresiko ditahan untuk mendapatkan tebusan di masa mendatang.
sumber
Pertanyaan bagus. Bagi saya, masalah terbesar adalah GUI. Saya tidak keberatan itu menjadi programmer-centric, tapi saya keberatan dengan cara mengerikan di mana objek GUI adalah fungsi daripada objek, dan bahwa penanganan GUI semuanya dimasukkan ke dalam satu panggilan fungsi yang digunakan untuk rendering dan untuk penanganan event, dan bahwa tidak ada integrasi dengan sistem input (artinya klik pada elemen GUI dapat diartikan sebagai klik di dunia), dll.
Masalah sekunder adalah kurangnya dukungan kontrol versi yang memadai (sebagian besar karena sistem menggunakan tata letak direktori sebagai tata letak proyek, yang membingungkan VCS ketika Anda memindahkan atau mengganti nama hal-hal), tetapi ini dapat diselesaikan dan bukan masalah untuk semua orang.
sumber