Saat membuat proyek baru, itu sangat bersih, dapat dimengerti, tidak ada kelebihan sampah ... itu kosong. Semakin lama pengembangan berlangsung, semakin banyak sampah, folder tidak jelas, file muncul di dalamnya, kadang-kadang cetakan untuk proyek lain bisa sampai di sana dan seluruh organisasi terbang ke Tartar.
Ternyata organisasi itu belum pernah ada, proyek ini berumur tiga tahun, sudah terlambat untuk membereskan semuanya, tidak nyaman untuk bekerja dan secara umum ...
Selamat datang di kekacauan, Anda di sini karena:- tidak pernah berpikir mengapa Anda memerlukan struktur proyek di Unity
- proyek Anda memiliki kekacauan abadi dan Anda ingin menyingkirkannya
- mencari cara baru untuk berorganisasi
- kehilangan harapan untuk membereskan proyek mereka
Cepat atau lambat Anda akan mengambil keputusan dan akan sangat cocok untuk Anda, saya hanya dapat membantu dalam pencarian dan menawarkan opsi Anda. Kami akan melihat beberapa contoh, menganalisis dan menyusun solusi yang paling tepat. Kami juga akan berbicara tentang penataan, hierarki dan nama yang tepat, dan bagaimana pemesanan membantu mempercepat.
Selamat datang di kucing.Terima kasih kepada semua orang yang membaca
materi saya
sebelumnya. Komentar di bawahnya itulah yang mendorong saya untuk menulis artikel ini. Lebih informatif dan bermanfaat, dengan pengantar romantis tetapi konten praktis. Hari ini kita akan membicarakan hal-hal yang cukup jelas, jika ada sesuatu untuk ditambahkan, jangan ragu untuk menulis dan menawarkan pilihan Anda sendiri.
Ke intinya.
Mengapa kita membutuhkan struktur? - waktu. Kami menghemat banyak waktu untuk debugging, menambahkan fitur baru, file, pembersihan, asalkan organisasi kami jelas dan nyaman bagi kami, asalkan itu. Nama file, urutan, tag, dan trik kecil lainnya yang benar dapat menghemat waktu.
Jaringan memiliki cukup banyak bahan yang mirip dengan contoh, tetapi tidak terlalu banyak penjelasan tentang "mengapa demikian." Saya akan menjelaskan solusi yang saya gunakan sendiri dan bagaimana mereka nyaman khusus untuk saya. Saya tidak berpikir bahwa saya akan membawa sesuatu yang baru, tetapi organisasi yang tepat adalah awal dari awal setiap proyek.
"Bagaimana caranya?"
Ambil contoh colliders untuk lingkungan. Benda dan pesawat apa yang kita miliki?
- jenis kelamin
- dinding
- rintangan (kotak, tong, batu, dll.)
- langit-langit
Dalam hierarki adegan, kita bisa meletakkan ini semua dalam satu
objek game , tetapi tidak akan nyaman untuk dicari.
Oleh karena itu, kami akan membuat
objek permainan terpisah untuk penabrak lantai, dinding, langit-langit dan rintangan.
Sebagai contoh, level dari game
Jika kami memiliki lebih dari 10 anak, maka saya sarankan untuk menulis tag, ini mempermudah pencarian. Sekali lagi, colliders, jika kita berbicara tentang 2D maka edge, polygon, box, circle digunakan dan masing-masing dapat menjadi collider bidang atau penghalang. Ini dapat disebut
"coll_edge_N" atau
"coll_e_N" karena collider dinding memiliki objek induk
Wall (yang pada gilirannya memiliki objek induk
Colliders ) muncul pertanyaan apakah akan menulis tag pesawat
"coll_wall_edge_N" , untuk pencarian yang disederhanakan, ketika jumlah objek besar, Anda menghemat banyak waktu.
Kami mendapatkan sesuatu yang serupa.
Mengatur folder di UnityProyek ini juga memiliki aturan yang cukup jelas.
Yaitu:
- harus jelas di mana letaknya
- jelas di mana menambahkan file dan sumber baru
- struktur adaptif dan nyaman
- strukturnya tidak terlalu rumit dan tidak hancur
Tentu saja, Anda dapat melempar apa saja dan ke mana saja tanpa memikirkan organisasi.
Seperti itu
Anda dapat melakukan sesuatu yang lebih terorganisir dengan struktur yang jelas.
Sesuatu seperti itu
Sekarang mari kita lihat apa yang dibutuhkan, apa yang tidak.
Sangat mudah untuk membagi proyek menjadi
aset internal dan
aset eksternal , ini merupakan nilai tambah.
Dalam
aset eksternal , kami memiliki semua aset pihak ketiga dan tidak lebih.
Ada folder
Scene terpisah di mana semua adegan berada.
Folder
skrip juga terpisah, lebih nyaman.
Folder yang paling menarik bagi kami adalah
aset internalSegala sesuatu tentang bagian yang terlihat dari permainan kami ada di sana.

