Unity ScriptableObject 技术文档

news/2026/1/17 14:35:35/文章来源:https://www.cnblogs.com/lxw1541524663/p/19496031

📌 什么是 ScriptableObject

  • ScriptableObject 是 Unity 提供的一种轻量级数据容器。
  • 它不像 MonoBehaviour 那样挂在 GameObject 上,而是以 .asset 文件 的形式存在于项目中。
  • 常用于存储配置数据、角色属性、技能参数等。

🛠 创建 ScriptableObject

方法一:使用 CreateAssetMenu 特性

using UnityEngine;[CreateAssetMenu(fileName = "NewEnemyStats", menuName = "Game/Enemy Stats")]
public class EnemyStats : ScriptableObject
{public float health = 100f;public float attack = 10f;
}
  • 在 Unity 编辑器中:
    Assets → Create → Game → Enemy Stats
  • 会生成一个 .asset 文件,可以在 Inspector 中编辑。

方法二:运行时创建

EnemyStats stats = ScriptableObject.CreateInstance<EnemyStats>();

如果需要保存为 .asset 文件(仅编辑器可用):

#if UNITY_EDITOR
using UnityEditor;EnemyStats stats = ScriptableObject.CreateInstance<EnemyStats>();
AssetDatabase.CreateAsset(stats, "Assets/NewEnemyStats.asset");
AssetDatabase.SaveAssets();
#endif

📦 ScriptableObject 容器

如果需要管理多个数据,可以写一个容器类:

[CreateAssetMenu(fileName = "EnemyStatsContainer", menuName = "Game/Enemy Stats Container")]
public class EnemyStatsContainer : ScriptableObject
{public EnemyStats[] allEnemyStats;
}

这样就能在编辑器里创建一个 EnemyStatsContainer.asset,集中管理多个敌人属性。


🔑 使用场景

  • 角色属性:玩家、敌人、NPC 的数值。
  • 技能配置:技能伤害、冷却时间、范围。
  • 游戏配置:关卡参数、难度设定。
  • 数据共享:多个对象共享同一份数据,减少冗余。

⚠️ 注意事项

  • ScriptableObject 不依赖场景,可以跨场景复用。
  • 不要在运行时直接修改 .asset 文件的数据(会影响所有引用),通常在运行时复制一份。
  • 适合存储静态数据,不适合存储动态状态。

🎯 总结

  • [CreateAssetMenu] 在编辑器中快速创建数据资产。
  • ScriptableObject.CreateInstance<T>() 在运行时创建临时对象。
  • 用容器类管理多个 ScriptableObject,方便组织和引用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1173784.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

徐州市丰沛睢宁新沂邳州区英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 老周说教育

经教育部教育考试院认证、全国雅思教学质量监测中心联合指导,参照《2024-2025中国大陆雅思成绩大数据报告》核心标准,结合徐州市丰县、沛县、睢宁县、新沂市、邳州市4500份考生调研问卷、58家教育机构全维度实测结果…

常州市天宁钟楼新北武进金坛溧阳区英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜推荐 - 老周说教育

经教育部教育考试院认证、全国雅思教学质量监测中心联合指导,参照《2024-2025中国大陆雅思成绩大数据报告》核心标准,结合常州市天宁区、钟楼区、新北区、武进区、金坛区、溧阳市5200份考生调研问卷、68家教育机构全…

基于SpringBoot的考务报名平台毕业设计

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在构建一个基于SpringBoot框架的考务报名平台&#xff0c;以满足现代教育考试管理的高效、便捷和智能化需求。具体研究目的如下&#xff1a;提高考试报名…

Linux 磁盘挂载全流程实战——从新盘初始化到安全开机自启

在 Linux 运维实践中&#xff0c;磁盘挂载是一项“看似简单、但极易翻车”的基础操作。轻则磁盘未生效&#xff0c;重则系统无法启动&#xff0c;尤其在服务器、Kubernetes 节点、生产环境中&#xff0c;任何一次误操作都可能带来严重后果。 本文将结合真实运维场景&#xff0c…

完整教程:Go并发编程核心:channel和sync使用场景分析

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

基于SpringBoot的考勤管理系统毕业设计源码

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于SpringBoot框架的考勤管理系统&#xff0c;以满足现代企业对考勤管理的高效、准确和便捷性需求。具体研究目的如下&#xff1a;提高…

2025年长春靠谱的工业暖风机定制厂家哪个好,乏风取热箱/新风机组/翅片管/工业暖风机/散热器/空调机组企业哪家好 - 品牌推荐师

工业暖风机作为工业厂房、商业建筑及特殊场景的核心供暖设备,其性能稳定性、定制化能力及交付效率直接影响项目进度与成本。近年来,随着环保政策趋严及客户需求多元化,行业呈现“全链条交付”“合规性优先”“场景化…

