From c5c1475bea42c4364a41fbde890bb774d04b445f Mon Sep 17 00:00:00 2001 From: OvOAuto <44537598+OvOAuto@users.noreply.github.com> Date: Fri, 20 Feb 2026 12:59:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=B0=20JS=EF=BC=9A?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E4=BF=AE=E6=94=B9=E7=94=BB=E8=B4=A8=20(#2896?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add JS AutoSwitchGraphicsSettings * fix: 修复manifest.json版本号 * 修复若干问题 --- repo/js/AutoSwitchGraphicsSettings/README.md | 35 +++ .../assets/RecognitionObject/gear.png | Bin 0 -> 3752 bytes .../assets/RecognitionObject/graphics.png | Bin 0 -> 7718 bytes repo/js/AutoSwitchGraphicsSettings/main.js | 90 +++++++ .../AutoSwitchGraphicsSettings/manifest.json | 24 ++ .../AutoSwitchGraphicsSettings/settings.json | 247 ++++++++++++++++++ 6 files changed, 396 insertions(+) create mode 100644 repo/js/AutoSwitchGraphicsSettings/README.md create mode 100644 repo/js/AutoSwitchGraphicsSettings/assets/RecognitionObject/gear.png create mode 100644 repo/js/AutoSwitchGraphicsSettings/assets/RecognitionObject/graphics.png create mode 100644 repo/js/AutoSwitchGraphicsSettings/main.js create mode 100644 repo/js/AutoSwitchGraphicsSettings/manifest.json create mode 100644 repo/js/AutoSwitchGraphicsSettings/settings.json diff --git a/repo/js/AutoSwitchGraphicsSettings/README.md b/repo/js/AutoSwitchGraphicsSettings/README.md new file mode 100644 index 000000000..7da02a7ac --- /dev/null +++ b/repo/js/AutoSwitchGraphicsSettings/README.md @@ -0,0 +1,35 @@ +# 自动修改画质 + +## 重要提醒 + +为了保证您的良好体验,请务必在开始使用前阅读完本 README。 + +## 作用说明 + +本 JS 可以根据用户的预设自动修改图像设置,避免了繁琐的手动调整流程。在您使用 BetterGI 自动完成锄地等重复性任务前,可以运行本 JS,调低画质以降低功耗;同样地,在锄地结束后也可以运行本 JS,调回高画质保证游戏体验。您还可以根据自己的需求开发新的用法。 + +## 兼容性 + +由于缺少修改画质的选项,本 JS **不支持**云原神。 + +经过实测,本 JS 支持 1920 \* 1080、2560 \* 1440 分辨率。推测 3840 \* 2160 也可支持。 + +本 JS 基于 OCR 识别,故**仅支持**简体中文 UI。如果您平时使用的是其它语言,可以发 Issue 说明。收到需求后,作者将酌情尝试通过在 JS 运行前后修改 UI 语言以解决此问题。 + +经过实测,本 JS 可以在大部分图像设置下正常运行。但由于作者仅在高性能 PC 上测试了本 JS,其在老旧平台或移动设备上的运行效果是未知的。如果您遇到问题,请发 Issue 说明您的运行平台和运行效果。 + +由于可能导致 BetterGI 崩溃,本 JS **不支持**调整游戏分辨率。您可使用 [Unity 启动参数](https://docs.unity3d.com/cn/2021.1/Manual/CommandLineArguments.html)指定原神的窗口宽高等。 + +## 使用方法 + +在配置组中添加本 JS 后,右键本 JS,点击`修改JS脚本自定义配置`,即可在弹出的对话框中调整预设图像设置。 + +### 选项说明 + +预设设置的标签名称与选项名称皆与游戏内名称一致,如果您发现不同,请发 Issue。 + +每项设置的第一个选项都是`默认`,在您选中它后本 JS 会**不修改**此选项。 + +注意,即使您预设`图像质量`选项不是`默认`或`自定义`,本 JS 依然会根据您的预设修改其余选项。所以如果您设置了图像质量预设,又修改了其余选项为非预设的值,则在 JS 运行结束后`图像质量`将是`自定义`。 + +感谢您耐心读完此 README,请勾选自定义配置中的复选框。 \ No newline at end of file diff --git a/repo/js/AutoSwitchGraphicsSettings/assets/RecognitionObject/gear.png b/repo/js/AutoSwitchGraphicsSettings/assets/RecognitionObject/gear.png new file mode 100644 index 0000000000000000000000000000000000000000..031a4ad17be06d100f2675eed87cfff3abb177b2 GIT binary patch literal 3752 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 { + let res = captureGameRegion(); + if (!res) { + log.error("截图失败"); + return; + } + let found = res.Find(object); + if (!found) { + log.error("未能找到目标元素,请确认游戏界面状态"); + return; + } + found.click(); + found.click(); // 点两次是因为设置图标有的时候点一次无反应 + res.Dispose(); +}; + +// 封装好的寻找选项功能 +const findOption = async (optionName) => { + let pic = captureGameRegion(); + let ocrList = pic.findMulti(RecognitionObject.ocrThis); + pic.Dispose(); + for(let i = 0;i < ocrList.count; i++) + if(ocrList[i].Text === optionName) + return ocrList[i]; +}; + +const chooseOption = async (optionName, order) => { + if(order === 0) + return; // 默认选项,跳过 + let res = await findOption(optionName); + let x = res.x, y = res.y; + click(x + 1000, y + 25); // 点击选项的下拉栏,依赖选项名称的相对位置 + await sleep(20); + click(x + 1000, y + 25 + order * 50); // 点击具体选项 + await sleep(150); + click(1000, 39); + click(1000, 39); // 双击空白处,关闭可能弹出的“部分图像设置需要重启游戏后生效” +}; + +(async function () { + if(settings.check === false) { + log.error("请先阅读 README.md!"); + return; + } + log.info("正在尝试回到主界面……"); + await genshin.returnMainUi(); + log.info("回到主界面成功,正在进入设置界面……"); + await sleep(500); + keyPress("ESCAPE"); + await sleep(1000); + await findAndClick(settingsIconRo); + log.info("进入设置界面成功,打开图像页"); + await sleep(1000); + await findAndClick(graphicsTextRo); + await sleep(500); + + log.info("开始修改图像设置,请{highlight}", "不要操作"); + for(let i = 1; i < 8;++i) + for(let j = 0; j < Array.from(settingsTemplate[i].options).length;++j) + if(settingsArr[i].Value === Array.from(settingsTemplate[i].options)[j]) { + log.info("{name}选择{option}", settingsTemplate[i].name, settingsArr[i].Value); + await chooseOption(settingsTemplate[i].name, j); + } + + moveMouseTo(1000, 500); + for(let i = 0;i < 50;++i) + verticalScroll(-1); + await sleep(500); + + for(let i = 8;i < settingsTemplate.length;++i) + for(let j = 0; j < Array.from(settingsTemplate[i].options).length;++j) + if(settingsArr[i].Value === Array.from(settingsTemplate[i].options)[j]) { + log.info("{name}选择{option}", settingsTemplate[i].name, settingsArr[i].Value); + await chooseOption(settingsTemplate[i].name, j); + } + + log.info("修改图像设置完成,正在尝试回到主界面……"); + await genshin.returnMainUi(); + log.info("回到主界面成功"); +})(); diff --git a/repo/js/AutoSwitchGraphicsSettings/manifest.json b/repo/js/AutoSwitchGraphicsSettings/manifest.json new file mode 100644 index 000000000..af26490ed --- /dev/null +++ b/repo/js/AutoSwitchGraphicsSettings/manifest.json @@ -0,0 +1,24 @@ +{ + "manifest_version": 1, + "name": "自动修改画质", + "version": "1.0", + "bgi_version": "0.56.2", + "description": "自动调整画质,用于便捷切换锄地省电画质和游戏体验画质", + + "authors": [ + { + "name": "OvOAuto", + "link": "https://github.com/OvOAuto" + } + ], + "settings_ui": "settings.json", + "main": "main.js", + "saved_files": [ + "assets/*" + ], + "library": [ + ".", + "src", + "./module" + ] +} \ No newline at end of file diff --git a/repo/js/AutoSwitchGraphicsSettings/settings.json b/repo/js/AutoSwitchGraphicsSettings/settings.json new file mode 100644 index 000000000..bc81116a6 --- /dev/null +++ b/repo/js/AutoSwitchGraphicsSettings/settings.json @@ -0,0 +1,247 @@ +[ + { + "name": "check", + "type": "checkbox", + "label": "我已阅读 README.md", + "default": false + }, + { + "name": "图像质量", + "type": "select", + "label": "图像质量", + "options": [ + "默认", + "极低", + "低", + "中", + "高", + "自定义" + ], + "default": "默认" + }, + { + "name": "帧率", + "type": "select", + "label": "帧率", + "options": [ + "默认", + "30", + "45", + "60" + ], + "default": "默认" + }, + { + "name": "垂直同步", + "type": "select", + "label": "垂直同步", + "options": [ + "默认", + "关闭", + "打开" + ], + "default": "默认" + }, + { + "name": "渲染精度", + "type": "select", + "label": "渲染精度", + "options": [ + "默认", + "0.6", + "0.8", + "0.9", + "1.0", + "1.1", + "1.2", + "1.3", + "1.4", + "1.5" + ], + "default": "默认" + }, + { + "name": "阴影质量", + "type": "select", + "label": "阴影质量", + "options": [ + "默认", + "极低", + "低", + "中", + "高" + ], + "default": "默认" + }, + { + "name": "全局光照", + "type": "select", + "label": "全局光照", + "options": [ + "默认", + "关闭", + "中", + "高", + "非常高" + ], + "default": "默认" + }, + { + "name": "后期效果", + "type": "select", + "label": "后期效果", + "options": [ + "默认", + "极低", + "低", + "中", + "高" + ], + "default": "默认" + }, + { + "name": "特效质量", + "type": "select", + "label": "特效质量", + "options": [ + "默认", + "极低", + "低", + "中", + "高" + ], + "default": "默认" + }, + { + "name": "场景细节", + "type": "select", + "label": "场景细节", + "options": [ + "默认", + "极低", + "低", + "中", + "高", + "极高" + ], + "default": "默认" + }, + { + "name": "抗锯齿", + "type": "select", + "label": "抗锯齿", + "options": [ + "默认", + "关闭", + "FSR 2", + "SMAA" + ], + "default": "默认" + }, + { + "name": "体积雾", + "type": "select", + "label": "体积雾", + "options": [ + "默认", + "关闭", + "打开" + ], + "default": "默认" + }, + { + "name": "反射", + "type": "select", + "label": "反射", + "options": [ + "默认", + "关闭", + "打开" + ], + "default": "默认" + }, + { + "name": "动态模糊", + "type": "select", + "label": "动态模糊", + "options": [ + "默认", + "关闭", + "低", + "高", + "非常高" + ], + "default": "默认" + }, + { + "name": "Bloom", + "type": "select", + "label": "Bloom", + "options": [ + "默认", + "关闭", + "打开" + ], + "default": "默认" + }, + { + "name": "人群密度", + "type": "select", + "label": "人群密度", + "options": [ + "默认", + "低", + "高" + ], + "default": "默认" + }, + { + "name": "多人游戏队友特效", + "type": "select", + "label": "多人游戏队友特效", + "options": [ + "默认", + "完全屏蔽", + "部分屏蔽", + "打开" + ], + "default": "默认" + }, + { + "name": "次表面散射", + "type": "select", + "label": "次表面散射", + "options": [ + "默认", + "关闭", + "中", + "高" + ], + "default": "默认" + }, + { + "name": "各向异性采样", + "type": "select", + "label": "各向异性采样", + "options": [ + "默认", + "1x", + "2x", + "4x", + "8x", + "16x" + ], + "default": "默认" + }, + { + "name": "角色动态高精度", + "type": "select", + "label": "角色动态高精度", + "options": [ + "默认", + "关闭", + "打开" + ], + "default": "默认" + } +]