饥荒人物贴图制作教程

您所在的位置:网站首页 饥荒贴图重影 饥荒人物贴图制作教程

饥荒人物贴图制作教程

2024-06-22 01:29| 来源: 网络整理| 查看: 265

本文章适用于2023年steam饥荒单机版与联机版人物mod的贴图制作,可能不适用于Klei的其他游戏。

工具与技术栈

1. 作图工具

能够熟练使用以下的一款软件:Photoshop、Krita、SAI、GIMP、Painter、Animate等等。

能够手绘或鼠绘(真的有人会吗)或使用数位板或数位屏

能够理解图层的含义,会使用图像批处理

2. 脚本

会使用python(当然你会java、c++之类的也行)对图像进行裁剪、放缩

会使用python遍历文件目录

3. 饥荒专用工具

会使用官方给的autocompiler.exe,或者你自己运行scml.exe和png.exe和一些脚本

会使用官方的python2.7版本运行官方脚本buildanimation.py

4.查看压缩包

能够压缩与解压zip文件

5.查看贴图

能够使用ktools或ztools等程序将tex转换为png,并反过来转换

能够使用textool或tex explorer直接查看tex文件

流程1:提取官方动画与贴图

贴图找到饥荒动画文件夹C:\Steam\steamapps\common\Don't Starve Together\data\anim,使用软件搜索wendy.dyn,解压出atlas-0.tex。当然你也可以用wendy.zip,则不需要再去找build.bin

贴图2打开压缩包C:\Steam\steamapps\common\Don't Starve Together\data\databundles\anim_dynamic.zip,使用软件搜索wendy.zip,解压两次得到build.bin

动画搜索player_,任意找一个zip,解压出anim.bin

anim.bin+build.bin+atlas-x.tex,三个(或者四五个)文件放到一个文件夹,用krane.exe提取出scml工程文件

流程1:下载现成的模板文件

打开steam创意工坊,搜索extended sample character或者使用我提供的animation template。订阅mod,找到mod文件(提示:在mods/或322330/里面,可直接搜索id),然后把相应的整个工程都复制到你自己的文件夹里,然后取消订阅。

流程2:下载现成的全套mod文件

打开创意工坊,找一个你喜欢的mod人物,订阅,然后把整个mod文件夹复制到你的文件夹里。此处推荐一些比较标准的mod:Charlie: Stranger Newer Powers(查理,带皮肤),Whimsy the Disoriented(作者是Klei论坛里知名的专画薇洛的坛友)、Hamlet Characters -Fixed and Reporked(哈姆雷特专属人物搬运)。

如果你使用的是我的模板,那么你可以去https://github.com/ZzzzzzzSkyward/dst-mod-mia,转到relics看一下我的工程。

流程3:制作人物贴图

注意事项

1.不能修改Spriter里的动画,因为人物动画是官方定死的,你不可能去改官方动画来迎合你的贴图

2.你可以打开scml文件,修改一张图片的x和y,这个坐标是图片中红点(pivot)的比例坐标,其中pivot_y=1-y,以左上角为原点。这个红点是图片的旋转与放缩中心。

3.如果你想要扩大画布,一种标准的方法就是,根据红点位置,以它为中心扩大画布,保持图像的相对位置不变。但是这个操作在Photoshop里是做不了的。一种变通的办法就是先用Snipaste截个图,然后对着截图在屏幕上调整图像的相对位置,以保证扩大画布后图像相对红点的位置不变。但是这样还是太麻烦了,所以你可以用python处理一下

操作演示

打开文件编辑器,找到你要的图片

此处为swap_hat-0.png

写一个脚本,把图片放大为2倍

命令行运行脚本python expand.py swap_hat\swap_hat-0.png 0.532374 -0.403497

放大2倍的结果