Folder apa yang dibutuhkan di sana?
- Folder utama cetakan untuk semua cetakan
- Tekstur / Sprite kepada siapa lebih nyaman dan tergantung pada apakah proyek 2D atau 3D
- Bahan material di sini dan semuanya jelas
- Shader juga memiliki beberapa pertanyaan
- Animasi
- Vfx
- Sound di sini adalah organisasi sederhana di folder itu sendiri dan pemisahan suara menjadi BGM, Impact FX, dll.
Sebagai VFX Artist dan artis animasi 2D / 3D, saya akan membahas lebih rinci tentang pengaturan folder tertentu ini.
Untuk animasi unit, kita perlu membuat
animator control r dan
klip animasi , ada beberapa klip animasi, jadi lebih mudah untuk meletakkannya di folder. Plus, Anda memerlukan folder untuk unit itu sendiri.
Ini akan terlihat seperti ini.
Itu nyaman
Sekarang tentang VFXDalam folder dengan vfx Anda memerlukan
tekstur folder,
bahan dan
cetakan tambahan. Lebih nyaman bagi artis VFX untuk bekerja di folder mereka dan tidak mengacaukan seluruh proyek, tetapi untuk menjaga ketertiban di kebunnya. Tekstur untuk efek selalu tekstur. Bahan untuk efek memiliki pengaturan berbeda dari
aditif ke
campuran alfa, dan kadang-kadang satu tekstur pergi ke beberapa bahan, jika folder tekstur di dekatnya, maka pencarian lebih mudah. Jika Anda menulis shader, maka menarik tekstur dari folder
VFX lebih nyaman, juga lebih nyaman dan logis untuk memasukkan materi shader jadi ke
VFX.Mengapa saya perlu folder Sampah?
Seringkali Anda perlu menghapus sesuatu, bukan fakta bahwa Anda dapat melakukannya dan semuanya akan berjalan dengan lancar, seringkali ada sesuatu yang hilang dan jika Anda bukan programmer utama dalam proyek tersebut, maka Anda dapat melakukannya. Ada juga kebutuhan untuk menguji fitur / ide dan bukan fakta bahwa itu akan berakar dan umumnya diperlukan. Ini adalah tujuan folder
sampah , semua tes, semua yang perlu dihapus atau semua yang Anda tidak ingin kirim dengan komit saat ini lebih baik untuk ditempatkan di sini dan mendaftar untuk mengabaikan gita.
Mengatur hierarki dalam UnitySedikit lebih tinggi adalah contoh tentang colliders. Aturan ini mematuhi segalanya. Dalam proyek kami, kami menerapkan solusi seperti itu.

