1211更新后,暂时(也可能是永远)无法使用负坐标来制作补丁,原有的深渊地图补丁几乎全军覆没。
尝试过使用原本的思路修复,但会产生上下分层、过图时黑块穿帮等问题,强迫症震怒
本帖提供一种修复/新制作地图类补丁的思路,抛转引玉,如果大佬有其他思路可以交流。
联动成品贴:
深渊地图改日落沙滩
前提:
原素材取自游戏内tile文件的地图补丁,几乎可以完美修复。
原素材取自其他游戏/番剧/自制素材的补丁,修复难度较大(主要是花费精力处理接缝),本帖也会提供思路。
一、准备工作
1. 需要你掌握PS的基本功能,地图补丁90%的时间是在PS里操作的。
2. 认识tile地图块
简单来说,DNF的局内地图都是由tile一块一块循环拼接成的,你可以理解为组成整张地图的积木/拼图。
想要深入了解的话可以搜tilemap,这里不过多拓展。
只需要知道,它最重要的特性就是:首尾无缝衔接、无限循环。
具体到深渊地图,表现是这样的:
(012)(012)(012)往右铺开,无限循环
。
而且视觉上它们是“无缝”的。
完美修复的关键就在于我们也要在(012)这个循环里实现视觉上的“无缝”。
二、确定画布大小
当前深渊无缝地图画布为:
高:700
宽:672
深渊地图的tile共3帧,每帧宽度224
即整个循环的宽度为224*3=672
所以我们要用手头上的素材手搓出宽度672的循环地图,替换到
sprite/contents/2025/discipleofdoom/map_normal/tile/tile.img的0帧,隐藏这个img的1、2帧
再隐藏tile_ex01.img+tile_ex02.img贴图,就能实现无缝地图。
(不让用负坐标,那选坐标在最上方的tile.img往下延伸画布就行)
三、寻找素材,开始拼地图
1. 找素材
老补丁修复的话这里不多谈。
新制作补丁的话,推荐直接从游戏里搜带tile关键词的文件找素材,后面会轻松很多。
否则你可能需要额外解决很多问题来实现循环地图。
2. PS新建画布,2000*700
把你搜刮的地图素材丢进去,先拼个大概
(我把各个图层错开放一些,能看出来有4个图层)
3.确定原素材循环宽度,调整为672循环宽度
以上面的地图为例:
1、2层素材取自
sprite/map/town/05_hendonmyre/tile/2019_summerfestival/s_backstreet_tile.img
sprite/map/town/05_hendonmyre/tile/2019_summerfestival/tile_sunset.img
都是游戏内原有tile文件,宽度为224*2=448
3层素材取自
sprite/map/town/05_hendonmyre/background/2019_summerfestival/s_backstreet_middle.img
不是tile,宽度1004,但实际上可循环
4层素材取自
sprite/map/town/05_hendonmyre/background/2019_summerfestival/s_backstreet_far.img
不是tile,宽度504,但实际上可循环
四、分块调整为672循环宽度
大致思路是:
原素材可循环,那缩放最简单
原素材不可循环,那就复制一份往右平移672px,然后用手绘/抠素材遮挡/AI重绘等方法处理接缝
1. 直接缩放
1、2层原来的宽度都是448,可以合并在一起处理
有两种选择,一种是448→672(放大),还可以选择448*2→672(缩小)
比例上也可以保持高度不变,或者选择宽高整体缩放
注意:拿2个循环直接缩到672,游戏内会出现“合模线”类型的瑕疵

↑ 比如这样,最后导入游戏就会有瑕疵
为了避免出现瑕疵,建议选择多复制一个循环,缩放后从中间任意部分手动截取672宽度的素材:

(比如这里用4个循环先缩放到672*2)

(然后再从中间随便一个位置截取672宽度的素材,都是能完美循环的)
2. 手绘修补
适用于素材即使不“严丝合缝”,但是大致对得上的情况。
或者素材缩放会导致比例失调/难看的情况。
比如第3层的沙滩,缩放的话伞的比例就失调了,我们就当成不可循环的素材来处理:
直接复制一份右移672px,接缝处是这样的:
可以看到海面是能对上的,不用处理。
沙滩部分有轻微瑕疵,但是颜色比较相近。
不管是用笔刷自己涂,还是用蒙版半透明一下,效果都还算可以接受。
3. 找其他素材遮挡
适用于地图装饰较多、好抠,且高度能挡住接缝的情况。
还是以第3层举例,这是复制+平移672px得到的接缝。
把右边这部分伞的完整素材抠下来,正好可以遮挡接缝。
4. AI局部重绘
(懂的都懂,不懂的教程一搜一大把,注意框选接缝左右范围可以适当大一点,效果不好的话改一下重绘权重
我账号没点数了就不演示了

五、导入NPK,完成
做好的672*700素材,导入
sprite/contents/2025/discipleofdoom/map_normal/tile/tile.img的0帧,隐藏1、2帧。
坐标(0,138)
隐藏tile_ex01.img+tile_ex02.img贴图,隐藏其余地图装饰、光效贴图,完成。
当然你还可以用地图装饰做点别的小部件,比如椰子树和太阳啥的,这点就随意啦