当前位置: 首页 > news >正文

使用FModel提取游戏资产

使用FModel提取游戏模型

  • 前言
  • FModel简介
  • FModel安装
  • FModel使用
    • 初次使用
    • 资产预览
    • 资产导出
  • 附录
    • dumper
    • Dumper-7生成usmap文件
    • 向游戏中注入dll

前言

这篇文章仅记录我作为初学者使用FModel工具提取某款游戏模型的过程。

FModel简介

FModel是一个开源软件,可以用于查看和提取UE4-5项目中的资产。它支持从.pak.uasset文件中提取内容,如3D模型,纹理,音频等。

FModel安装

首先进入FModel官网,下载最新的发布版本。

下载后是一个压缩包,直接解压然后打开exe文件即可。

FModel还需要依赖.NET,如果你的系统中没有,则会提示你安装:
在这里插入图片描述
安装好.NET之后,重新打开FModel.exe,此时软件可以正常打开。

FModel使用

初次使用

①软件初次打开会弹出这个界面
在这里插入图片描述
这里可以随便设置,之后进入软件还可以更改。
②点击ok进入软件
③设置填写AES key
这里填写你要解包的游戏对应的AES key
在这里插入图片描述

在这里插入图片描述
④设置选择UE版本和填写游戏路径
在这里插入图片描述
解包
全选(我在使用时是这样,可能会因游戏的不同而不一样)然后load
在这里插入图片描述
然后就会自动跳到Folder下,此时我们就可以随便选择一个资产双击进行查看
在这里插入图片描述
注意:
如果你要解包的游戏是使用UE5开发的,那么在解包的时候可能会报错:

[ERR] CUE4Parse.UE4.Exceptions.ParserException: Package has unversioned properties but mapping file is missing, can't serializeat CUE4Parse.UE4.Assets.IoPackage..ctor(FArchive uasset, IoGlobalData globalData, FIoContainerHeader containerHeader, Lazy`1 ubulk, Lazy`1 uptnl, IFileProvider provider, TypeMappings mappings)

解决方案我放在附录中。

资产预览

FModel还提供了3D ViewerAudio PlayerImage Merger预览器,方便预览资产中的模型文件,音频文件和图片文件(直接在相应资产上双击即可)
比如3D Viewer预览的模型是这样
在这里插入图片描述

资产导出

SettingsModels中设置资产的导出格式(比如对于mesh可以设置导出为.glbtexture可以设置导出为.png

然后在你要导出的资产上右键,选择要导出的类型即可:
在这里插入图片描述

附录

dumper

对于UE5+的游戏来说,具有unversioned属性的包是意料之中的。然而现在有一些解决方案可以让FModel支持对它们的解析。

下面将提供三种dumper,使用它们中的任意一个,可以生成一个映射文件(*.usmap),文件中是一些结构(schema),其包含游戏类、结构体和枚举。

注意,这种结构(schema)在每次游戏更新之后都会可能会发生变化,因此为了避免错误,应该在每次更新之后重新生成此文件。

三个dumper的链接(阅读它们的README文件来学习使用方法):
https://github.com/Encryqed/Dumper-7
https://github.com/UE4SS-RE/RE-UE4SS
https://github.com/OutTheShade/UnrealMappingsDumper

当成功生成了*.usmap文件后,你可以在FModel软件的设置界面将其添加到Mapping File Path中:
在这里插入图片描述

下面我将演示通过使用Dumper-7生成*.usmap的过程

Dumper-7生成usmap文件

①将Dumper-7项目git到本地
②使用Visual Studio打开.sln文件,将Settings.h中的SDKGenerationPath修改为你期望的usmap文件保存路径(默认路径为C:/Dumper-7
③在x64-Release下编译,生成dll文件
④向目标游戏中注入dll(这一步我将在下面展开介绍)
⑤查看生成的usmap文件

向游戏中注入dll

为了向游戏中注入dll,我们要使用一个工具:DLL Injector
官网链接:DLL Injector官网
使用方法:
①打开DLL Injector
在这里插入图片描述
②选择要加载的DLL文件(有两种方法):

  • 点击browse按钮然后选择你要加载的dll文件
  • 拖拽你的dll文件到DLL injector软件的界面中
    在这里插入图片描述

③从左侧窗口中选择要注入DLL文件的目标进程

  • 可以在输入框中输入进程名称或进程号来筛选条目
  • 如果使用筛选功能最后只筛选出一个进程,则此进程会被自动选中
    在这里插入图片描述

④点击右上方的注入按钮将DLL注入目标进程,结束后会在指定文件夹生成usmap文件
在这里插入图片描述

http://www.lryc.cn/news/429701.html

相关文章:

  • Qt C++ 屏幕录制 保存mp4
  • Adobe After Effects的插件--------CC Cylinder
  • Vue3项目开发——新闻发布管理系统(一)
  • 前端调用后端,出现跨域报错怎么办
  • 使用Node-RED发送数据到巴法云
  • 【今夕是何年】雅达利发布Atari 7800+游戏主机:配备无线手柄、HDMI接口
  • APP支付宝授权获取code uniapp
  • 在Linux系统下安装、配置ETCD
  • lambda 表达式可以传递引用为什么需要引用捕获
  • 【Java】/* 双向链表 - 底层实现 */
  • Go 语言协程管理精解
  • C库函数signal()信号处理
  • 007 SpringCloudAlibaba基础使用(nacos,gateway)
  • 编译环境揭秘
  • 不同的字符集(ASCII、UTF-8、UTF-16/UCS-2、UTF-32/UCS-4)
  • STM32f407 网络接收 fpga 的 bin 文件并更新到 fpga series7(3)
  • JavaScript基础知识(七)
  • 20240821让飞凌的OK3588-C的核心板在Linux R4下挂载1TB的exFAT格式的TF卡
  • Java HashMap练习
  • 前后端分离项目实战-通用管理系统搭建(前端Vue3+ElementPlus,后端Springboot+Mysql+Redis)第三篇:登录功能优化
  • 8.20 Redis ACL配置 多个用户连接同一个Redis
  • 【C语言】static和extern的作用
  • 全新分支版本!微软推出Windows 11 Canary Build 27686版
  • 【Linux】ARM服务器命令行安装虚拟机
  • Android 10.0 锁屏页面忘记锁屏密码情况下点击5次解锁图标弹出锁屏密码功能实现
  • Java-CompletableFuture工具类
  • C语言:递归
  • 自动化测试框架pytest+allure+requests
  • Python 笔记 numpy.ndarray切片
  • 一、HTML5知识点精讲