Wallpaper Engine:壁纸引擎

Wallpaper Engine:壁纸引擎

539 个评价
如何去除不需要的特效
由 北美鱼塘主 制作
Wallpaper Engine中有很多好看的Scene,但是大部分作者会在制作时加入一些粒子特效或者动态效果。不可否认有些使得图片变得更有吸引力,但是有些却并不能符合所有人的审美。
此篇指南目的在于帮助用户掌握手动消除粒子或动态特效的办法。后期会继续更新一些新特效的修改方法。
推荐使用的编辑软件是notepad++,免费开源文字编辑软件,特点在于不会改变文字的格式,这点在操作中非常的重要。
如果有其他的问题也可以随时留言。
品牌图面来自Dota2著名插画作者木木爱画画,版权为他所有,侵删。
15
2
2
   
奖励
收藏
已收藏
取消收藏
如何去除不必要的特效
有人之前就已经写过英文版的去除办法,亲测是有效的,现在再分享一下。
首先需要一个文字编辑软件,推荐的是notepad++,因为word或者自带的notepad有可能会改变文件内容的格式。
1. 在软件内选择你想修改的背景图(暂时只支持修改scene),
2. 右键选择“在资源管理器中打开”
3. 选择文件后缀位pkg的文件,右键用notepad++打开
4.文件中会有可读的英文部分和不可读的乱码部分,乱码部分不用在意,关键在代码部分。
5.推荐最简单的方式是使用Ctrl+F搜索 “maxcount” 最好将引号也带进去否则可能会搜索到不需要的内容
示例如下:
"material" : "materials/presets/snowperspective.json",
"maxcount" : 500,
"operator" :
其中material就是各种特效,有下雨(rain)闪电(lightning)等等,此例为雪花(snow)。
6.示例中的maxcount代表此特效在这张场景中存在的数量,所以将其修改为0就可以取消此项特效
7.<strong>特别强调<strong> 因为场景是提前加载如内存的,所以直接修改数字会存在找不到内存内容的错误,所以必须要保持数字长度的一致,此例中数字是500,我们要修改成000. 如果数字是20,则修改为00.以此类推。
8.以上为删除粒子特效的方法,因为scene中还存在其他特效,比如说类似旗帜的特效,修改办法如下:
打开文件后搜索 “"ui_editor_properties_animation_speed" : 0.00,” 将数字修改为0,注意同样要保证数字位数的一致。
9 暂时只发现和修改了这两类,如果还是其他发现我会写在评论中的。ːsteammockingː
如何去除动态效果
补充一条吧,有一种scene是类似于旗帜的样式但是并没有使用旗帜特效,使用的是json文件本身的属性,所以需要修改的是文件中拥有的“passes”内容项中的
"constantshadervalues" :
{
"Speed" : 0.40000000596046448,
"Strength" : 0.1
},
其中speed是旗帜图像摇动的速度,可以用同样的方法修改为0来取消运动,strength是旗帜图像摇动的幅度,修改为0同样可以使图像静止。
如何去除X-ray效果
这次分享两项内容,一个是X-ray效果,还有一个是类似模糊的效果。两者的区别是,x-ray效果基本上是两张图片,一张是正常的,一张是隐藏在x-ray透视效果下的。模糊效果则一般为一张图片,只是增加了一个叫做“blur”的特殊效果。
1.如何去除X-ray效果。
X-ray效果一般都出现在R18的作品上,一般会标明X-ray或者NSFW之类的。去除方法如下:
1.像去除其他效果一样的右键壁纸,选择资源管理器打开,右键.pkg文件,使用notepad++打开
2.接下来存在两种情况,根据我之前说的,X-ray类的壁纸一般是两张图片,如果你希望的到透视的图片,那么找到:
{
"file" : "effects/xray/effect.json",
"passes" :
[
{
"constantshadervalues" :
{
"ui_editor_particle_element_exponent" : 0.0
},
"textures" : [ null, "dva nsfw", "particle/halo_6" ]
}
],
将其中的"ui_editor_particle_element_exponent"改为0.0即可。
3.如果你希望的到非透视的原图,那么需要做的是两步,第一,还是这一段:
{
"file" : "effects/xray/effect.json",
"passes" :
[
{
"constantshadervalues" :
{
"ui_editor_particle_element_exponent" : 0.0
},
"textures" : [ null, "dva nsfw", "particle/halo_6" ]
}
],
"username" : "",
"visible" : false
}
将"visible" : true 改成 false; 第二,因为这类文件对于内容的字符位置很敏感,所以需要将"visible" : false
}这里的这个 “}” 的位置进行调整,具体就是向前挪动一个CapsLock,也就是4个空格,notepad++会自动帮你把所有的括号位置对齐,所以你需要做的就是将光标放在这个 “}” 前,然后按下backspace 一次。
如果失败的话不要紧张,可以选择删除重新下载,或者修改回之前的状态然后再进行尝试。
如何去除模糊效果
接上文的去除x-ray效果,另一种效果是模糊效果。去除方法类似,而且更简单。
同样是使用notepad++打开scene.pkg文件,在文件中找到:
"file" : "effects/blur/effect.json",
"passes" :
[
{},
{
"constantshadervalues" :
{
"ui_editor_properties_scale" : "0 0"
}
},
{
"combos" :
{
"VERTICAL" : 1
},
"constantshadervalues" :
{
"ui_editor_properties_scale" : "0 0"
}
},
将两处"ui_editor_properties_scale"全部改成0.0即可。


如何水平或垂直翻转
如果需要对图片进行水平,垂直或者其他角度的翻转,也可以通过修改scene.pkg文件进行。
首先还是使用notepad++之类的文字编辑器打开,在文件中找到
"objects" :
[
{
"angles" : "0.000 9.000 0.000",
"colorBlendMode" : 0,
"copybackground" : true,
"id" : 12,
"image" : "models/[迪丽热巴]1080P(3).json",
"name" : "[迪丽热巴]1080P(3)",
"origin" : "960.000 540.000 0.000",
"parallaxDepth" : "1.000 1.000",
"scale" : "1.200 1.000 1.000",
"size" : "1920.000 1080.000",
"visible" : true
},
为了保证修改的是中却的文件,请一定确认"image" : "models/[迪丽热巴]1080P(3).json", 这一行的内容是原始图片而不是某一种特效。
其中要做的修改为两处,第一是”angles“, 第一个数字代表垂直翻转并且缩放的程度,比如数字1将会垂直翻转并且缩放到10%,9则是垂直翻转并且缩放到90%。 如果修改的数字大于10则会按照个位数计算,也就是说11和1是一样的效果。同时,数字每增大1就代表多翻转一次,也就是说1是上下颠倒,2则在1的基础上再次翻转,所以方向变为和原图一样,所以翻转的数字基本应该为奇数。
第二个数字代表水平翻转和缩放程度,第三个数字则是顺时针翻转和缩放。可以根据需要进行各种组合。

因为大于10的数字的效果是按照个位数计算的,所以如果翻转的话最大的缩放比例也必须是9,也就是说图片会被翻转并且缩小的原图的90%。所以第二项需要修改的就是”scale“, 也就是放大指数。默认的放大指数是3个1.000,第一个代表水平放大缩小,第二个代表垂直放大缩小,第三个可能因为图片的原因暂时没有发现修改后会有什么效果所以建议保持原有数值。
具体的放大倍数可以通过计算得到小数点后三位的结果,在测试中因为 ”angles“ 调整到9,也就是0.9的原图,scale调整为1.2也就是1.2倍,所以修改后的图片水平大小应该是原图的:
0.9*1.2 = 1.08
也就是1.08倍,如果想要更精细的调整请自己做计算。
如何去除图片抖动
好久没有更新了,主要是最近也没有发现什么让我感到不适应的“新科技”,也没有“duang duang”的特效。
这次分享的是如何去除图片抖动,大部分的场景桌面都是通过添加特效比如说waterwave来使一部分区域产生波动之类的特效,我之前已经给出过处理办法,今天我发现了一个新的特效,就是图片抖动。
图片会以一种高速移动的状态出现,看起来很别扭,以下是处理方法。
首先还是在文件编辑器中打开scene.pkg。然后找到以下部分:
"general" :
{
...
"camerashake" : false,
"camerashakeamplitude" : 0.5,
"camerashakeroughness" : 1.0,
"camerashakespeed" : 3.0,
...
"orthogonalprojection" :
{
"height" : 1080,
"width" : 1920
},
...
},
这里要注意的部分有三个,第一camerashake,也就是镜头抖动,在桌面上的表现就是图片抖动,将true改成false然后按照惯例将下一行前移一个单位(也就是4个space通常情况下是按一下backspace)。第二是camerashakespeed,也就是镜头抖动的速度,将后面的数字改成0.0同样可以禁止图片的抖动,其他的roughness和amplitude我并没有尝试,但是应该也是与抖动的效果有关,如果你希望保留这种抖动的话,可以调整这两个数值来达到新的效果。第三点是最下方的orthogonalprojection,看起来很长但是喊道数字大家就很明白了,其实就是图片的尺寸,如果希望小一点的图片,或者图片大于了你屏幕的显示率,可以在这里修改,但是修改这个数字可能会影响图片的分辨率,导致图片模糊,如果需要修改的数字比这里的数字的位数少的话,可以在前面加0来保证位数的一致,如将1080,1920改成0768,1366(常见的13英寸笔记本的屏幕分辨率)。还要注意的一点是height是图片的宽,width是图片的长,不要修改反了。
如果在修改后发现图片的位置有些问题,可以通过修改图片的尺寸(不是这里的尺寸哦),我在之前写过关于处理翻转的方法的指南,里面有你所需要的内容。
如何去除多余图层
好久没有更新了,主要是最近也没什么新鲜的duang,duang,所以之前提到的删除特效的方法已经足够还原我们一张没有任何特技的壁纸了。
然而最近一个礼拜我找到了一个新的特技- - -图片上面多加一个时钟。之前我一直以为这个时钟是在做图片的时候ps上去的,所以就没有深入的去研究它对应的scene.pkg。 今天我忍无可忍了,因为我发现一张图片上面除了时钟居然还被加上了两只蝴蝶!!!
虽然庞龙的歌在当时还是非常洗脑但是我还是希望能得到一张纯净的壁纸!!
开始进入正题,图片是 https://steamcommunity.com/sharedfiles/filedetails/?id=1918007334
首先还是老办法,通过修改maxcount来删除一些诸如waterwave,shake之类的官方特效,然后开始重点部分:
1. 如何删除那个难看的时钟
- - 首先在文件中搜索clock,在这里我找到了两处还有 clock 字符的地方.
"font" : "fonts/CRETINO_.TTF",
"horizontalalign" : "center",
"id" : 153,
"image" : null,
"locktransforms" : false,
"model" : null,
"name" : "Clock",
"opaquebackground" : false,
"origin" : "620.933 1375.953 0.000",
"padding" : 32,
"parallaxDepth" : "1.000 1.000",
"particle" : null,
"perspective" : false,
"pointsize" : 32.0,
"scale" : "3.421 3.421 3.421",
"size" : "407.000 221.000",
"solid" : true,
"text" :
{
"script" : "..."
"value" : "<Clock>"
},
"verticalalign" : "center",
"visible" : false
},
其中隐去了script的部分,那部分就是一个简单的JS来读取当前的时间,我们需要做的和之前删除特效的方法一样,将最下方的 visible 的值 由 true 修改为 false 即可,记得要同时处理下方 } 的位置哦,向前移动四格。
2. 如何删除那两只蝴蝶
这一段花了我一些时间,之前一直也没想明白这蝴蝶是官方特效还是原图自带的ps效果。经过一
番试验,我最终发现其实这两只蝴蝶是后来加上的图层,也就是说,这一张壁纸其实是三个
image 拼接起来的。那么去除这些多余的图层就水到渠成了。
首先要浏览整个文件,因为并不能确认这多余的图层在作者 code 中的位置,但是也还是有一些特
殊的 tag 我们可以查询,比如说 models。每一个图层都是一个单独的model,所以我们要做的就
是找到对应的model,然后把它的 visible 改成 false 即可。
{
"angles" : "0.000 0.000 0.000",
"colorBlendMode" : 0,
"copybackground" : true,
"id" : 178,
"image" : "models/4bedd004f9187e0aaa8720b1c29e919a.json",
"locktransforms" : false,
"name" : "4bedd004f9187e0aaa8720b1c29e919a",
"origin" : "2054.744 1650.337 0.000",
"parallaxDepth" : "1.000 1.000",
"perspective" : false,
"scale" : "1.406 1.406 1.406",
"size" : "200.000 177.000",
"solid" : true,
"visible" : false
},
这是其中一只蝴蝶对应的model,修改成 false 后就不会再看到了。
这样做其实也有一个问题,就是每一个 model 其实都只是一个 json file, 而且这些 file 的名字都
是一组代码,所以我们并不能很轻松的定位到底要修改哪一个 model。这里我也并不能提供更好的
处理方案,所以就一个一个的尝试修改,如果不小心删除了原图,那就撤销操作或者重新下载好
啦。之后如果我想到了其他办法会在这里做出说明的。

