介紹unity常用的與序列化相關的屬性,總結一下unity的序列化系統
unity在序列化指令碼時,它只會序列化公有字段,如果想要序列化私有字段,就需要為該字段新增serializefield特性,該特性用於強制序列化私有字段;
序列化的目的是為了進行本地儲存,unity將會序列化所有的指令碼化元件然後從序列化版本中重新建立指令碼元件;unity的序列化不是.net的序列化,而是unity自己內建的序列化系統;
應用規則:
根據以上應用規則,在unity可以進行序列化的型別如下:
注意:unity中dictionary型別不可以序列化,但是unity手冊內給出了替代方案:可以使用list分別儲存key值和value值,然後在awake()中組成dictionary型別
將字段在屬性面板中隱藏,但是序列化該欄位;無**有欄位還是私有字段,都會進行序列化但是隱藏不顯示在屬性面板中;
使用c#的序列化系統完成序列化的一些操作;
在屬性面板的顯示中,預設顯示為normal模式,也可以切換到debug模式;
serializefield - unity manual
c#中的序列化和反序列化
指令碼序列化-unity manual
Unity 序列化和反序列化
1 序列化就是將物件儲存在檔案中,在檢視面板看到的就是成功序列化的內容 與序列化相關的常用的關鍵字有serializefield,hideininspector,nonserialized,serializable並可以組合使用。serializefield 表示變數可被序列化。眾所周知,公有變數可...
Unity 的序列化
經過 serialize 序列化 的 class 或 attribute 的值會被儲存成二進位制檔案,在 unity 中可序列化的 attribute 將在 inspector 顯示出來 class 與 public attribute 都是被視為可序列化的 private attribute 被視...
unity 類的序列化
概念 序列化 serialization 將物件的狀態資訊轉換為可以儲存或傳輸的形式的過程。在序列化期間,物件將其當前狀態寫入到臨時或永續性儲存區。以後,可以通過從儲存區中讀取或反序列化物件的狀態,重新建立該物件。實現例子 寫乙個myclass類,提供了可被序列化的屬性,如下 using unity...