4.平移画布。如果放大解决不了问题(比如上图里,放大之后图片超出了边框),一般就需要平移。你不可以在Spriter里直接移图片,但是你可以编辑scml文件里的pivot。一种可视化编辑方法是,首先用Snipaste截图,以锚定红点,然后在Spriter里平移图片。完成后,需要恢复红点位置,此时缓慢挪动红点,把它挪回原位,这时,右键override default pivot覆盖红点坐标,然后双击画板里的图片打开红点编辑器,查看xy坐标。计算pivot_x=x,pivot_y=1-y,修改scml文件保存。不保存退出Spriter,重新打开scml文件,就可以看到平移完成的结果了。

图片随便动,务必保证红点不动

同样可以写一个脚本,把红点平移到(0.5,0.5),如此一来你就可以直接以中心点为原点放缩画布,这在Photoshop里是可以操作的。

(我想你知道怎么用它来批处理吧,不会批处理可以问问GPT)

5.正确地绘制面部。你可以在Spriter右侧的画板里查看素材。面部是人物贴图里数量最多,最难分辨的一个符号。以下是我在Krita里的图层。你需要重点查看几个表情动画(emote)。

6.删除不必要的符号。当你的人物没有尾巴时,你可能会把尾巴图片全变透明,但其实你完全可以删掉尾巴文件夹。删除文件夹后,你打开Spriter,对每个缺失的图片按shift+delete,把对应的图层删光。

7.更新图片大小。当你修改任何一张图片的尺寸后,都要另存为一次(save new project)。因此建议你在正式导出之前,另存为一次。

8.正式导出。如果你使用的是extended sample character,那么建议你裁剪一下图片。由于裁剪会改变图片尺寸,你不仅要修改红点坐标,而且要重新保存一次scml。之所以要这么做,是为了避免图片过大导致导出时出现bug,同时也是为了节省存储空间。我提供了cropscml.py以方便地裁剪一个scml的所有图片。

9.删除anim.bin。如果你使用的是我的animation template,务必删除zip里的anim.bin,以避免同名动画文件覆盖官方动画,同时节省存储空间。

流程4:制作杂七杂八的贴图

现在你应该有如下文件:

modicon.png,大小128x128足够了

names_xxx.png,names_gold_xxx.png,这俩一样都是金色的

avatar_xxx.png,avatar_ghost_xxx.png,self_inspect_xxx.png

一张存档贴图saveslot_portraits/xxx.png

一张选人贴图selectscreen_portraits/xxx.png

一张小地图贴图xxx.png

什么?你不知道从哪里找这些图片?搜索官方文件夹,或订阅任意人物mod,或extended sample character模板,使用ktech等工具即可得到所有图片

注意事项在视频https://www.bilibili.com/video/BV1QX4y1d76r/ 里有提到,需稍微编辑一下xml

流程5:进游戏

使用ktech.exe、autocompiler.exe等,把你做好的贴图全部导出为tex、xml和zip文件。

什么?你不知道xml文件从哪来的?建议查看https://www.bilibili.com/read/cv21780377 里面github仓库的工具使用说明

然后根据上面视频,按部就班把mod组装完成。

订阅Mods In Menu,启用它,在MiM Mods里面启用你这个mod

如此一来,你就可以在衣柜里看到你的角色了。

附录:新的python工具合集

由于Jerry在写一套新的编译工具,所以我也加了一个命令行调用的接口。没有写完。下载地址:https://github.com/ZzzzzzzSkyward/DSTmodutils/blob/master/pyscripts/cli.py,你至少需要下载整个pyscripts文件夹才能使用,而且你还要手动指定ktech.exe的位置。

目前支持的功能:

build.bin和build.xml互转

anim.bin和anim.xml互转

*.zip和*.scml互转

没有anim.bin的zip转换为图片,但是没有scml

*.tex和*.png互转,额外输入-xml则生成一个xml

*/*.png和*.xml与*.tex互转,即批处理。需要指定stex.exe的位置

scml工程文件夹转zip,只会转换识别到的第一个scml工程文件

scon文件插值

scml文件裁剪并自动计算新的坐标

示例:

更新:新加了一个网页播放器。由于Spriter不支持斜切变换,转换出的动画会和游戏里显示的不同。因此我又写了一个能播放json文件的网页(json文件可以用Jerry的工具导出)。

预览:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3