相关内容:
C++实现动态加载的问题:LoadClass<T>()和LoadObject<T>()
http://aigo.iteye.com/blog/2281558
C++静态加载问题:ConstructorHelpers::FClassFinder()和FObjectFinder()
http://aigo.iteye.com/blog/2281373
示例1:
动态加载Object的工具方法
UTexture2D* MyTextureLoader::LoadTextureFromPath(const FString& Path)
{
if (Path.IsEmpty()) return NULL;
return Cast<UTexture2D>(StaticLoadObject(UTexture2D::StaticClass(), NULL, *(Path)));
}
调用:
FString PathToLoad = "/Game/Textures/YourStructureHere";
UTexture2D* tmpTexture = LoadTextureFromPath(PathToLoad);
示例2:
加载Material和Texture
struct FConstructorStatics
{
ConstructorHelpers::FObjectFinderOptional<UTexture> TextureFinder;
ConstructorHelpers::FObjectFinderOptional<UMaterial> MaterialFinder;
FConstructorStatics()
: TextureFinder(TEXT("Texture2D'/Game/Textures/2DBackground.2DBackground'"))
, MaterialFinder(TEXT("Material'/Game/Materials/DynamicTextureMaterial.DynamicTextureMaterial'"))
{
}
};
static FConstructorStatics ConstructorStatics;
Texture = ConstructorStatics.TextureFinder.Get();
UMaterial* Material = ConstructorStatics.MaterialFinder.Get();
DynamicMaterial = UMaterialInstanceDynamic::Create(Material, this);
设置调用加载好的Material和Texture:
DynamicMaterial->SetTextureParameterValue(FName("DynamicTexture"), Texture);
Mesh->SetMaterial(0, DynamicMaterial);
如果资源永不再使用,想销毁资源对象,代码如下:
Texture2D* mytex; //这里假设mytex合法有效
mytex->ConditionalBeginDestroy();
mytex = NULL;
GetWorld()->ForceGarbageCollection(true);
Dynamic Asset Loading with C++
https://www.youtube.com/watch?v=pJIAmSGxfmQ
Dynamic Load Object
https://wiki.unrealengine.com/Dynamic_Load_Object
分享到:
相关推荐
旨在与 SQLite 一起使用,但如果接口实现正确,则可以进行修改以支持各种其他数据库。 概述 在使用 Unreal 时,我希望能够将 UObjects 保存到本地数据库 sqlite,但我不想每次创建新对象时都必须编写自定义代码。 ...
ue4-log-宏带有有用宏的单个头文件,用于登录虚幻引擎4项目。 这些宏扩展了标准UE_LOG宏的用法。 带有_PRINTF后缀的宏可以具有格式化文本(请参见示例),而不能仅包含const字符串。 用法示例: # pragma once# ...
风筝和闪电的开源UE4存储库 ... 完全访问UE4的反射层(UObject,UFunction和蓝图) 广泛支持Python中的本机Slate小部件和UMG 支持编辑器扩展(自定义视口,工具栏按钮,自定义上下文菜单) 自动化:创建自定
设置方法不使用任何UE4样板,并且可以进行一些调整以在其他引擎中使用。 当前引擎版本是4.25它是如何工作的? 我试图为最终用户尽可能接近地复制UE4的蓝图编辑器。 因此,对于最终用户而言,如果他们以前使用过UE4...
适用于UE4的Bluelua 用Lua替换蓝图,使其与蓝图保持一致,然后无缝切换。 通过反射访问UObject的属性和方法,而无需生成胶合代码,更加简单,易于扩展。 现在支持Android,iOS,Mac,Windows,Linux。 二手开源库 ...
- 从UMI解析XML,将XML节点的属性(如页面,对象标识符,@link)直接转换为链接以进行升级://,uobject://等元素链接以蓝色和黑体字体突出显示。在showStreamsCalls中,每个呼叫也被转换成一个链接。 - 能够处理...
工具,以促进umi.cms上的开发和调试站点的开发和调试网站 扩展促进UMI.cm上的站点的开发和调试。 - 自动确定和显示常用调试资源的链接,例如.xml ,? showstreamscalls,uobject://,Upage://,Udata://等。 - 在...
UnrealEngine4-SwissKnife 为Unreal Engine4设计的可逆工具,用于调试对象JIT 该项目使您可以检查GEngine World的Actors数组下的所有UObject。 它应该可以轻松地用于许多UE4游戏,而对于其他游戏,您可以随时对其...
该项目适用于mono-ue 各个部分,大致相似,但支持Mono,.NET Framework和.NET Core。 使用的C ++代码主要是PInvoke方法,等效的单ue后端代码。 该项目目前不适用于大多数用例。 有很多错误并且缺少功能。 加入...
UAssetParser 解析UObject资产文件,主要用于数据表。
针对虚幻引擎的CEF的快速通用实现 特征 蓝图公开的API,用于处理CEF浏览器 直接从Chromium使用共享纹理 以60 FPS录制4K + HTML内容? 没问题! 浏览器视图与环境无关: 结合自己的逻辑使用它(3D对象上的纹理) ...
#mksrc.py mksrc.py 是一个基于模板的文件生成器,适用于 Unreal 4,但它并不仅限于用于此目的。 ###用法mksrc.py 应该使用您要生成的文件列表以及要应用于它们的模板来调用。 语法是文件名-模板。 您可以通过用...
虚幻引擎 4 的 ROSIntegration 插件该插件为您的虚幻引擎项目添加了 ROS 支持。 它旨在用于不同的通用平台。 目前,直接支持 Windows 和 Linux。 与 ROS 世界的连接将通过和完成Luigi Freda 最近添加了 UE 4.23 支持...
虚幻库为您提供了一个API,以解析/反序列化来自虚幻引擎游戏的包文件(如.UDK,.UPK),并为您提供了导航其内容的必要方法。 目前,这些是此API支持的所有对象类: UObject, UField, UConst, UEnum, UProperty, ...
serialize 会将uexp / uasset对转换为.json文件,读取UObject属性。 没有扩展名。 filelist 将创建一个文本文件,列出.pak文件中包含的所有文件。 extract <pak> 会将内部路径名中所有文件都提取到当前工作文件夹...
GamePlay架构之Actor和Component 藉着UObject提供的元数据、反射生成、GC垃圾回收、序列化、 编辑器可见,Class Default Object等,UE可以构建一个Object 运行的世界
UnrealEngine4 源码剖析 (一) UObject 概览及反射系统 2021-2-10 32 使用 PlantUML 享受流式绘图 2021-2-10 31 JetBrains 激活黑科技 - Open Source License 2021-1-19 30 使用 Emailjs 发送邮件 2021-1-14 29 浅谈 ...
它基于在视频游戏中设计和实现叙述的十年经验。 我们这里需要的只是简单性。 根据MIT许可获得许可。 您可以自由地将其用于商业项目,可以根据自己的喜好对其进行修改,然后进一步分发。 概念 它是与设计无关的事件...