Appearance
资源系统
资源系统是什么
Unity 的资源系统就是管理 Assets 文件夹里的各种文件,并让它们能被场景、组件、脚本使用。
简单理解:
c
Assets = 资源仓库
Scene = 当前世界
GameObject = 场景里的对象
Component = 对象身上的功能
Asset = 给组件使用的资源文件常见资源包括:
- 图片:
Texture、Sprite - 模型:
FBX、OBJ - 声音:
AudioClip - 材质:
Material - 动画:
Animation Clip - 预制体:
Prefab - 场景:
Scene - 脚本:
C# Script
最重要的区别
Asset 是文件,GameObject 是场景里的对象。
比如 Player.prefab 是资源文件。 你把它拖进场景后,场景里才出现一个真正的 Player 对象。
资源加载方式
新手优先掌握三种:
c
[SerializeField] private GameObject enemyPrefab;
Instantiate(enemyPrefab);这是最推荐新手用的方式:Inspector 直接拖引用。
c
var prefab = Resources.Load<GameObject>("Enemy");
Instantiate(prefab);这是 Resources.Load,简单但不要大量滥用。
c
Addressables.LoadAssetAsync<GameObject>(key);这是更适合大项目的方式,后面再学。
几个新手常见坑
不要随便删 .meta 文件,Unity 靠它记录资源引用。 AssetDatabase 只能在编辑器里用,打包后的游戏不能用。 Resources 文件夹别什么都往里塞,会让构建体积和内存管理变乱。 Destroy(gameObject) 只是销毁场景对象,不等于立刻释放所有资源内存。
学习顺序建议: 先学 拖资源到 Inspector,再学 Prefab + Instantiate,然后学 Resources.Load,最后再学 Addressables / AssetBundle。
参考链接
资源系统