Kami baru saja menambahkan
"--- nama bab ---" ini adalah objek kosong yang hanya membawa nama. Tampaknya menjadi hal yang tidak berguna dan berlebihan, tetapi itu menyederhanakan pencarian dan pemahaman tentang hierarki di atas panggung pada waktu-waktu tertentu. Solusi sederhana semacam itu memungkinkan Anda mempercepat pencarian visual beberapa kali. Misalnya, kita memiliki objek lawan, kita dapat menyulitkan dan membuat beberapa objek anak untuk setiap jenis musuh dan terpisah untuk bos, ditambah membuat tag untuk setiap musuh. Dan kita bisa membuat satu ibu objek untuk lawan terbang, lambang simbol
^ ,
$ kuat, dan bos menunjuk sebagai
% . Untuk colliders, solusi ini tidak terlalu nyaman, tetapi untuk lawan dan pemisahan visual mereka dalam hierarki - baik-baik saja.
Organisasi dengan contoh SpineKetika kita berbicara tentang animasi 2D atau 3D, pentingnya organisasi dan nama mengarah ke level yang berbeda. Anda dapat menggunakan mocap animasi dan tidak khawatir tentang organisasi, tetapi hanya membuat gerakan yang diperlukan di studio dan membuat final di sana, sayangnya, ini tidak selalu terjadi. Ada banyak hal yang perlu dimodifikasi secara manual bahkan ketika menangkap pergerakan, tetapi kita tidak membicarakannya. Bagaimana cara memperbaiki semua gerakan, menentukan titik yang diinginkan, tulang, ketika ada lebih dari 20? Seseorang yang sederhana dengan 5 tulang tidak akan sulit untuk mengatur dan memahami koneksi, dan sekarang tambahkan 10 jari padanya, itu
lebih sulit, kan?Aturannya sama, tetapi dalam animasi ada ketergantungan dan tulang anak yang menyederhanakan organisasi. Juga, untuk persepsi visual, perubahan warna tulang digunakan. Selalu ada tulang kunci yang melekat tulang lain, ke tulang-tulang ini masih ada tulang dan seterusnya sampai akhir. Seringkali kita menyebutnya
Root , pinggul atau batang tubuh lebih jauh darinya, tangan kiri atau kanan dari batang tubuh, dan seterusnya. Dengan namanya, lebih mudah bagi kita untuk memahami apa dan di mana.
Tetapi contoh penyorotan, membantu dalam pekerjaan (misalnya,
Tulang Naga )

Aturan utama
- kejelasan nama
- kenyamanan
- pendekatan yang masuk akal
Kesimpulan
Contoh hanyalah contoh saya. Hanya satu hal yang jelas dan pasti - nama, struktur, urutan, untuk masing-masing miliknya, tetapi dapat dimengerti oleh orang-orang yang bekerja dengan Anda, tidak ada yang akan menyapu puing-puing Anda. Perusahaan-perusahaan besar seringkali lebih menuntut organisasi, semakin cepat Anda belajar menjaga ketertiban, semakin mudah bagi Anda di masa depan.
Saya tidak akan menyewa Anda kampanye pembersihan, saya memberi Anda sapu, gunakan itu.
Komentar
Leopotam"ExternalAssets" adalah cara ke mana-mana jika Anda tidak hanya perlu menambahkan aset, tetapi juga memperbaruinya. Solusi yang paling benar dan sederhana adalah dengan mengisolasi aset proyek lokal (dalam artikel ini adalah "InternalAssets"), dan menyimpan aset eksternal ketika penulis menyiapkannya - idealnya, dalam folder terpisah di tingkat folder "InternalAssets". Dalam hal ini, pembaruan menjadi mudah dan sederhana, Anda tidak perlu menyortir berdasarkan folder khusus apa yang bisa datang dalam pembaruan dan yang tidak ada sebelumnya. Selain itu, ada folder khusus yang tidak dapat dipindahkan dan yang hanya dapat di root (Gizmos, Plugins / Android, Plugins / iOS, dll.).