ScriptableObject 序列化遊戲資料

2021-09-25 22:35:56 字數 740 閱讀 2582

遊戲中經常會有一些需要序列化的資料,通常的做法就是把這些資料 [serializefield],然後在檢視面板中修改數值,這樣不需要修改指令碼,就可以進行資料調整,方便策劃大大修改數值。

不過這樣做還有乙個缺點,因為序列化的資料都儲存在scene場景內,沒修改一次數值,場景檔案(scene.unity)都會隨之變動,多人合作時,場景檔案就很容易發生衝突。在這裡就給大家簡單介紹一下利用scriptableobject 來進行序列化,它可以在資源面板建立乙個asset檔案,把資料儲存在資源檔案中,通過屬性面板可修改數值。

using unityengine;

//在資源面板右鍵create,建立該類對應的asset檔案

[createassetmenu(filename = "gamedataasset", menuname = "creat gamedata asset")]

public class gamedata : scriptableobject

在類中定義需要序列化的屬性,這樣就可以啦,是不是很簡單~

2.在資源面板中建立asset檔案

右鍵 => create => 建立scriptableobject類對應的asset檔案

3.填寫/修改數值

4.讀取

t setting = assetdatabase.loadassetatpath(assetpath, typeof(t)) as t;

可以使用其他api讀取載入。

遊戲配置序列化

遊戲中提供很多可供配置的設定,有利用適應多種不同的硬體配置,也有利於適應用不同玩家的操作習慣.如果每次進遊戲的話都要重設一次,這顯然就失去了配置的意義,不如用乙個適用範圍比較廣的預設值算了.所以,配置需要儲存.windows中就有眾多的的ini檔案,還有一些軟體會把資訊存入登錄檔.但是,當配置資訊較...

序列化(序列化)

原書上翻譯為序列化,msdn翻譯為序列化 作用 當需要儲存,或者網路傳輸 remoting時,資料 物件或值 需要序列化 類似於打包傳輸檔案。system.serializableattribute 序列化是指儲存和獲取磁碟檔案 記憶體或其他地方中的物件。在序列化時,所有的例項資料都儲存到儲存介質上...

序列化(模型序列化 序列化巢狀)

from rest framework import serializers from meituan.models import merchant,class merchantserializer serializers.modelserializer class meta model merch...