You are on page 1of 15

MOD 制作指南

1、数据修改

1.1、创建 MyMODs 文件夹


1.1.1、找到 steam 游戏目录(示例:E:\steam\steamapps\common\Settlement Survival)
1.1.2、进入 Settlement Survival_Data 文件夹,创建新文件夹 MyMODs

*数据修改 mod 主要修改 StreamingAssets 文件夹的内容,这里存放了游戏的模型、音乐和配置文件(zipConfig)

1.1.3、进入 MyMODs 文件夹,创建新文件夹 mod1 用于存放 mod 文件内容


(文件夹可自由命名,但必须使用英文,不可使用特殊字符)

1.2、填写 AMODConfig 信息
1.2.1、进入 mod1 文件夹,创建文件 AMODConfig.xml (可新增 txt 文件并修改后缀为 xml)

1.2.2、复制下列基础信息到 AMODConfig.xml 中(建议使用 xml 编辑软件,如 Visual Studio Code)


<?xml version="1.0"?>
<UGCItemInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!--mod 名称-->
<Title>xxx</Title>
<!--mod 修改内容说明-->
<Des>xxxxxxx</Des>
<!--mod 作者-->
<Auther>xxxx</Auther>
<!--语言,不要修改-->
<Lang>schinese</Lang>
<!--steam 改动日志-->
<ChangeNote>xxxxxxxxxx</ChangeNote>
<!--mod 上传 steam 后自动生成的 key,不要填-->
<SteamKey_Str></SteamKey_Str>
</UGCItemInfo>

1.2.3、成功上传的 mod 的 AMODConfig.xml 文件示例

*箭头指向内容是上传成功后自动生成的

1.3、创建展示图片
1.3.1、在 mod1 文件夹存放 mod 封面图片,修改名称为 PreviewIcon.png ,尺寸 200*120

1.4、修改配置文件
1.4.1、进入 mod1 文件夹,创建新文件夹 zipConfig ,用于存放修改的配置文件(即使不修改配置文件
也必须有 zipConfig 文件夹)
1.4.2、找到游戏配置文件目录(示例:E:\steam\steamapps\common\Settlement Survival\
Settlement
Survival_Data\StreamingAssets\zipConfig)

1.4.3、复制需要修改的 xml 配置文件并粘贴到 mod1 的 zipConfig 文件夹中

1.4.4、修改复制的 xml 文件。


⚫ 如果以 ArrayOfBuildingConfig 为开始标记,可以删除不修改的项,仅保留修改或者新增的项
(项:以建筑表为例,从<BuildingConfig>到下个</BuildingConfig>的全部配置,具有唯一 ID)

⚫ 如果不以 ArrayOfBuildingConfig 为开始标记,只能修改内容,不能部分删除,需要整表复制


1.4.5、完成修改后打开游戏,进入游戏主菜单的 mod 界面,勾选创建的 mod,关闭界面后开始载入
mod 的修改内容,加载结束后就可以进入游戏进行测试。(载入时间与修改内容大小有关,关闭界面时
如有卡顿是正常情况,请耐心等待)
1.4.6、进入游戏主菜单的 mod 界面,点击<发布>按钮就可以上传 mod(国内玩家需要 vpn)

1.4.7、Mod 上传失败可能出现的错误提示
//k_EResultOK - 操作成功完成。
//k_EResultFail - 一般性失败
//k_EResultInvalidParam - 提供的 app ID 无效或与物品的消费者 app ID 不匹配,或者您还没有
为在 Steam 创意工坊配置应用管理员页面上提供的 app ID 启用 ISteamUGC。
//预览文件小于 16 字节。
//k_EResultAccessDenied - 用户没有所提供的 app ID 的许可证。
//k_EResultFileNotFound - 无法获取有关物品的创意工坊信息,或者无法读取预览文件。
//k_EResultLockingFailed - 无法获取 UGC 锁定。
//k_EResultFileNotFound - 提供的内容文件夹无效。
//k_EResultLimitExceeded - 预览图片太大,必须小于 1 MB;否则用户在 Steam 云 中没有足够的
可用空间。
//m_bUserNeedsToAcceptWorkshopLegalAgreement bool 用户是否需要接受《Steam 创意工坊法律协
议》? 参见 创意工坊法律协议,了解更多信息。

