【 Unity 】--- 初识 Scriptable Objects

本文介绍了Unity中的Scriptable Objects,对比了它与MonoBehaviour的区别,并详细讲解了如何创建及使用Scriptable Objects。Scriptable Objects作为数据容器,可以用于Enum States,并支持运行时数据编辑且保存修改。

  • 在B站 咖喱饭游戏 Up主的视频中,看到Unity社区开放项目中统一用到了 Scriptable Objects ,所有向专业看齐,在此和大家一起学习 Scriptable Objects 的使用。
  • 如果笔记有不对或大佬有更好的见解,请不吝赐教,多多指点。

优点:ScriptableObjects 更好地管理数据。

一、ScriptableObject 与 MonoBehavour 对比

MonoBehavour

using UnityEngine;

public class SamleMonoBehaviour : MonoBehavour
{
	private void Awake()     {}
	private void OnEnable()  {}
	private void Start()     {}
	private void Update()    {}
	private void OnDisable() {}
}

ScriptableObject:

using UnityEngine;

public class SampleScriptableObject : ScriptableObject
{
	private void Awake()     {}
	private void OnEnable()  {}
	private void OnDisable() {}
	private void OnDestroy() {}
}

可见 ScriptableObject 没有 Update ,因为它本来就不是直接绑定到 Player Loop 上的,而是作为 具有可调用方法的普通对象

二、简单 ScriptableObject 的创建

using UnityEngine;

// 在Create列表里添加创建SampleScriptableObject按钮
[CreateAssetMenu(menuName = "Scriptable-Objects/Sample")]
public class SampleScriptableObject : ScriptableObject
{
	private void Awake()     {}
	private void OnEnable()  {}
	private void OnDisable() {}
	private void OnDestroy() {}
}

创建ScriptableObject实例 的步骤:在项目中右键,在Create视图中找到 Scriptable Object 点击创建。

三、Scriptable Objects 的使用情况

1. Scriptable Objects as a “Data Container”

ScriptableObject 可以做为数据容器

2. Scriptable Objects as “Enum States”

ScriptableObject 可用作 Enum States

3. Runtime Data Editing

运行时进行数据编辑,在运行时修改数据,退出运行模式后,修改依然能保存下来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值