我已经在Unity3D中构建了一个游戏,玩家可以在其中放置模型,旋转模型并缩放它们。
现在我要添加一个选项来保存当前状态。
我需要为每个模型保存的只是比例尺,位置,旋转和模型的网格。
我知道如何保存除网格物体以外的所有属性。我计划将数据保存在JSON文件中,但无法保存网格物体或GameObject。
我已经参考了所有实例化模型,因此无需查找它们。
编辑: 综上所述,我正在寻找一种保存所选模型的方法,这样我就可以知道当用户要加载文件时要加载哪些模型。 但是我无法序列化GameObject或网格,因此无法使用JSON或二进制文件。到目前为止,我只能保存每个模型的位置,旋转和比例。
如何保存选定的模型?
答案 0 :(得分:1)
网格不是在运行时生成的,对吗?他拥有您可以放置的预制模型集合。因此,只需将其保存为每个位置具有哪个模型的字符串或枚举,然后要加载保存的场景,您可以根据保存位置和旋转位置的保存实例化模型的正确预制。
public class PrefabHolder : MonoBehaviour //assign all necessary prefabs here, also used for logging on mobileDebugText
{
public static PrefabHolder instance;
public GameObject prefabXYZ;
private void Awake()
{
instance = this;
}
使用Prefabholder.instance.prefabXYZ
从任何脚本访问所需的任何模型