HK TAS 入门
Eznibuil
·
2024-11-19 23:05:29
·
休闲·娱乐
首先你需要搞一个能跑 libTAS 的 GNU/Linux 系统,最好是 Debian(至少 11 Bullseye)或 Ubuntu(至少 22 Jammy)。
Windows10 及以上可以使用 WSL2。注意,如果你在微软商店下载了 Debian,恭喜获得一个老旧无比的 Debian 9,还要费时间更新,所以更推荐下载 Ubuntu。下载具体的系统之前,为了确保你的 WSL 是最新的,请先运行 wsl --update(如果报错说连不上服务器,说明微软商店的速度确实有目共睹,请更换为 wsl --update --web-download 并确保可以流畅地访问 GitHub)。
为了避免微软商店那感人的下载速度,你可以在微软商店网页版中搜索 Debian 或 Ubuntu 或其他的一些 GNU/Linux 系统并进入详情页,例如 Jammy 详情页,然后把网址粘贴到 https://store.rg-adguard.net/ 的框里面,点右侧的钩子,就会生成一个下载链接的列表,选择其中后缀名为 AppxBundle 的链接,复制到你喜欢的下载软件里进行下载即可。下载完成后双击安装,安装完后等待跳出一个控制台进行配置用户名之类的操作,接着就会进入命令行。
接下来统统在 GNU/Linux 里操作。
如果你是 Debian/Ubuntu,你可以选择下载最新稳定版或者最新快照版,并使用形如 sudo apt install ./libtas_*_amd64.deb 的命令安装,apt 会帮你处理好依赖问题。
如果你不是 Debian/Ubuntu,很可惜,你需要根据 libTAS 仓库的指南一步一步构建 libTAS。不过不必担心,只要 Linux 内核版本不低于 3.17 就具备了构建 libTAS 的基础。
现在假定你已经成功安装了 libTAS。
接下来你需要搞到一个 HK,这一步参见之前我写的教程。请注意:WSL 区别于虚拟机或实体机上的 GNU/Linux,通常 WSL 是无法安装 Steam 的,原因大概也是出在图形界面的兼容性上(WSLg 并不是很完善,虽然你也可以在网上搞个劣质 X-Server 然后远程桌面连 WSL),所以请不要在 WSL 上尝试使用 Steam。
如果你没有 Steam 号或者 Steam 号上没有 HK,你都来看我的教程了,说明你肯定有方法搞到一个 GNU/Linux 上的 HK,这方法无论是什么与本教程无关。(你说用 Proton 跑 Windows 版?嘶,这样会卡得离谱且吃性能,非常不推荐。)
命令行键入 libTAS <你的 HK 可执行文件的路径> 并回车。如果你不是从 Steam 上下载的,最好跑一遍 sudo chmod +x <你的 HK 可执行文件的路径> 保证它是个可执行文件。
现在就进入了 libTAS 的主页面,首先需要调一下设置,以后启动就不需要调整了。点击菜单中的 Settings 下的 Runtime...,把 Force locale 调成 "Chinese, Simplified"(用中文加载的对话最短应该是常识,尽管这里的选项调了之后依然需要进游戏再调一遍),勾选 Virtual Steam client 确保 HK 不会因为找不到 Steam 而报错(你说你从 GOG 或者其他地方下载的?以普遍理性而论,勾上也不会导致内存被大幅占用,以防万一还是勾上吧)。Prevent writing to disk 的意思就是让游戏在内存而非硬盘中存档(这会导致下次打开不会有上次的东西),勾不勾看个人喜好。
现在点到 Input 选项卡(如果你不小心关掉了窗口你也可以点菜单中的 Settings 下的 Input...),然后取消勾选 Mouse Support,这是因为在逐帧编辑输入序列时是不含有鼠标操作的,把鼠标操作也放进来会让编辑变得困难,而且纯键盘不会慢多少(如果你追求尽善尽美,也可以留着鼠标)。(应该没人用手柄吧。)
现在点到 Video 选项卡(如果你不小心关掉了窗口你也可以点菜单中的 Settings 下的 Video...),在 Screen resolution 下调一下分辨率(众所周知,HK 第一次启动必定全屏,而 WSL 中 Alt+Enter 切换全屏与窗口常常不生效,所以最好在启动前就配置好窗口模式),最好不要调和显示器一样大,稍微小点,给之后的操作序列编辑窗口留下空间。
现在就配置好了设置。
回到 libTAS 主页面,可以注意到 Game executable 已经自动填入了可执行文件的地址,并且 libTAS 应该已经把 HK 识别为一个 Unity 游戏然后在 Command-line options 中添加了 -force-gfx-direct,这是让游戏单线程渲染。如果你的 HK 版本不低于 1.5,那么这种情况下默认通过 Vulkan 渲染,可能会出一些事故所以需要加上 -force-glcore 来强制通过 OpenGL 渲染。其他的一些参数参见 Unity Standalone Player command line arguments。
你可以勾选 Movie recording 启用操作录制。其中 Movie status 中的 Recording 代表新开一个录制、Playback 代表在一个已有的录制后附加。
点 Start,游戏会在第一帧自动暂停。你可以用 Pause 键切换暂停与不暂停,或长按 Tab 加速,或 Shift+{F1\~F8} 存储当前游戏状态,或 {F1\~F8} 回退游戏到之前存储的一个状态。这些快捷键都能在菜单中的 Configure mapping... 更改(推荐将 Pause 改 F12,因为 WSL 似乎无法识别键盘的 Pause)。
现在可以开始编辑逐帧的操作序列了,打开菜单中的 Movie 下的 Input Editor..,会弹出一个编辑操作序列的窗口,你可以往里面预先插入几千帧几万帧之类的。也可以在序列最开头一行右键新建一个列代表一个按键(这东西有个小 Bug 就是没有任何按键列的时候不能新建列,这种情况只能现在游戏窗口里敲一下键,回到 Input Editor 中就有刚刚那个按键了)。点击某行某列的一个格子,就代表设置这一帧这一按键是否按下,非常方便。
当游戏退出时,libTAS 也会自动暂停,这时候就可以直接点 Stop 再点 Kill 杀掉游戏并保存。如果你做到了这一步,恭喜你,你已经完成了一个 TAS!接下来就交给你自己发掘 TAS 的玩法了。
关于录屏,多说两句:点击 Tools 下的 Start encode,这将开启录屏。点击 Tools 下的 Stop encode,这将结束录屏。通常在结束游戏后也会自动 Stop encode。你可以在 Tools 下的 Configure encoding... 中更改录屏的格式和存储位置。出现多个视频文件是正常的,尚不清楚为何如此。
正常来说,录屏是配合回档实现分段录制的。
录屏默认配置是 H.264 格式,这可能会导致某些播放器不兼容(例如 Windows 媒体播放器),你可以改为 MPEG4 格式,虽然好像没有 MPEG4 这个选项,所以可以请出万能的 FFmpeg。