UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

目标:UE5在Runtime下现实加载PNG,JPG等图片资源

先看效果:

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

步骤1. 创建UE5工程

新建UE5的C++空白项目TestPicturePro,记得选择C++,初学者包可以根据自己需要选择是否勾选。

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

步骤2. 创建空白插件,命名为SimplePictureTools

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

插件创建成功后可以看到如下目录:

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

步骤3. 创建的蓝图静态方法类

C++文件夹下右击,创建C++类

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

选择蓝图静态方法类,点击下一步

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

修改文件文件夹路径,我们这里修改到新创建的插件文件夹下

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

技巧:选择公共的话,UE会把头文件放到public文件夹下面,cpp文件放到Private文件夹下面,如果选择私有的话,UE会把头文件+cpp文件都放到Private文件夹下面。

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

同样创建成功后会出现

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

步骤4. 在SimplePictureToolsLibrary.h定义LoadImageToTexture2D方法


据说UTexture2D是一个指针,我们需要把他传到蓝图中,所以需要添加引用&InTexture

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

在LoadImageToTexture2D方法中添加用于:取出ImagePath文件的二进制数据的代码


加载图片处理模块


找到runtime下的ImageWrapper模块的方法如下:

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

模块名

并且要在TestPicturePro.Build.cs中添加模块ImageWrapper。

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

根据不同的文件格式创建不同的文件处理类


UE目前支持的格式如下:


判断传进来的文件格式,获取文件名后缀,判断文件格式,并且传给图片处理类


根据压缩文件,解析图片


内存分配的时候

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

,也可以把ImageResultDataNum()换成
ImageResultData.GetAllocatedSize()

接下来去获取BGRA的颜色数据


最后把颜色数据拷贝到需要的贴图中


到此,LoadImageToTexture2D函数功能已经写完,编译运行

步骤5. 创建UI进行测试

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

创建4个按钮,用来分别测试不同图片

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

使用蓝图定义函数BP_LoadImageToTexture2D,定义4个按钮事件,分别调用BP_LoadImageToTexture2D测试JPG,PNG,BMP等图片

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

好了,最近这一节这么多了,大家课后自己尝试其他类型图片,希望今天的内容对你有所帮助! 最后效果如下:

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

UE5开发室内设计软件RunTime资源加载:第1篇——加载图片

来源:飞行小鱼

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年8月2日
下一篇 2022年8月2日

相关推荐