2、资源修改

2.1、Unity 安装
2.1.1、进入 unity 官网(https://unity.cn/releases/full/2019),下载 unity2019.4.22 版本(修改美
术资源必须下载对应版本的 unity,不同版本不适用)
2.1.2、下载安装后,登录注册为个人用户

2.1.3、找到游戏目录中的 ModResBuildProject 资源包,解压资源包到 steam 目录以外的位置


(由于 steam 的保护机制,不能直接在 steam 目录内解压再拷贝)
(示例:E:\steam\steamapps\common\Settlement Survival\Settlement Survival_Data)

2.1.4、点击 UnityHub 的<添加>按钮,选择解压好的 ModResBuildProject 资源文件夹。如果添加时提


示<无效的项目路径>,请检查文件路径子目录下是否有以下所有文件夹
2.2、环境配置
2.2.1、打开 ModResBuildProject 项目,在 Project 面板搜索 TestScene ,双击进入测试场景

2.2.2、双击打开 Project 面板下 Assets 下的 BuildConfig 文件


2.2.3、修改文件中红框部分内容,将路径修改为 mod1 文件夹路径

2.3、简易版资源修改(URP 模式无效,无选中效果,无建造阶段,无破损效

果)
2.3.1、将资源存放在 Project 面板下的 Arts 文件夹,资源的文件名和文件夹名必须是英文。资源包括模
型(FBX 格式)、图片(PNG 格数)、音乐(WAV 格式)
2.3.2、选中模型文件,在 Inspector 面板下的 Materiais 选项中,把 Location 调整为:Use Extemal
Materials (Legacy),设置后点击右下角 apply 按钮,unity 会自动生成 Materials 文件夹,模型的材质
会放到里面。(模型资源需要自带材质和贴图,若没有则重新找资源或者自行查看相关教程)

2.3.3、将模型文件拖到 Hierarchy 面板的 tank 预制体下,模型文件会显示在 Scene 窗口的场景里。 之


后删除 tank 预制体下的 Prefab_housing 的模型,只保留新增模型文件。
(如果没有 Scene 窗口,可通过路径<菜单-Window-General-Scene>来打开)

2.3.4、如果模型文件在场景中没有贴图,则点击 Hierarchy 面板下的模型文件,在 inspector 面板下找


到对应材质,点击左下角的下拉箭头打开贴图界面,将 Project 中的贴图资源,拖拽到 Surface Inputs
下的 Base Map 左侧方框
2.3.5、(选做)在 Hierarchy 面板中 CellSize 节点下的模型与游戏内 4*4 格大小相同,可以作为参考调
整新增模型尺寸。 选中 tank 预制体下的新模型文件,在 Inspector 界面下的 Transform 面板的 Scale
中调整尺寸大小。(unity 以 m 为单位,游戏中的每 2.5m 为一格)

2.3.6、修改 tank 预制体名称(可自由修改,但必须英文且无特殊符号),之后将 Hierarchy 面板中新命


名预制体拖入 Assets/AUpdateRes/Model/Building 中任意位置。双击新命名预制体文件,如果在
Scene 面板下显示则文件正常。(显示贴图可能需要一点时间)
2.3.7、完成所有资源编辑后打包资源,在 Project 面板下的 AUpdateRes 目录下空白区域点击右键, 选
中菜单的 Settlement Survival BuildCMD/BuildAllRes 开始打包,可以在 mod1 文件目录查看。
(进度条读取会有间隔,请等待全部打完,资源越大时间越久)

2.3.8、根据自己要修改的模型,调整配置文件后可以进入游戏测试
示例:复制 Building.xml 文件到 mod1 文件夹的 zipConfig 中。修改 Building.xml 中<住宅>的
<ModelsList>下的模型路径。

