UE4/UE5 python打包Pak和Runtime加载Pak
利用python进行打包:
import unreal
import os,shutil#config 配置项
ProRoot='D:/UEProject'
EnginRoot='D:/Epic Games/UE_5.0EA'
ProName='testpak.uproject'
UnrealEditorCMD='UnrealEditor-Cmd.exe'UE5Win64Path=EnginRoot+'/Engine/Binaries/Win64'
UE5BatchFiles=EnginRoot+'/Engine/Build/BatchFiles'
ProjectPath=ProRoot+'/'+ProName#首先是Cook
os.chdir(UE5BatchFiles)
cookebat='RunUAT.bat -ScriptsForProject="'+ProjectPath+'" Turnkey -command=VerifySdk -platform=Win64 -UpdateIfNeeded -EditorIO -project="'+ProjectPath+'" BuildCookRun -nop4 -utf8output -nocompileeditor -cook -project="'+ProjectPath+'" -ue4exe="'+UnrealEditorCMD+'" -platform=Win64 -ddc=InstalledDerivedDataBackendGraph -installed -skipstage" -nocompile'
os.system(cookebat)#打包后pak路径
exp_path=ProRoot+'/PakCache/Mod/'+UUID+'.pak'#执行打包 UnrealPak.exe相关参数可百度,当前为 压缩未加密的方式
os.chdir(UE5Win64Path)
os.system('UnrealPak.exe '+exp_path+' -create='+ProRoot+'/Saved/Cooked/Windows/Ehome/Content/Mod/'+UUID+' -compress' )
Mount Pak(c++):
bool UEHomePak::LoadPakComplete(FString PakPath,FString MountPoint)
{FPakPlatformFile* pakFile = (FPakPlatformFile*)(FPlatformFileManager::Get().FindPlatformFile(FPakPlatformFile::GetTypeName()));if (pakFile->Mount(*PakPath, 4, *MountPoint)){return true;}else{return false;}}
Moun后进行资源加载(Assetload),加载后需要 cast_to强制转化为对应的类型。
UObject* LoadObj = StaticLoadObject(UObject::StaticClass(), NULL, *NewPath);
if (LoadObj) {UStaticMesh* Mesh = Cast<UStaticMesh>(LoadObj);
}
UE4/UE5 python打包Pak和Runtime加载Pak相关推荐
- 安装fitz报错_解决python 虚拟环境删除包无法加载的问题
项目开发一直在docker的虚拟环境上,遇到了一个问题,就是把虚拟环境的包删掉(rm -rf xxx)之后,再重新拷贝一个(跟原来包一模一样的文件夹)进去发现pycharm再也找不到这个包了,后来在同 ...
- Angular (SPA) WebPack模块化打包、按需加载解决方案完整实现
Angular (SPA) WebPack模块化打包.按需加载解决方案完整实现 参考文章: (1)Angular (SPA) WebPack模块化打包.按需加载解决方案完整实现 (2)https:// ...
- vue+webpack项目打包后背景图片加载不出来问题解决
vue+webpack项目打包后背景图片加载不出来问题解决 参考文章: (1)vue+webpack项目打包后背景图片加载不出来问题解决 (2)https://www.cnblogs.com/mica ...
- python录入数据至ppt_利用Python进行数据分析之 数据加载.ppt
利用Python进行数据分析之 数据加载 " " " " 数据加载,存储与文件格式 1,读写文本格式数据: (read_csv,read_table,read_ ...
- flutter/Android接入友盟、阿里百川SDK,打包APK后报无法加载arr库的坑
刚接触flutter,边学边做.其实遇到的是两个坑,但看起来像是同个问题引起的,多么痛的领悟,基础不牢.解决问题流程不对太耽误时间了. 打包APK后报无法加载友盟arr库 有篇帖子说是启用压缩导致的, ...
- ue4 通过指定路径加载资源_求助!加载pak资源到内存后,如何引用资源显示出来到地图中?...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 如题!已经pak资源包已经加载在内存中了,但是不知道如何把pak的uasset引用出现在地图当中?请各位大佬帮助提示下,非常感谢! 代码: for (in ...
- python之torchlight使用_Unity3D加载火炬之光资源
一.目标 一直想做一个战斗类的DEMO,苦于没有资源,当时Torchlight出来时,感觉很不错,于是想用OGRE也来做一个,后面发现也没那么容易, 搞各种编辑器就已经会让人蛋疼死. 现在U3D出来了 ...
- go加载python_人生苦短我用python(02)动态加载模块-Go语言中文社区
文章内容为原创,欢迎转载请注明出处 作者: EflyPro->晦明禅师 文章来源:公众号"睿江云计算" 继第一期[人生苦短我用Python系列专栏]发布后,深受广大睿普迷的一 ...
- python ctypes库中动态链接库加载方式
最近看了<Gray hat python>一书,这才知道为什么python是黑客必学的编程语言.通过python的ctypes模块,可以直接调用动态链接库中的导出函数,而且甚至可以直接在p ...
- python selenium 爬取js加载的内容为空,Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容...
1,引言 在Python网络爬虫内容提取器一文我们详细讲解了核心部件:可插拔的内容提取器类gsExtractor.本文记录了确定gsExtractor的技术路线过程中所做的编程实验.这是第二部分,第一 ...
最新文章
- 腾讯云 cloudbase 云开发使用笔记
- Ruby用SciTE输出中文报错问题解决
- 能力共进、价值共赢,华为传媒携手生态伙伴推动行业数字化转型和智慧化升级
- java多线程基础(synchronize关键字)
- Divide Groups(分组)(二分图染色)
- html ui在线生成器,漂亮的CSS按钮样式集以及在线生成工具
- 微信Emoji工具-EmojiUtil
- 关于ISIS协议TLV TAG标签的研究与简单实验
- 创新科技普济天下,华为无线重构世界
- Xshell怎样才能实现快速粘贴复制
- 解锁三星bl锁有几种方法_三星Note5解锁教程_三星Note5 CROM解BL锁的方法
- 洛谷P4315 月下“毛景树”(树剖+线段树)
- 家庭用计算机是一体好还是,国产家用电脑一体机,性能够用就好!!!
- 如何在手机APP中通过H5方式集成监控摄像头实时直播画面
- Android微信登录引起的内存泄漏
- D3.js之折线图动画
- jekyll编写济南少儿国画博客
- 剖析 Pexpect
- 【职场版】《漫漫邮子路(一)--走出你身处的“盒子”——朱斌》
- 树莓派项目实践 [1] —— 编程控制继电器组件实现电路开闭(C语言)
热门文章
- python开三次方_用python计算三次方根
- 2021-07-16思考-资本源于贪婪(与人性抗争)
- easyui datagrid 可编辑单元格 显示 clear icon 和 放大镜图标
- 吴式太极大师战波简介
- 软件及其公司篇--项目管理(八)
- python 卡方分布值_数据分析|抽样分布
- 获取list中出现频数最多的元素
- 7-7 浪漫的表白 (10 分) 计算生日差据天数
- Mybatis与springboot项目启动时出现Field mapper in ‘xxx‘ required a bean of type ‘xxx‘ that could not be found
- 微信自定义链接分享网页(设置标题+简介+图片)