Left 4 Dead 2/求生之路2准星MOD制作与发布到创意工坊全记录

2016-01-16 15:42:11 SteamL4D2

由于L4D2的准星中心没有点,这在瞄准时很不方便。查找创意工坊,发现有类似的MOD,例如这个十字准星,但是太粗太大了,用起来很不爽。

想自己做一个,但是完全不会啊,怎么办呢?改别人的!事实证明只是改的话并没有很难。

国内的资料很少,我找了很多地方,包括官方文档和youtube视频等等,最后知道了整个制作方法。现将过程记录如下。

我制作的准星MOD链接在此

工具准备

  • 在Steam工具中下载安装Left 4 Dead 2 Authoring Tools。安装后会在Steam\steamapps\common\Left 4 Dead 2\bin下多出一些工具,我们主要用的是vpk.exe,可以把文件打包成vpk格式文件。

  • 下载GCFScape,这是下载页面。可以打开gcf文件和vpk文件。在这里我们主要用于对vpk文件解包。其实vpk.exe也可以解包,命令是vpk <vpkfile>,也可以使用拖动的方法,后面会说。

  • 下载VTFEdit,这是下载页面。用于打开和生成vtf文件。

  • 其他辅助软件,例如PS。

文件格式介绍

  • vpk文件(Valve Pak):对游戏素材脚本等文件进行打包(但不压缩)。有点类似于iso的感觉?

  • vtf文件(Valve Texture Format):vpk中用到的图片都必须转成这种vtf的纹理格式才能用。

制作过程

订阅文件

先在创意工坊订阅别人的MOD,等待下载完成,再进游戏,等待游戏处理下载的文件。处理完成后会在Steam\steamapps\common\Left 4 Dead 2\left4dead2\addons\workshop生成vpk。

观察文件结构

使用GCFScape打开vpk文件,将root文件夹拖出,这样就提取出了vpk文件。

观察文件结构,并打开文件尝试,我们很容易知道:

  • addonimage.jpg、addonimage.vtf、addoninfo.txt是让制作者描述这个MOD的,完全不影响MOD的行为。

  • altcrosshair.vmt是Valve Material Type,别人已经写好了,不用修改。

  • altcrosshair.vtf就是准星的纹理文件了,需要我们修改。

  • hudlayout.res是描述素材的一个文本文件,包括坐标,大小,缩放等等信息。

修改准星图案

使用VTFEdit打开altcrosshair.vtf,并Export出tga图片。(其他格式也可以)

使用PS修改tga图片。需要注意的是,tga格式有一个Alpha通道,需要单独编辑。所以即使把图片修改成透明的,再重新保存成tga后,透明的那部分也会变成白色。所以我们无须理会RGB通道上准星以外的部分是什么颜色,只要Alpha通道上那部分是黑色的,就是透明的。需要显示的那部分的Alpha通道是白色即可。

注意:在后续更新中发现,使用tga格式图片且背景也是准星方格的颜色(即整张图都是这种颜色),比背景为白色(tga透明会被转为白色),实际显示的颜色受缩放的影响更小一些。因此建议使用tga图像且用全纯色,使用Alpha通道选出准星图案。下图是之前制作时的图。

把图片改成64x64的,这样容量比较小。再修改准星的形状和颜色。

搞定之后,保存为tga格式图片。

其实这里完全可以自己新建一个图片出来,不用改别人的。而且,也不是一定要tga格式。也就是说,可以直接用PS新建一个64x64的图片,把准星图案画好,把其他地方变成透明的,最后保存成png格式即可。

生成vtf文件

使用VTFEdit,点击Import,导入刚刚生成的tga/png图片。在弹出的VTF Options直接点击OK。然后点击Save As保存成vtf文件并替换旧的altcrosshair.vtf。

修改参数

使用文本编辑工具打开hudlayout.res,其实我们要修改的就是这部分内容:

xpos和ypos分别表示纹理图片左上角的坐标。其中的c表示屏幕中央的坐标。

wide和tall就是纹理图片的宽和高了。scaleImage表示是否缩放图片,如果不缩放,wide和tall参数就不起作用。

这里有个问题:

  • 如果不缩放图片,准星的xpos和ypos相对屏幕中央单位距离产生的偏移值与分辨率有关。即使在某一分辨率下使用了某偏移值使准星到了屏幕中央,换个分辨率位置又变了。我也试过把2x2的像素点放到图片左上角,这样就不需要调偏移值了。但是由于2x2像素点的左上角在屏幕中央,所以会有x和y各会有1像素的偏移。

  • 如果缩放图片,则需适当调整wide和tall值,我无从得知到底缩放了多少,所以只能在实际测试中不断调整。此时xpos和ypos就与wide和tall单位距离相等了,因此令xpos=c-wide/2, ypos=c-tall/2即可。即使这样,这么做还是有缺陷。在某一分辨率下调整到最佳后,在其他分辨率上可能会有一点点的不同。

这个问题我还没有找到最好的解决办法。

经我测试,把参数调成上图中的那样,在1920x1080的分辨率中可以达到最佳效果。

打包成vpk

使用vpk.exe进行打包。命令是vpk <directory>

不过有个更简单的方法,就是拖动。先给vpk.exe创建一个快捷方式,然后如图拖动即可。

发布

在Steam中运行Left 4 Dead 2 Authoring Tools,点击Workshop Manager,点击Publish New Add-on。

填写相应内容。Title、Description、Visibility之后都可以直接在网页中修改,其他必须在Workshop Manager中修改。

注意:

  • Preview Image的比例必须为640:360也就是16:9。虽然在创意工坊中显示的是200x200的图片,但是如果不用16:9,也会被裁剪成16:9,即使在方形区域内显示16:9的图片会有黑边。

  • Description出现的非英文字符在提交之后都会变成问号,不过我们可以在网页中手动修改。

在提交完成之后,会自动在浏览器中打开刚发布的创意工坊页面。

我们可以点击“编辑标题与描述”,为不同语言的Steam用户编写不同的Description。在Workshop Manager中提交的Description会被认为是英文。

点击“添加/编辑图片与视频”可以增加预览图。


至此,制作和发布就完成了。

喷漆制作

在了解了整个制作过程之后,我们还可以做一些其他的事情,比如制作喷漆。

制作喷漆的原理很简单,就是制作vtf文件,然后在游戏中打开选项--多人联机--导入喷漆图案,选择制作好的vtf文件即可。

需要注意的是,喷漆的尺寸通常是64x64、128x128、256x256、512x512。如果喷漆中有需要透明的部分,那么在导入VTFEdit时就得用支持透明的图片格式,例如PNG。如果想要做动态喷漆,得把动态图每一帧导出来,再一次性导入VTFEdit,即点击第一张图片,按住Shift,点击最后一张图片。

想看详细的制作步骤或者其他喷漆的制作方法,例如远近变化喷漆,可以看落子的视频

如果长时间无法加载评论,请对 *.disqus.com 启用代理!