64位游戏找call_替换Unity可执行文件为64位,改善游戏性能

虽然Unity同时支持多种架构,但是总有些程序员选择只打包32位版本,既然我们没有办法手动给程序员的脑子抽水,那就自己动手替换一个64位版本吧

以下面这个游戏为例

300d7d1dded6fccf0c2154274034668a.png

右键目录内最大的可执行文件或dll,属性,查看版本

0574a50c568beae4c4d40487794f462b.png

显然这个游戏使用的是5.6.6版本的Unity

打开Unity官网(https://unity3d.com/get-unity/download/archive)下载对应版本的Editor安装包(不要下载Unity Hub,也不要下载安装器,必须下载完整安装包!)

95bd55dc717a797c8bcf9ac7125bbe06.png

下载完成不要安装,直接右键用7z打开,依次进入下面这个目录:EditorDataPlaybackEngineswindowsstandalonesupportVariationswin64_nondevelopment_mono

5606db8776cd97b3cd945ef89ff0d468.png

把player_win.exe拖到游戏目录,原exe改后缀备份或删除,把player_win.exe改为原exe名称

aaa4d17481e1e6461b7ff44bb53e6640.png

此时启动游戏,必然报错如下,除非游戏用了il2cpp(il2cpp后端暂时无解)

69abebf7b011bcbcbfef43d32f0da1ff.png

点开Data目录,删除或备份里面的Mono目录,把刚刚7z里面的Data目录里的Mono目录替换过来

4ef46f02f8da23b22c01fb95b269b989.png

现在启动游戏,游戏应该能正常运行,任务管理器会显示这已经不是一个32位程序了

deab92c087d2a0b48e3d9c2aa1328b23.png

但是如果不出意外,游戏使用Steam API的话,会报Steam错误,这是因为我们还没替换Steam API的DLL,64位进程不能加载32位DLL

我们可以去Steam开发者网站Steamworks(https://partner.steamgames.com/home)下载最新的Steam SDK

把steam_api64.dll解压出来

7e2d2512c34718d00f658d2d18301e98.png

替换原来的steam_api.dll

935ec0b9212648ac17701b9110ffc91b.png

现在游戏就可以正常运行,且不影响所有Steam功能了

9b4a5dd3f96deb62c165d2f705f17e1e.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值