[UE4]C++实现动态加载UObject:StaticLoadObject();以Texture和Material为例
相关内容:
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(, 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
[UE4]C++实现动态加载UObject:StaticLoadObject();以Texture和Material为例的更多相关文章
- [UE4]C++实现动态加载的问题:LoadClass<T>()和LoadObject<T>() 及 静态加载问题:ConstructorHelpers::FClassFinder()和FObjectFinder()
转自:http://aigo.iteye.com/blog/2281558 动态加载UObject和动态加载UClass分别用LoadObject<T>(),和LoadClass<T ...
- [UE4]C++实现动态加载的问题:LoadClass()和LoadObject()
http://aigo.iteye.com/blog/2281558 原文作者:@玄冬Wong 相关内容:C++静态加载问题:ConstructorHelpers::FClassFinder()和FO ...
- c#反射-动态加载dll简单例子
假设已有组件ClassLibraryTEST.dll,放置于程序目录下.组件中ClassLibraryTEST命名空间下有TEST类,类中有方法sum.下面示例就是动态加载组件并调用sum方法的简例: ...
- [UE4]一个好用的虚幻4插件,根据资源名称动态加载资源,GetCurrentLeveName(获得当前地图名称)
下载地址 一.下载与UE4相对应的版本 二.在工程根目录新建Plugins目录,解压插件. 三.如果工程已经打开,则需要重新打开 四.重新打开工程后,右下角会有提示有新插件可用. 五.这个插件提供 ...
- js动态加载css和js
之前写了一个工具类点此链接里面含有这段代码,感觉用处挺多,特意提出来 var loadUtil = { /* * 方法说明:[动态加载js文件css文件] * 使用方法:loadUtil.loadjs ...
- geotrellis使用(二十三)动态加载时间序列数据
目录 前言 实现方法 总结 一.前言 今天要介绍的绝对是华丽的干货.比如我们从互联网上下载到了一系列(每天或者月平均等)的MODIS数据,我们怎么能够对比同一区域不同时间的数据情况,采用 ...
- Ext JS 如何动态加载JavaScript创建窗体
JavaScript不需要编译即可运行,这让JavaScript构建的应用程序可以变得很灵活.我们可以根据需要动态从服务器加载JavaScript脚本来创建和控制UI来与用户交互.下面结合Ext JS ...
- Ext动态加载Toolbar
在使用Ext的GridPanel时候,有时候需要面板不用重新加载而去更新Store或者Toolbar,Store的方法有很多,例如官方api给我们提供的Store.load(),Store.reLoa ...
- Android动态加载框架汇总
几种动态加载的比较 1.Tinker 用途:热修复 GitHub地址:https://github.com/Tencent/tinker/ 使用:http://www.jianshu.com/p/f6 ...
随机推荐
- QQ提示应用程序并行配置不正确,绿色版QQ不能运行解决方法
出现此问题是因为您的计算机中缺少VC运行库导致的,建议您到互联网上下载相应的VC2005运行库,Windows 7请下载VC2008运行库安装到您的计算机中.如果您安装了运行库还是不行,建议您安装:( ...
- 增量打包DOC版
压缩zip的命令有的系统没有的自己去下载一个,否则关闭压缩zip的命令. 有需要的自行更改,这是满足我需求的. 执行 publish.bat 即可,当然需要将文件清单写好放在 resources.tx ...
- Java语言的概述
- jquery deferred promise
<script type="text/javascript">/* Deferredstate (then,done, fail, always,pipe, progr ...
- ubunttu-sh: 1: pause: not found
old code: //in ubuntu OS system("pause"); error discription: : pause: not found right code ...
- TF-IDF算法(1)—算法概述
假设现在有一篇很长的文章,要从中提取出它的关键字,完全不人工干预,那么怎么做到呢?又有如如何判断两篇文章的相似性的这类问题,这是在数据挖掘,信息检索中经常遇到的问题,然而TF-IDF算法就可以解决.这 ...
- java导出Excel 好文收藏
http://www.cnblogs.com/Damon-Luo/p/5919656.html https://www.cnblogs.com/klguang/p/6425422.html
- Tensoflw.js - 01 - 安装与入门(中文注释)
Tensoflw.js - 01 - 安装与入门(中文注释) 参考 W3Cschool 文档:https://www.w3cschool.cn/tensorflowjs/ 本文主要翻译一些英文注释,添 ...
- 注册表禁用和启用USB端口
USB端口禁用把下面代码另存为文件:USB_Disable.batcSCript \\AppServices\netlogon\USB_Disable.vbs--------------------- ...
- tomcat源码阅读之部署器
我们知道web应用是用Context实例表示的,而Context是部署到Host实例中的,因此tomcat的部署器是关联的Host实例.Context实例可以用WAR文件部署,也可以把整个web应用的 ...