发布时间:2024-12-20 08:01
在UNITY中,我们加载资源一般是通过Resources.Load(path).即可完成.该方法返回的是Object类型.如果你想要的是材质或者贴图等等,只要价格类型转换的关键字就可以了例如 as Material,则可以返回一个材质的引用...
在UE4中,加载资源的方式区别较大.经过自己一个下午的摸索,目前发现了这4种资源的加载方式.在UE4中,它的蓝图就大致等于UNTIY中的prefab.所以我们将资源弄成了蓝图的方式来进行加载.
第一种: 如果该蓝图有C++类(或者说是从C++类创建的蓝图),直接进行加载
所有的加载资源并创建到场景中的方式都离不开SpawnActor这一句代码.如果你的蓝图包含了C++类,那么可以直接访问类的StaticClass
剩下的加载方式均是单纯的加载蓝图,并没有对应的C++类
第二种: 通过ConstructorHelpers来加载
但是值得一提的是该方法只能在类的构造函数中使用,如果在普通的逻辑代码中嵌套这份代码,很可能引起整个编译器的crash.以下是该代码的具体执行步骤
第三种: 通过FStringAssetReference来加载
其中,asset.ResolveObject就是查找字符串对应的资源,返回一个UObejct,我们通过将其转化成UBlueprint类型然后再去的他的GenerateClass即可.
第四种: 通过StaticLoadObject来加载
总结下来,第三种和第四种应该是最通用的.因为第一种要求有对应的蓝图C++类,而第二种又要求一定要是在构造函数中完成(不论是在谁的构造函数都可以,但该方法一定只能在构造函数中调用)...
想不到一个简单的加载资源也有这么多种方式...我已经给跪了...天呐...
原文链接:http://blog.csdn.net/u012385432/article/details/52154737
lts安装 rust ubuntu_搭建Ubuntu下的rust开发环境
2020最新手机百度云不限速教程,下载速度10M/S,比会员还快
用 Python 画一张北京实时疫情地图:从爬虫到绘图到自动上传服务器
毕业设计之 --- 基于长短期记忆网络LSTM的股票预测系统
MindSpore报错"RuntimeError: Invalid data, Page size."
lua和go混合调用调试记录支持跨平台(通过C和LuaJit进行实现)
Springboot----项目整合微信支付(利用RabbitMQ延迟队列处理用户退款)
SSL Certificate Signed Using Weak Hashing Algorithm(CVE-2004-2761)
【Opencv】基于python-opencv的CV2实现图片OCR前的扫描摆正OCR识别【代码实现】