基于SpringBoot的考研互助交流平台毕业设计

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在构建一个基于SpringBoot框架的考研互助交流平台&#xff0c;以实现以下研究目的&#xff1a; 首先&#xff0c;本研究旨在提高考研备考效率。通过搭建…

基于SpringBoot的航班进出港管理系统毕设

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在设计并实现一套基于SpringBoot框架的航班进出港管理系统&#xff0c;以提升航班管理效率&#xff0c;优化旅客出行体验。具体研究目的如下&#xff1a…

学Simulink--基础MPPT控制场景实例:基于Simulink的强化学习MPPT算法仿真

目录 手把手教你学Simulink 一、引言:为什么用“强化学习”做MPPT? 二、系统整体架构 强化学习框架(Markov Decision Process): 三、关键设计:RL-MPPT要素定义 1. 状态空间(State) 2. 动作空间(Action) 3. 奖励函数(Reward)— 学习的关键! 四、Simulink 建…

一文吃透 Spring 事务传播行为:7 种场景+代码实战

作为后端开发,Spring 事务是日常工作的基础,但不少人只会用 @Transactional 注解加个 rollbackFor,对底层的事务传播行为一知半解。直到遇到“嵌套调用事务不回滚”“重复提交导致数据异常”等问题,才发现对传播行…

OSPF实验-HCIA-rj

任务要求如下&#xff1a;首先构建一个基础模型划分广播域&#xff1a;area0四个广播域&#xff08;骨干加三个环回&#xff09;&#xff0c;area1两个广播域&#xff08;只需配一个&#xff09;操作流程及知识点&#xff1a;一.R3同属区域0和1&#xff0c;应是ABRABR定义&…

手把手教你学Simulink--基础储能管理场景实例:基于Simulink的电池簇间一致性管理与均衡仿真

目录 手把手教你学Simulink 一、引言&#xff1a;为什么大型储能电站必须关注“簇间一致性”&#xff1f; 二、系统整体架构 控制层级&#xff1a; 三、关键一致性指标定义 四、Simulink 建模全流程 步骤1&#xff1a;差异化电池簇建模 步骤2&#xff1a;本地簇控制器&…

上饶市横峰弋阳余干鄱阳雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

基于全网调研与县域考生需求分析,结合权威教学评估体系,本次针对上饶市横峰、弋阳、余干、鄱阳、万年、婺源区域雅思培训市场,开展全面、深度测评,聚焦考生选课难题与考试痛点,从优质课程供给、高分提分技巧、性价…

抚州市崇仁乐安宜黄金溪资溪广昌雅思培训辅导机构推荐:2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

基于2026年雅思考试题型微调趋势及机考普及要求,结合抚州市崇仁、乐安、宜黄、金溪、资溪、广昌等区域考生核心需求,我们开展了为期一个月的全网权威调研与深度测评,聚焦雅思培训选课难题,从机构资质、师资力量、提…

抚州市崇仁乐安宜黄金溪资溪广昌雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

面对雅思备考中的提分瓶颈与机构选择困难,一份基于真实数据和多维测评的排行榜,成为抚州考生破解选课难题的关键。 备考雅思时,无论是自学过程中听力抓不住关键词、写作逻辑混乱的普遍困境,还是选择培训班时对师资…

机房U位资产管理传感器续航时间揭秘:超长待机让管理更轻松

机房U位资产管理传感器作为数据采集的核心终端&#xff0c;其续航稳定性直接决定管理体系的有效性。传统传感器因续航不足频繁停机&#xff0c;导致数据断层、维护繁琐&#xff0c;进一步加剧空间利用率低、资产跟踪难、合规记录残缺等痛点。据腾讯云开发者社区《机房U位资产管…

职场人的结构化思维

职场人的结构化思维 结构化思维职场人的结构化思维一. 什么是结构化思维1&#xff09;拆解2&#xff09;归纳3&#xff09;重构二. 结构化思维目的和作用三. 结构化思维沟通与表达1&#xff09;金字塔结构2&#xff09;PREP原则四. 结构化思维问题分析方法1&#xff09;5W2H分析…

2026年AI获客服务商技术流派深度解析:从综合服务到垂直深耕的五大企业全链路拆解 - 品牌推荐

当前,生成式人工智能正以前所未有的深度重塑商业信息的获取与分发逻辑。AI搜索优化(GEO)作为企业连接新一代流量入口的核心能力,已成为驱动业务增长的关键战略。为系统梳理行业前沿实践,精准识别具备技术创新与实…

感知机的对偶形式是怎么来的

感知机的对偶形式是怎么来的&#xff1a;1. 原始形式&#xff1a;老师亲自调整教案 想象你在教一个学生分类水果&#xff1a; 原始形式&#xff1a;你&#xff08;老师&#xff09;心中有一个“标准答案”&#xff08;权重向量 www&#xff09;看到学生把苹果误判为橘子&#x…