-
Notifications
You must be signed in to change notification settings - Fork 0
Mod开发教程分为:
《Nuclear Epoch》是基于虚幻5.7.4引擎开发。
到EPIC下载虚幻引擎(版本5.7.4)
在Steam中下载Mod工程(如果无法看见ModKit,需要在分类里面将工具勾选上)
双击ProjectC.uproject打开Mod工程
也可以通过SteamCMD下载ModKit,具体步骤:https://drive.google.com/file/d/1qHo7soHgHrG2dKGvVgvqbtezLcd-Yy2d/view?usp=sharing
1.先创建一个新的插件,为你的GameFeature取一个名字(最好不要跟其他Mod重名,最好与Mod名字一致)

2.你可以在Plugins目录下找到刚刚创建好的插件,将插件的初始状态设置为Active,这之后Mod用到的所有素材都放到这个插件目录下。

3.恭喜第一个Mod插件已经创建完成了!
游戏中所有建筑都基于BP_BuildingBase(/Game/Blueprints/BuildingSystem/BP_BuildingBase)
游戏中所有道具都基于BP_Item_Base(/Game/Blueprints/Items/BP_Item_Base)
在插件目录中创建一个新的Actor继承于BP_Item_Base
游戏中所有武器都基于BP_Weapon_Base(/Game/Blueprints/Equip/Weapons/BP_Weapon_Base)
近战武器和远程武器分别有一个基类(大部分情况下我们继承自这两个类)
- BP_Weapon_GunBase 枪械武器基类
- BP_Weapon_Melee_Base 近战武器基类
1.点击打开打包界面

2.在创建Mod之前你需要填写一些基本信息
- GameFeatureName:GameFeature的名字
- ModName:Mod的名字
- Version:Mod的版本号
- Author:Mod的作者
- ModIntroduction:Mod的详细信息
- IsOnline:Mod是否支持联机

3.先点击CookMod等待完成,再点击PackageMod
Mod文件将被保存在\ProjectC\Saved\Mods目录下
上传之前请确保Steam客户端打开,打开UGC.exe上传物品


上传属性说明:
- FileID:是Steam的物品ID,如果你想创建一个新的Mod这里设置为空,如果你想更新Mod,填写已经存在的ID
- ItemPreviewIMG:SteamMod的预览图 (512X512的Jpg或者PNG小于1MB)
- Visibility:Mod是否公开可见
- ItemTags:Mod的标签(每个标签使用,分割)
- 要使Mod可见你必须同意创意工坊条款
将Mod文件拷贝到游戏Mod目录下(ProjectC\Content\Paks\Mods\)
重启游戏,即可看见Mod
无法正确打包。请确保插件已经在项目中启用,如果还无法正确打包,试着删除Saved文件夹
请确保插件开启

注意Mod只会将插件目录下的内容打包,所以任何修改了工程文件里面的内容都不会生效
1.在插件目录新建数据表,继承自GameplayTagTableRow

2.在项目设置中添加数据表

可以查看ExampleMod这是一个示例,包含如何扩展新的建筑物,新的枪械,新的道具,新的枪械配件和盔甲。

可继承的基类: "BP_BuildingBase", "BP_Weapon_Base", "BP_Item_Base", "BP_Ammo_Base", "BP_UseItem_Base", "BP_Item_Material_Att_Base", "BP_Item_Material_Base", "BP_Gun_Accessory", "BP_Armor_Base", "BP_Armor_ArmorBase", "BP_ArmorWithData_Base", "BP_Backpack_Base", "BP_HelmetBase", "BP_Shoe_Base", "BP_Weapon_Melee_Base", "BP_Weapon_GunBase", "BP_Search", "BP_NPCCharacterBase", "BP_SpawnEnemyBase", "BP_GatherBase", "BP_EnemyBase", "BP_ShootAmmoBase", "BP_BreedAnimal", "BP_BreedAnimal_Pig", "BP_BreedAnimal_Dragon", "BP_SkillOnHnad", "BP_ThrowBase", "BP_LineBase",