饥荒联机版Mod开发——准备工具
- 前言
- 工具下载
- 工具功能和使用
-
- 动画
-
- c_start:反解压动画
- Sprite:制作动画
- 打包工具:把动画再打包回去
- 贴图
-
- TEXTool:查找/反解压tex
- texcreator:把常规图片转为tex
- XML
-
- XmlNotepad:查看,修改XML
- 搜索
-
- 检索文件升级版:查找关键词
- 练习Lua
-
- ZeroBraneStudio
- 其他软件
- FMOD、Sound:音频制作
- Tiled:地皮
- 传送门
前言
本系列教程讲一步步指引你进行饥荒联机版Mod的开发,首先你要有饥荒联机版,推荐是steam的,有自动打包工具。如果没有也不要紧,下面准备的工具也可以实现同样的功能。
工具下载
饥荒联机版开发
https://pan.baidu.com/s/1_-TPRdo86z8PNwK084N_3A?pwd=oc74
(TexTool,可用TexTool_new代替,那个可以当快捷打开方式)
左边的modmaker就是需要用到的工具,请把它解压到英文目录下。右边是当初群里的教程,样板和我的笔记。不懂的地方,进QQ群 557963863 交流请教大佬们。
如果是steam的,下官方的Don’t Stave Mod Tools,自动化打包,贴图转换。
工具功能和使用
steam的是Don’t Starve Together,wg是饥荒联机版,自己去对应路径找文件,下面以饥荒目录代称。
动画
c_start:反解压动画
文件位于ktools/kttos-4.4.4/c_start.bat,在运行前需要把动画相关文件放到同级目录下,然后运行c_start.bat,按Tab选择输出文件夹,回车确定。
官方动画在 饥荒目录\data\anim 下面。
一般播放动画的代码就是下面这些,各种对应的参数,在上图找。而文件夹名字,图片名字不影响这些代码。
inst.AnimState:SetBank("beardhair") --sprite打开第一层名字,绿字旁边的红字inst.AnimState:SetBuild("beardhair") --scml名字,顶部inst.AnimState:PlayAnimation("idle") --播放动画,sprite打开第二层名字名字,绿字
同时,坐标的x, y对应图片的位置,就算那个图片红色的锚点改变了,只要x,y不变还是会出现在同样的地方,哪怕图片变了。物品栏的x,y设为0。angle随便改就行。
Sprite:制作动画
文件在Spriter/Spriter.exe。
建个文件夹,名字叫rootname,在里面建个文件夹叫foldername,在里面放图片,图片大小任意。(这些名字其实无所谓,不影响到代码。而且rootname,foldername一般和prefab名字一样。图片名是 xxx-序号)
打开Sprite,点击 File->New Project,选择rootname文件夹。遇弹窗直接Ok就行。
首先,先设置图片的锚点,双击右侧的文件夹里面的图片。选择合适的锚点位置。
同理设置第二张图的锚点,当然用上面的复制粘贴锚点更快
把第一张图拖进屏幕,坐标的x,y设为0(其实就是锚点的坐标)
到这里静止的物品放地上的动画就完成了。
保存为想要的名字就行。
刚才的的 scmlname,对应 inst.AnimState:SetBuild的参数
右边的entity_000,对应 inst.AnimState:SetBank的参数
下面的NewAnimation,对应inst.AnimState:PlayAnimation的参数
一般scmlname、entity_000都和prefab名同,NewAnimation一般是idle
inst.AnimState:SetBank("entity_000") --sprite打开第一层名字inst.AnimState:SetBuild("scmlname") --scml名字inst.AnimState:PlayAnimation("NewAnimation") --播放动画,sprite打开第二层名字名字
如果做“会动”的动画,改变动画总长度。单位:毫秒
在下面时间轴选择另一个时间点
或者改这个也行
在图片上长按右键,选择图片二,或者移动/旋转图片一,都行。看想做什么动画
点播放看看效果,合适就保存。
打包工具:把动画再打包回去
文件在打包工具/打包工具.exe。
我们之前的rootname文件夹,复制到打包工具\mods\mymod\exported中
运行打包工具,勾选mymod,然后打包,当提示打包成功时,去到打包工具\mods\mymod\anim 文件夹下就可以看见打包好的压缩包了。
如果是steam的官方工具,把文件夹放到 exported 文件夹里,会帮你自动打包并保存在anim文件夹里,当修改后也会重新生成。
贴图
TEXTool:查找/反解压tex
文件夹在Textool 1.4.1/TEXTool.exe。双击打开TEXTool.exe,点击左上角的Open,来到饥荒目录/data下,随便找张tex打开就行。这里为方便后面讲解,打开data/image/anr_sihouetees.tex
然后点击Save,输入文件名和后缀(如: anr_sihouetees.png),转成常见的图片格式(一般我们都转png)
同时,最下面有相关参数
texcreator:把常规图片转为tex
文件在Textool 1.4.1/texcreator.exe。
有大多数图片有尺寸要求的,如 modicon、inventoryimages等,可以先用TEXTool把官方/其他mod的tex转为常规图片(一般是png),用ps等软件修改后,再texcreator转回去。
观察TEXTool下面的参数,发现Minmaps基本都大于1的,所以这里要第一个选项勾上
这样我们就得到了tex,不过我们还需要个xml文件来说明tex(看下一步)
如果下了steam的官方工具,直接把 .png 文件放到文件夹里面,会自动生成tex和xml,当修改时也会重新生成。
XML
XmlNotepad:查看,修改XML
文件在XML NOtepad 2007/XmlNotepad.exe。
在上一步我们得到了tex,但我们还需要个xml。有些tex是把一堆图放到一张图里的,所以对应的xml也比较复杂(就像这个例子一样)。
打开饥荒目录/data/images/anr_silhouettes.xml(xml名字和tex名字对应)
代码中常见的texname就是Element中的name,而xml就是对应的xml。其中
左下角是坐标原点
0.0 <= u1 <= u2 <= 1.0,表示x轴 (→)
0.0 <= v1 <= v12 <= 1.0,表示y轴(↑)
这四条直线框起来的就是对应的图。
不过一般我们都是一张图而已,把对应的xml复制一份,重命名xml后,打开xml,把里面的filename和name改了就行。
搜索
检索文件升级版:查找关键词
文件在搜索文件升级版/检索文件升级版.exe
下一期会出用VS Code的来配置代码开发环境,那里也有全局搜索和这个软件看情况来配合用。
在使用前要先配置下地址.txt。首先我们去到饥荒目录/data/databundles中把scripts.zip解压,然后修改地址.txt里对应地址就行。
然后运行软件,类型选 lua ,输入要查找的内容即可。
如果要直接修改代码来改变游戏,把scripts.zip解压到饥荒目录/data中,形成饥荒目录/data/scripts, 而不是饥荒目录/data/scripts/scripts。并把饥荒目录/data/databundles中的script.zip重命名,我们就可以直接修改里面的代码来改变游戏。不过不建议新手这么干,容易暴毙。
练习Lua
ZeroBraneStudio
文件在ZeroBraneStudio/zbstudio.exe。
在此之前推荐先看*【MOD制作教程及材料】/lua_语言说明(非常重要).doc和Lua程序设计(第2版)中文(全).pdf*
打开软件,输入下面代码,按F6运行。
print(“Hello World”)
其他软件
FMOD、Sound:音频制作
Tiled:地皮
传送门
→饥荒联机版Mod开发——配置代码环境(二)