Script serialization
serialisasi kustom

serialisasi internal

Beberapa fitur bawaan Unity secara otomatis menggunakan serialisasi. Ini diuraikan di bawah ini.

Lihat dokumentasi tentang Serialisasi Script untuk informasi lebih lanjut.

Hemat dan pemuatan

Unity menggunakan serialisasi untuk memuat dan menyimpan ScenesAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
Lihat di Glossary
, AssetsSetiap media atau data yang dapat digunakan dalam permainan atau proyek Anda. Aset mungkin berasal dari file yang dibuat di luar Unity, seperti model 3D, file audio atau gambar. Anda juga dapat membuat beberapa jenis aset di Unity, seperti Pengontrol Animator, Audio Mixer atau Tekstur Render. More info
Lihat di Glossary
, dan AssetBundles ke dan dari hard drive komputer Anda. Ini termasuk data yang disimpan dalam objek API scripting Anda sendiri seperti komponen MonoBehaviour dan Login Sitemap.

Ini terjadi dalam Mode Bermain Editor dan Mode Edit.

Jendela inspektur

Ketika Anda melihat atau mengubah nilai field komponen GameObject di Jendela inspektur, Unity menemani data ini dan kemudian menampilkannya di jendela InspectorJendela Unity yang menampilkan informasi tentang Pengaturan GameObject yang dipilih saat ini, aset atau proyek, memungkinkan Anda untuk memeriksa dan mengedit nilai. More info
Lihat di Glossary
. Jendela Inspektur tidak berkomunikasi dengan API Scripting Unity ketika menampilkan nilai-nilai lapangan. Jika Anda menggunakan properti di skrip Anda, salah satu pencari properti dan setters tidak pernah disebut ketika Anda melihat atau mengubah nilai di jendela Inspektur sebagai Unity serializes kolom jendela Inspektur langsung.

Reloading script di Editor Unity

Ketika Anda mengubah dan menyimpan skrip, Reload Unity semua data skrip yang dimuat saat ini. Toko pertama semua variabel serializable di semua loaded scriptsSepotong kode yang memungkinkan Anda untuk membuat Komponen Anda sendiri, memicu peristiwa permainan, memodifikasi sifat komponen dari waktu ke waktu dan menanggapi input pengguna dengan cara apa pun yang Anda sukai. More info
Lihat di Glossary
, dan setelah memuat skrip mengembalikannya. Semua data yang tidak serializable hilang setelah script dimuat kembali.

Ini mempengaruhi semua jendela Editor, serta semua MonoBehaviours dalam proyek. Tidak seperti kasus serialisasi lain dalam bidang Unity, bidang swasta serialisasi secara default ketika reloading, bahkan jika mereka tidak memiliki atribut ‘SerializeField’.

Prefabs

Dalam konteks serialisasi, PrefabJenis aset yang memungkinkan Anda untuk menyimpan GameObject lengkap dengan komponen dan properti. Prefab bertindak sebagai template dari mana Anda dapat membuat instance objek baru di tempat kejadian. More info
Lihat di Glossary
adalah data serial satu atau lebih GameObjectsObjek mendasar dalam adegan Unity, yang dapat mewakili karakter, props, pemandangan, kamera, waypoints, dan banyak lagi. Fungsi GameObject didefinisikan oleh Komponen yang melekat padanya. More info
Lihat di Glossary
dan componentsBagian fungsional dari GameObject. GameObject dapat mengandung sejumlah komponen. Unity memiliki banyak komponen built-in, dan Anda dapat membuat Anda sendiri dengan menulis skrip yang berwarisi dari MonoBehaviour. More info
Lihat di Glossary
. Contoh Prefab mengandung referensi untuk kedua sumber Prefab dan daftar modifikasi untuk itu. Modifikasi adalah apa yang perlu dilakukan Unity untuk sumber Prefab untuk membuat instance Prefab tertentu.

Contoh Prefab hanya ada saat Anda mengedit proyek Anda di Editor Unity. Selama membangun proyek, Editor Unity mengintip GameObject dari dua set data serialisasi: sumber Prefab dan modifikasi instance Prefab.

Instantiation

Ketika Anda memanggil Instantiate pada apa pun yang ada di Scene, seperti Prefab atau GameObjects, Unity men serializes itu. Ini terjadi baik pada runtime dan di Editor. Semua yang berasal dari Login Sitemap bisa serialisasi.

Unity kemudian membuat GameObject baru dan deserializes data ke GameObject baru. Sitemap Unity menjalankan kode serialisasi yang sama dalam varian yang berbeda untuk melaporkan bahwa UnityEngine.Objects lain direferensikan. Ini memeriksa semua referensi UnityEngine.Objects untuk melihat apakah mereka adalah bagian dari data yang disaatkan. Jika titik referensi untuk sesuatu "eksternal", seperti Tekstur, Unity menyimpan referensi itu. Jika titik referensi untuk sesuatu "internal", seperti anak GameObject, Unity patch referensi ke salinan yang sesuai.

Unloading aset yang tidak digunakan

Resource.GarbageCollectSharedAssets() adalah kolektor sampah Unity asli dan melakukan fungsi yang berbeda untuk kolektor sampah C# standar. Ini berjalan setelah Anda memuat Adegan dan memeriksa objek (seperti tekstur) yang tidak lagi direferensikan dan membongkarnya dengan aman. Pengumpul sampah Unity asli menjalankan serializer dalam variasi objek mana melaporkan semua referensi ke UnityEngine.Objects eksternal. Ini adalah bagaimana Tekstur yang digunakan oleh satu adegan yang dibongkar di sebelah berikutnya.


• 2017–05–15 Sitemap

Script serialization
serialisasi kustom