2.4、标准版资源修改
2.4.1、导入资源(参考 2.3.1 简易版教程)
2.4.2、把模型文件的 Location 调整为:Use Extemal Materials (Legacy),设置后点击 apply 保存,
unity 会自动生成 Materials 文件夹(参考 2.3.2 简易版教程)
2.4.3、在 Project 面板下找到新增模型资源的 Materials 文件夹,选中所有材质后点击右键,选中菜单
最下方的 Settlement Survival BuildCMD/CastHDRToBuild_Mat 将模型原有材质转化为游戏所需材
质,原有材质会消失。

2.4.4、生成的材质的存储路径为 Assets/ AUpdateRes/ MatBuild。生成的材质的编号从 4 开始,新


增材质编号递增,相同编号的材质为同一个模型的材质。(建议多个模型使用同一个材质,减少性能消
耗)
⚫ Snmat4Normal 建筑正常状态的材质
⚫ Snmat4Trans 建筑建造阶段的材质
⚫ Snmat4Bronken1 建筑损坏阶段的材质
⚫ Snmat4Bronken2 建筑摧毁阶段的材质

2.4.5、将模型文件拖到 tank 预制体下,修改 tank 名称后拖到 Project 面板下的 Assets/AUpdateRes/


MatBuild 目录(参考 2.3.3~2.3.6 简易版教程)
2.4.6、(选做)如果要实现建筑在建造过程中模型逐渐变化的效果,需要 3 个预制体,通过名称后缀 p1
p2 p3 进行区分。如果没有准备 3 个模型,可以 Ctrl+D 复制 2 个。
(zipConfig 配置文件中不需要带 p1 p2 p3 的后缀)

2.4.7、(选做)如果要实现建筑的选中变色效果,需要在 Project 面板下的 Assets/AUpdateRes/


MatBuild 目录下新增 3 个材质球:selBuild4、selType4、workBuild4
⚫ 新增材质球方法:选中 snmat4Normal 材质球后 Crtl+D 复制 3 个材质球并改名
⚫ 选中材质球,在 Inspector 面板下选中_BaseMap 区域和 SnowTex 区域,按下 delete 键删除贴图
(3 个新增材质球都要删除贴图)
⚫ 选中材质球,在 Inspector 面板下选中 Color 区域打开颜色界面,在 Hexadecimal 中输入颜色,
selBuild4 对应 53EDF8,selType4 对应 94CBEC,workBuild4 对应 3EE08D
2.4.8、(选做)如果要修改其它自定义材质,需要保留原有材质名称替换掉原有材质。路径在
Project/Assets/AUpdateRes/Mat 中。
2.4.9、打包资源(参考 2.3.7 简易版教程)

2.5、新增图片和音乐
2.5.1、将新增图片或音乐资源存放到下图所示目录中,修改对应 xml 文件配置。如果是替换资源需保留
原有资源名称。
2.5.2、如果图片资源带有透明通道的,需要选中图片后在 Inspector 面板下将图片类型(Texture
Type)调整为 Sprite(2D and UI),点击 apply 保存设置。

2.5.3、打包资源(参考 2.3.7 简易版教程)


附录:资源处理命令说明
BuildAllRes 打包所有资源 第一次必须用这个生成版本号
BuildSelectRes 仅打包选中资源
ShowResVerson 显示当前版本号 对比更新用。
CastHDRToBuild_mat 转换选中的 hdl/lit 类型材质到 建筑的 4 中状态材质

场景物件命令:转换到建筑的 4 种状态显示,,用于提前查看各状态效果
Settlement Survival Test/SwitchToNormal
Settlement Survival Test/SwitchToTrans
Settlement Survival Test/SwitchToBronken1
Settlement Survival Test/SwitchToBronken2

命名规范:打好的资源的位置,是在项目中 Aupdateres 下 BuildConfig 文本中填写的路径,名称会自


动 取消斜杠、自动转化为小写、自动忽略后缀
比如 UIIcons/BuildIcon/Icon_building_103.png
打包后资源会转换成 uiiconsbuildiconicon_building_103
所以不能有出现相同名字,不同后缀的资源,识别不了后缀。

You might also like