|
本文为 其乐用户(UID:457636) 发布的原创文章,转摘前请联系该用户获得许可
本帖最后由 457636 于 2026-9-11 12:17 编辑
最近发现很多用Unity引擎制作的独立游戏,通常对高刷的支持非常的不友好
往往是游戏设置内看似解锁了帧数,实际上引擎还是在按照比较低的固定帧率比如50或者60fps去输出画面,这就导致游戏画面在高刷屏上非常的卡顿,虽然表面上帧数是挺高,但是实际上这些帧数是假的
这里以著名的人类一败涂地为例子,教大家修改Unity引擎的实际更新帧率(物理帧)
首先下载UABEA软件,解压后运行UABEAvalonia.exe
点击右上角File->Open-> 找到游戏安装目录下某个子文件夹里的globalgamemanagers文件(注意这个文件没有后缀名)
比如人类一败涂地这个文件就在 Steam\steamapps\common\Human Fall Flat\Human_Data 下
打开globalgamemanagers文件后,点击菜单里的View->Filter,先取消全部勾选,然后只勾选TimeManager
筛选后的这个Unnamed asset就是我们需要修改的项目,这时候选中此项目并点击右侧的Export Dump,将其导出为txt文件,建议命名为1.txt这样比较好找
导出的文件默认在globalgamemanagers的相同目录,你也可以导出到其他好找的位置,找到这个1.txt文件并打开编辑
可以看到第二行这个float Fixed Timestep的数值就是游戏引擎的实际更新频率(物理帧),数值是 1/FPS,默认的0.01666其实就是60FPS
我们只需要把这个后面的数字修改为自己需要的数值就行了,比如:
144FPS=0.00694
240FPS=0.00417
修改完成后,保存txt文件,回到刚才的UABEA软件界面的Assets Info界面
选中刚才的Unnamed asset项目,点击右侧的Import Dump,然后找到并选中我们刚才修改过的1.txt文件,点击打开
然后点击右上角的File->Save
这样就算修改完成了
我目前测试了另外一个Unity的游戏Lightmatter,也正常解锁了帧率,并且游戏过程中没遇到什么问题
不过还是先叠个甲,此方法不能保证所有的Unity游戏都能解锁成功,而且有些游戏可能会在解锁帧率后遇到奇怪的bug,还请大家自己去折腾实验
|