Saya ingin tahu alur kerjanya saat membuat game di Unity3D?
Apakah ini menghasilkan banyak kode untuk Anda?
Pemahaman saya adalah bahwa Anda menggambarkan permainan di Unity dan melakukan scripting di bagian belakang untuk melakukan logika. Jenis seperti Anda menggunakan Unity untuk menggambarkan boneka dan Anda menggunakan bahasa scripting sebagai master boneka.
Jawaban:
Unity3D terdiri dari mesin game plus editor 3D (yang belum sempurna). Ini menyediakan jerat, tekstur, shader, medan, kamera, animasi, sistem partikel, sampel audio, dan jenis objek lainnya yang berguna dalam video game. Ini termasuk PHYSX (mesin fisika berpemilik yang dimiliki oleh Nvidia), dan Mono (implementasi open source dari Common Language Runtime, alias .NET).
Berapa banyak dari ini yang Anda gunakan terserah Anda. Anda dapat mewakili semua struktur data Anda sebagai objek Unity, membangun dunia Anda di editor Unity, menghidupkan fisika, dan membiarkan acara mengikuti kursus mereka, dengan minimal scripting. Atau, Anda dapat mematikan mesin fisika, membangun dunia Anda secara algoritmik, dan secara eksplisit memprogram semua perilaku dan fisika objek.
Anda dapat memilih untuk memprogram perilaku sepenuhnya dalam Mono (menggunakan salah satu bahasa C #, JavaScript, atau Boo), atau Anda dapat menuliskannya dalam bahasa lain dan menautkannya dengan proyek Unity Anda. (Integrasi sebenarnya dengan objek game harus melalui Mono, tetapi ini bisa menjadi lapisan yang cukup tipis jika Anda suka.)
Alur kerjanya hampir sama dengan mesin game mana pun. Artis membuat model dan tekstur dan animasi, spesialis audio membuat suara, programmer menulis bayangan dan perilaku.
Komunitas programmer Unity sangat membantu, baik di answers.unity3d.com dan forum.unity3d.com . (Dan mungkin di sini di Stack Exchange?)
Cara terbaik untuk mengetahuinya adalah dengan mencobanya : versi dasarnya gratis, dan Anda mendapatkan periode uji coba 30 hari untuk versi "Pro".
sumber
Unity3D lebih merupakan pembungkus / pustaka daripada mesin game 'seret dan lepas'. Itu tidak menghasilkan kode juga tidak datang dengan skrip 'off-the-shelf'.
Misalnya, Unreal memiliki kamera orang pertama default, pengontrol karakter, deteksi tabrakan dan AI.
Anda tidak memilikinya di Unity3D. Apa yang Anda dapatkan dari Unity3D adalah loop game, sistem entitas berbasis komponen, perpustakaan matematika yang komprehensif, berarti memuat media, penanganan jerat, kamera, GUI mode langsung, shader, render pipa, dan fungsi level rendah lainnya. Ditambah editor yang bagus. Anda hanya perlu khawatir tentang fungsionalitas tingkat tinggi. Misalnya, Anda masih harus membuat kode kamera orang pertama Anda sendiri (jika Anda tidak menggunakan yang default). Namun, Anda tidak perlu berurusan dengan menghitung vektor lihat dan semacamnya.
Unity3D tidak menghasilkan kode apa pun untuk game Anda, secara ketat (Ini menghasilkan kode untuk menjalankan game Anda, agar lebih akurat, tetapi tidak ada untuk gameplay Anda)
Anda harus menggunakan API untuk menentukan gim Anda. Anda dapat melihat contoh-contoh yang datang dengan Unity3D dan menggunakan kembali kode tersebut; ada beberapa skrip yang telah ditentukan, tetapi biasanya Anda harus menyesuaikannya untuk memenuhi kebutuhan Anda.
Anda membuat game melalui scripting; Anda menulis skrip untuk perilaku, merancang level di Unity3D, dan menetapkan perilaku tersebut ke entitas (atau objek game). Ini sangat fleksibel, tetapi masih membutuhkan usaha untuk menulis permainan. Saya akan membandingkannya dengan Flash untuk 3D.
sumber
Permukaan Unity3D sepertinya sangat mudah, dan hampir semuanya sudah dibuat sebelumnya, tetapi tidak ada yang benar. Jika Anda mengabaikan untuk menggunakan skrip yang sudah ada (yang ada untuk setiap mesin, titik buruk terhadap Unity) dan plugin yang Anda gambarkan sebagai sangat perkasa, apa yang pasti tidak, Unity hanyalah antarmuka pemrograman dengan editor.
Anda memiliki sebagian besar kode sendiri. Saya mengalaminya dalam 2 proyek berbeda.
sumber
Analogi dengan flash cukup benar, tapi saya tidak benar-benar mengerti analogi Anda dengan boneka.
Hal-hal baik tentang persatuan adalah:
Hal-hal buruk:
Hal yang saya tidak suka dari Unity adalah rasanya semua kerja keras sudah dilakukan, jadi programmer jauh lebih tidak bernilai. Di sisi lain itu bagus untuk mengajar orang dengan cepat bagaimana membangun sesuatu dengan cepat.
Jadi untuk menyimpulkan: Unity (atau alat seperti Unity) lebih untuk seniman yang tidak bisa menjangkau pemrogram hebat, tetapi masih bisa tahu untuk membuat skrip permainan kecil. TENTU SAJA Anda dapat membuat game berfitur lengkap, menambahkan IA realistis, melakukan mmo net-code dan apa yang tidak, tetapi perusahaan besar tidak akan menggunakan Unity.
Model pemrograman memungkinkan seseorang untuk mengusulkan solusi yang sesuai dengan 3/4 alat pengembangan sehingga cocok untuk pembuat game "independen" tersebut. Ini menghargai satu alat tertentu dan juga menghargai seniman, tetapi bukan programmer (kecuali yang dari tim persatuan, tentu saja).
Unity adalah jalan pintas yang baik untuk non-programmer, tetapi mereka harus memahami bahwa video game berasal dari garis kode, dan Anda tidak dapat melakukan semuanya hanya dengan alat yang luar biasa. Pada titik tertentu perlu mengetahui sesuatu tentang pemrograman tingkat rendah.
Memiliki proyek pribadi dalam pikiran, saya tidak akan menggunakan Unity, karena saya tidak suka C # atau Boo (Panda baik dengan python, jadi mengapa repot-repot dengan perangkat lunak komersial?), Dan karena jika saya menunjukkan proyek saya dan selesai dengan Persatuan, itu akan jauh lebih mengesankan.
sumber
Persatuan mengharuskan Anda untuk skrip, tetapi tanpa semua boilerplate. Dalam permainan OpenGL yang khas, Anda perlu menginisialisasi matriks dan kamera seperti orang gila. Di Unity, Anda membuat skrip untuk memberi tahu perilaku sesuatu, lalu melampirkannya ke objek untuk membuatnya berperilaku.
sumber
Jika dengan menghasilkan banyak kode untuk Anda, Anda akan menyertakan fungsi pre-built yang dapat Anda gunakan untuk membuat hidup Anda lebih mudah mengenai deteksi tabrakan dan perhitungan rotasi (Perpustakaan) maka ya, dibutuhkan banyak pengkodean dari gambar dan memberikan Anda mengoptimalkan versi yang ada dan siap untuk digunakan. Sebagian besar fungsi yang Anda perlukan secara spesifik untuk Pengembangan Game di semua build.
Mungkin terdengar berlebihan untuk mengatakan ini, tetapi dalam pengalaman saya, ketika Unity3D tidak sibuk menabrak atau membangun itu membuat hidup saya mudah dengan membiarkan saya mengubah apa pun yang saya inginkan dan meninggalkan matematika berbasis Quaternion kepada orang-orang yang memiliki gelar master dalam matematika dan masih cukup mempercayaiku untuk membuatku mengubah apa pun yang aku inginkan.
Ini tidak akan menulis apa pun untuk Anda, lebih baik membantu Anda dengan cara yang dianggapnya terbaik dan membiarkan Anda menulis apa pun yang Anda inginkan.
Dalam satu kata, Fleksibel
sumber