如何去除多余图层2.0
Hello 大家好,我又回来了!
这次是因为有个新发现,这次遇到一张新的壁纸,也是带有一些常见的雪花特效和一个时钟。
雪花特效当然按照之前的方式轻松解决,但是这个时钟特效确实让我大开眼界。
以下是代码部分,依旧是scene.pkg:
{
"alpha" : 0.80000001,
"anchor" : "none",
"angles" : "0.34907 0.17453 0.09163",
"backgroundbrightness" : 0.0,
"backgroundcolor" : "0.00000 0.00000 0.00000",
"brightness" : 0.0,
"color" : "0.00000 0.00000 0.00000",
"colorBlendMode" : 0,
"copybackground" : true,
"font" : "fonts/spincycle_3d_ot.otf",
"horizontalalign" : "center",
"id" : 50,
"ledsource" : false,
"locktransforms" : true,
"name" : "Date",
"opaquebackground" : false,
"origin" : "3335.72290 910.21234 0.00000",
"padding" : 32,
"parallaxDepth" : "0.00000 0.00000",
"perspective" : false,
"pointsize" : 32.0,
"scale" : "0.75160 0.75160 0.75160",
"size" : "000.00000 000.00000",
"solid" : true,
"text" :
{
"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '2661133110';\n/**\n * @param {String} value (for property 'text')\n */\nexport var scriptProperties = createScriptProperties()\n\t// Whether you want to see the seconds or not\n\t.addCheckbox({\n\t\tname: 'showYear',\n\t\tlabel: '显示年份',\n\t\tvalue: true\n\t})\n\t// This will be used to separate each element\n\t.addText({\n\t\tname: 'delimiter',\n\t\tlabel: '定界符',\n\t\tvalue: ':'\n\t})\n\t.addCheckbox({\n\t\tname: 'showDate',\n\t\tlabel: '不显示日期',\n\t\tvalue: false\n\t})\n\t.addCheckbox({\n\t\tname: 'showCD',\n\t\tlabel: '隐藏日期时间',\n\t\tvalue: false\n\t})\n\t.finish();\nexport function update(value) {\n\tlet now = new Date();\n\tvar year = now.getFullYear();\n\tlet month = (\"00\" + (now.getMonth()+1)).slice(-2);\n\tlet day = (\"00\" + now.getDate()).slice(-2);\n\tvalue = year + scriptProperties.delimiter + month + scriptProperties.delimiter + day;\n\tif (!scriptProperties.showYear) {\n\t\tvalue = month + scriptProperties.delimiter +day;\n\t}\n\tif (scriptProperties.showDate) {\n\t\tvalue = '\\0';\n\t}\n\tif (scriptProperties.showCD) {\n\t\tvalue = '\\0';\n\t}\n\treturn value;\n}\n",
"scriptproperties" :
{
"delimiter" : ".",
"showCD" : false,
"showDate" : false,
"showYear" : false
},
"value" : "2021.11.22"
},
"verticalalign" : "center",
"visible" :
{
"user" : "newproperty2",
"value" : true
}
},
按照之前的方法,调整visible,将value改成false。结果我震惊,居然没有成功。这还是我第一次遇到修改visible不成功的特效了,仔细研究代码,我又修改了其它一些看似相关的内容,但是都不成功。一时间居然让我无计可施,只能用世界上最简单有效的方法--穷举!
虽然是穷举,也要考虑以下内容,一般能修改的是带有数字的部分,因为大部分是尺寸,倾角相关的数据,这次当然也不例外,上手修改第一个数据,alpha!
我将alpha里所有非0的数字全部改成0,然后刷新图片。我擦,居然就是这个了......
为了搞懂这个alpha到底是什么意思,我又对原本的数据进行加大或者缩小,最终确认了下面这个结论。这个alpha是着色度或者透明度之类的。也就是说数字越大,相对而言越明显。当然这也是个百分比数字,所以大于1的情况下会被当作1处理。
知道这个情况后,我发现alpha基本存在于所有的特效当中!也就是说,对于所有图层的终极解决方案就是把alpha的数值进行调整,从而调整对应图层的透明度以达到你希望的效果。
经过两年的使用,现在我猜我找到了多余图层的最优解。希望这个信息对大家有用,如果有新的特效我还是会继续更新的!
45 条留言
Образетс 2024 年 4 月 29 日 下午 5:46 
这写的很详细,谢谢
Nickel 2024 年 4 月 28 日 上午 4:04 
good':steamthumbsup:
哎呦 2024 年 3 月 9 日 下午 11:23 
nice
MOOOIIIQAQ 2023 年 10 月 15 日 下午 8:38 
刚刚找到一个很不错的方案
先从资源管理器中打开,
然后把项目文件夹复制到“mymroject”里面
然后把pkg文件解包,替换pkg文件
就可以直接在壁纸编辑器中打开了,到时候需要怎么编辑都可以了
Cowardly lizards 2023 年 5 月 15 日 上午 6:28 
66
Wide_Shady.21 2023 年 2 月 19 日 下午 1:05 
Bing Chilling
2361956205 2022 年 7 月 12 日 下午 11:28 
666
北美鱼塘主  [作者] 2022 年 1 月 24 日 下午 6:06 
头像的话,请关注Dota2博主木木爱画画,之前他发布在微博的,我也是喜欢,就做了不少账号的头像。
J.B 2022 年 1 月 24 日 上午 5:44 
你的头像怎么获取?我超爱,魔人布欧!
02 2021 年 10 月 1 日 下午 4:50 
大佬爱了爱了:steamhappy: