游戏mod制作--引擎与解包
摘要
游戏mod的制作过程第一步就是需要将原始的游戏工程文件进行解包,得到相应的资源文件(贴图,音频,事件,模型甚至源代码等),这个时候下一步就是需要将解包出来的文件进行分类索引,知道对应的游戏中的触发机制以及原理对应的文件是哪些,然后依次进行修改。在真正进行修改前,首先最重要的就是所谓的逆向脱壳获取游戏的资源文件,本文主要讲解对任何一个想要制作mod游戏的开发思路。
一、游戏引擎
在我的观念中,游戏引擎是一种集合了模版、各种工程资源管理、测试为一体的面向快速开发的工具。一般的游戏引擎里面都有相应的脚本编辑器,事件触发器,状态机等等。对于一些常规的交互动作等都进行了封装。我们要做的mod无外乎是对于其中的人物动作模型、技能、触发机制、场景模型等的修改,主要涉及到的是应用资源层面,对底层代码的修改可能更多的是通过事件注入的方式进行的。
常见的游戏引擎:
- 商业引擎:Unity3D,虚幻;
- 自研引擎:魔兽争霸、英雄无敌等
| 序号 | 游戏引擎 | 特点 | 适用平台 |
|---|---|---|---|
| 1 | Unity3D | 跨平台,适用于多种游戏类型,功能强大 | Windows, Linux, Mac OS X, iOS, Android等 |
| 2 | Unreal Engine(虚幻引擎) | 高画质,强大的物理引擎,适用于高质量的3D游戏开发 | Windows, Mac OS X, Linux, iOS, Android等 |
| 3 | Cocos2d-x | 跨平台,开源,适用于2D游戏开发 | Windows, Mac OS X, Linux, iOS, Android等 |
| 4 | Creator引擎 | 基于WebGL的开源3D引擎,适用于各种类型的3D应用开发 | Windows, Mac OS X, Linux等 |
| 5 | Godot(戈多引擎) | 开源,适用于2D和3D游戏开发,节点式编辑器 | Windows, Mac OS X, Linux, iOS, Android等 |
| 6 | RPG Maker(RPG制作器) | 专门用于制作RPG游戏的开发工具,易用性高 | Windows, Mac OS X, Linux等 |
| 7 | 橙光引擎 | 专门用于制作女性向游戏的引擎,素材库丰富 | Windows, Mac OS X, Linux等 |
| 8 | Gamemaker(游戏大师) | 专门为独立游戏开发者设计的引擎,易用性高 | Windows, Mac OS X, Linux等 |
| 9 | Construct 3(构造3) | 基于HTML5的2D游戏开发引擎,功能全面 | Windows, Mac OS X, Linux等 |
| 10 | Source Engine(起源引擎) | 由Valve为《半条命2》开发,支持多种游戏类型 | Windows等 |
| 11 | Frostbite Engine(寒霜引擎) | 由EA旗下的DICE工作室开发,适用于多种游戏类型 | Windows, Mac OS X, Linux等 |
| 12 | CryEngine(尖叫引擎) | 高画质,适用于高质量的3D游戏开发,支持实时渲染 | Windows, Mac OS X, Linux等 |
| 13 | IW Engine(无尽引擎) | 由Infinity Ward工作室为《使命召唤》系列开发,性能出色 | Windows等 |
| 14 | Havok物理引擎 | 很多3A游戏以及好莱坞大片都用了该物理引擎,如《血源诅咒》等 | Windows等 |
| 15 | BigWorld Engine(大世界引擎) | 适用于大型多人在线角色扮演游戏(MMORPG)的开发 | Windows等 |
| 16 | 动视暴雪的IW | 为《使命召唤》系列开发的引擎,性能出色 | Windows等 |
| 17 | 乐高(LEGO)游戏引擎 | 专门用于乐高系列游戏的开发工具 | Windows等 |
| 18 | 育碧的Snowdrop引擎 | 育碧公司开发的综合性游戏引擎 | Windows等 |
| 19 | DX系列 | 它们旨在使基于Windows 的计算机成为运行和显示具有丰富多媒体元素(例如全色图形、视频、3D 动画和丰富音频)的应用程序的理想平台。 | Windows |
二、识别引擎(补充中)
- Unreal Engine(虚幻引擎):文件结构中<游戏\XXX\XXX\Content\Paks>,其中paks的文件夹下是.pak后缀;<游戏\XXX\XXX\Binaries\Win64>,XXX-shipping.exe
- Unity3D:.assets
三、常用的一些工具
- Umodel
- Asset studio
- Ninja ripper
- noesis
- quickbms
四、加密密匙获取论坛(AES加密等)
1、https://cs.rin.ru/forum/viewtopic .php?t= 100672
这个帖子是用来查询和请求解压虚幻文件的AESKEY。
2、https://www.gildor.org/smf/index.php
这个是Umodel工具的作者自己建立的论坛,主要是用来讨论(寻找方
法)解决一些有特殊加密的虚幻文件
3、https://forum.xentax.com/index.php
这是一个论坛,主要是解决各种非“通用”引擎的游戏文件
4、https://discord.gg/7yjxAVhS
这是个Discord聊天群,主要用来解决一些有特殊加密的Unity3D的文件。
五、mod论坛
- 英雄无敌:中立兵种 - 英雄无敌3 - 英雄世界 WoG中文站 - www.h3wog.com
- DS3系列:【元旦快乐】只狼&黑魂3 Mod 制作攻略白皮书 V1.0 by 遗忘的银灵 - 哔哩哔哩
相关文章:
游戏mod制作--引擎与解包
摘要 游戏mod的制作过程第一步就是需要将原始的游戏工程文件进行解包,得到相应的资源文件(贴图,音频,事件,模型甚至源代码等),这个时候下一步就是需要将解包出来的文件进行分类索引,…...
3D模型制作木质纹理贴图
在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 本文将讲解如何使用GLTF 编辑器 -NSDT 在线材质编辑工具为3D模型设置…...
[足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-4线性时不变系统中的冲激响应与卷积
本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-数学基础Ch0-4线性时不变系统中的冲激响应与卷积 1. LIT System:Linear Time Invariant2. 卷积 Convolution3. 单位冲激 Unit Impulse——Dirac Delta 线性时不变系统 : L…...
CSS BFC特性和应用
目录 1,介绍2,BFC布局规则3,创建BFC4,BFC应用1,浮动子元素使父级高度坍塌2,非浮动元素被浮动元素覆盖3,margin 合并1,父子 margin 合并:父级和第1个/最后1个子元素2&…...
软件工程 - 第8章 面向对象建模 - 3 - 动态建模
状态图 状态是指在对象生命周期中满足某些条件、执行某些活动或等待某些事件的一个条件和状况 。 案例一:描述烧水器在工作时的详细行为细节 “人就是一个类,而你”、我”、张三”等都是“人这个类的一个实例,站着”、“躺着等都是对象的一…...
Stable Diffusion AI绘画系列【16】:霸气侧漏的二次元武侠风
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...
第二证券:苹果市值重返3万亿美元,关键因素并非人工智能
当地时间12月5日,到美股收盘,苹果公司股价收涨2.1%,报193.42美元,收盘市值重返3万亿美元上方。 上一年12月,苹果公司市值曾在盘中时间短触及3万亿门槛,但收盘并未站稳,本年6月收盘时正式打破3万…...
西南科技大学C++程序设计实验六( 继承与派生一)
一、实验目的 1. 理解不同继承属性对派生类访问基类成员的区别 2. 掌握单继承程序编写 二、实验任务 1、调试下列程序,并在对程序进行修改后再调试,指出调试中的出错原因(该题中A为基类,B为派生类,B以public方式继承A) 重点:理解不同继承方式数据的访问权限,派生类…...
MySQL 性能优化
未完待续... 1. 分库、分表结构优化 1.1 数据库设计 不规范的数据库设计存在数据冗余以及插入、更新、删除异常问题。 规范化(Normalization)是数据库设计的一系列原理和技术,主要用于减少表中数据的冗余,增加完整性和一致性&…...
求职招聘小程序源码系统 全开源源代码:找工作+招人才 平台级别运营版 附带完整的搭建教程
在当前的求职招聘市场中,尽管存在大量的求职者和招聘者,但依然存在着信息不对称、沟通不畅等问题。小编来给大家分享一款求职招聘小程序源码系统,旨在提供一个高效、便捷、安全的求职招聘平台。 以下是部分代码示例: 系统特色功能…...
26、卷积 - 实际上是一个特征提取器
矩阵乘法的本质是特征的融合,卷积算法的本质是特征的提取。 回想一下之前所有介绍卷积的时候,描述了一种卷积运算的场景,那就是一个窗口在图片上滑动,窗口中的数值是卷积核的参数,也就是权值。 卷积的计算本质是乘累…...
web前端之vue3
MENU vue3响应式数据的判断、isRef、isReactive、isReadonly、isProxy、ref、reactive、readonlyvue3的生命周期vue3手写isRef、isReactive、isReadonly、isProxyvue3手写ref、深的refvue3手写shallowRef、浅的refvue3customRefvue3readonly与shallowReadonlyvue3toRaw与markRa…...
原来在C++的类中声明函数时可以不写参数名只写参数类型
2023年12月6日,周三上午 今天才发现原来可以这样写 在C的类中声明函数时可以不写参数名只写参数类型, 但是,在实现时必须写出参数名。 #include<iostream>class People { public:void move(int);void say(std::string);void doSomet…...
独孤思维:这里有蓝海项目,你要吗?
很多人,一看到蓝海项目,就趋之若鹜。 觉得红海项目太卷了,根本赚不到钱。 凡是认为蓝海项目不卷,可以做起来,做的轻松的,都是弱智和无能的表现。 你所能接触到的蓝海,根本就不是蓝海。 能够…...
外卖平台推荐算法的优化与实践
目录 引言 一、推荐算法的原理 二、推荐算法的挑战 三、实际案例分析 四、优化推荐算法的策略 五、结论 引言 在当今数字化社会,外卖平台成为了人们生活中不可或缺的一部分。为了提供更加个性化、高效的服务,外卖平台使用推荐算法成为了一项关键技…...
CONTROLLING VISION-LANGUAGE MODELS FOR MULTI-TASK IMAGE RESTORATION
CONTROLLING VISION-LANGUAGE MODELS FOR MULTI-TASK IMAGE RESTORATION (Paper reading) Ziwei Luo, Uppsala University, ICLR under review(6663), Cited:None, Stars: 350, Code, Paper. 1. 前言 像CLIP这样的视觉语言模型已经显示出对零样本或无标签预测的各种下游任务…...
HarmonyOS应用开发——页面
我们将对于多页面以及更多有趣的功能展开叙述,这次我们对于 HarmonyOS 的很多有趣常用组件并引出一些其他概念以及解决方案、页面跳转传值、生命周期、启动模式(UiAbility),样式的书写、状态管理以及动画等方面进行探讨 页面之间…...
Java流Stream使用详解(练习)
练习 第一题 数据过滤 定义一个集合,并添加一些整数1,2,3,4,5,6,7,8,9,10过滤奇数,只留下偶数,并将结果保存起来 import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.stream.Collectors…...
请介绍一下MySQL的存储引擎及其特点
问题:请介绍一下MySQL的存储引擎及其特点。 回答: MySQL是一个开源的关系型数据库管理系统,它支持多种存储引擎,每个存储引擎都有其自身的特点和适用场景。下面是对MySQL常见存储引擎的简要介绍: InnoDB: …...
Python---魔术方法
1、什么是魔术方法 在Python中,__xxx__()的函数叫做魔法方法,指的是具有特殊功能的函数。 2、__init__()方法(初始化方法或构造方法) 思考:人的姓名、年龄等信息都是与生俱来的属性,可不可以在生产过程中就赋予这些属性呢&…...
Mirage Flow 硬件开发入门:Keil5 MDK安装与嵌入式AI项目创建
Mirage Flow 硬件开发入门:Keil5 MDK安装与嵌入式AI项目创建 如果你对把AI模型塞进一个小小的单片机里感到好奇,想亲手试试让硬件“聪明”起来,那么你来对地方了。很多朋友在第一步——搭建开发环境上就卡住了,面对一堆安装包和配…...
SerialMP3库:GD3300D/TD5580A串口MP3模块驱动详解
1. SerialMP3 库概述:面向 GD3300D/TD5580A 串口 MP3 播放模块的嵌入式驱动框架SerialMP3 是一个专为基于 GD3300D 或 TD5580A 音频解码芯片的串口 MP3 播放板设计的 Arduino 兼容库。该库并非通用音频处理中间件,而是一个硬件协议抽象层(Har…...
文脉定序GPU利用率优化:BGE-Reranker-v2-m3批处理与动态序列长度调优
文脉定序GPU利用率优化:BGE-Reranker-v2-m3批处理与动态序列长度调优 1. 优化背景与价值 在实际部署文脉定序系统时,我们发现GPU利用率存在明显瓶颈。当处理大量检索结果的重排序任务时,传统的逐条处理方式导致GPU计算资源大量闲置…...
虚幻引擎PicoVR开发避坑指南:PicoXR与PicoOpenXR插件选型与实战解析
1. PicoXR与PicoOpenXR插件核心差异解析 第一次接触PicoVR开发时,很多开发者都会被两个相似的插件名称搞懵——PicoXR和PicoOpenXR。这两个插件虽然名字相近,但在功能特性和适用场景上存在本质区别。我在去年开发健身类VR应用时就因为选错插件࿰…...
OpenClaw飞书机器人配置:Qwen3-32B私有镜像对话触发详解
OpenClaw飞书机器人配置:Qwen3-32B私有镜像对话触发详解 1. 为什么选择OpenClaw飞书Qwen3-32B组合 去年底我开始尝试用AI自动化处理团队日常事务时,发现市面上大多数方案要么需要将敏感数据上传到第三方平台,要么只能完成简单的问答交互。直…...
基于MATLAB RVC与Simulink的ABB-IRB-1200运动学建模及轨迹规划实战
1. ABB-IRB-1200机械臂与MATLAB RVC工具箱初探 第一次接触ABB-IRB-1200这款机械臂时,我就被它精巧的设计所吸引。这款机械臂有两种型号,工作范围分别是700mm和900mm,最大有效负载分别为7kg和5kg。别看它体积小,在狭小空间内作业时…...
被裁员后,我用这个 AI 助手每天只工作 2 小时|OpenClaw 实战
😭 被裁员后,我用这个 AI 助手每天只工作 2 小时“真正的自由,不是想做什么就做什么,而是不想做什么就可以不做什么”01 一个普通打工人的至暗时刻 上个月,公司裁员 30%。 我所在的部门,5 个人走了 3 个。 …...
BlueprintJS:企业级React组件库的架构设计与实战应用
BlueprintJS:企业级React组件库的架构设计与实战应用 【免费下载链接】blueprint A React-based UI toolkit for the web 项目地址: https://gitcode.com/gh_mirrors/bl/blueprint 在现代企业级Web应用开发中,UI框架的选择直接影响开发效率、产品…...
保姆级教程:手把手教你用LIN诊断协议传输超过5字节的数据(附多帧传输实战代码)
突破LIN诊断协议5字节限制:多帧传输实战指南 在汽车电子开发中,LIN总线因其低成本、高可靠性的特点,被广泛应用于车身控制、传感器网络等场景。但LIN协议的单帧5字节数据限制,常常成为开发者面临的技术瓶颈——无论是ECU固件升级还…...
从‘基’到‘坐标变换’:用Python和NumPy手把手理解线性空间的‘换地图’操作
从‘基’到‘坐标变换’:用Python和NumPy手把手理解线性空间的‘换地图’操作 想象一下,你正在使用导航软件规划路线。同一个地点,在高德地图和百度地图上显示的坐标可能完全不同——这就像线性代数中的基变换。本文将用Python代码和可视化手…...
