Skip to main content
VRCHINA
AR论坛
 首页 » 资源教程

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏

2016年08月28日 15:25:107010

写本文的是因为UE4 官方文档虽然也有,但主要讲的是是用UE4Editor把游戏打成一个IPA包的形式发布的方法

而对于想通过Xcode分析UE4的渲染流程来学习或优化的朋友,那官方文档的资料还是不够的,这里是总结一下在Mac上用Xcode对UE4 ios app做Analyze的教程。

要在Xcode里调试或分析,直接下载编辑器是不行的,首先还是要有UE4的源代码,从官方或民间下载都可以,一般是1个UnrealEngine包,2个Required包,先解压UnrealEngine,再把Required里的内容分别拖到解压后的UnrealEngine文件夹里,Required1和Required2因为有同名文件夹,记得选择keep newer 或 merge(OSX的版本不同),就可以把3个包的内容都拷贝好。然后运行 GeneragteProjectFiles.command,稍等就可以生成出UE4.xcodeproj的Xcode工程了。

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第1张

用Xcode打开工程,直接Build UE4Editor,这个过程根据你Mac设备性能的不同可以要10~30分钟

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第2张

这个时候你还需要一个进行测试的工程文件,进入MarketPlace,下载这个比较经典的Sun Temple工程好了

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第3张

进入这个页面,下载完成后,就可以创建工程了

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第4张

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第5张

如果是编辑器发布的方式,这里打开就可以按官方教材继续修改打包发布了,但如果需要代码做调试和分析的话, 这里可以跳过

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第6张

回到我们UE4源代码的Xcode工程,运行编辑器,然后在工程创建页面,会看到在MarketPlace创建的工程文件,选择SunTemple工程进入

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第7张

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第8张

如果编辑器和工程版本不一样,可能需要进行版本转化,建议小版本号,如4.5.0~4.5.x可以跳过或再开一份拷贝。

这里还需要注意一点的是,如图下图,你编译出来的UE4Game。在一些版本里可能会是UE4Ggame-IOS-Debug一类的名字,UE4在Xcode或编辑器里打包时调用的是UE4Ggame,否则工程会打包失败

所以可以先在编辑器里打包试试,如果提示找不到UE4Game再进到这个目录改名。

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第9张

在官方教程里,提到可以在生成的工程文件.uproject上右键选择Generate Xcode Project,但这样生成的Xcode工程是不带任何引擎源码的,无法起到调试作用

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第10张

正确的方法,应该是先进入编辑器,在File->Package Project的页面里,选择Packaging Setting.

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第11张

这里可以选择是渲染器使用的图形API是GLES2还是Metal

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第12张

保存,然后选择Refresh Xcode Project,这样就会生成带shader,ue4引擎源码的Xcode项目工程文件了。

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第13张

从工程目录进入SunTemple工程,如图,选择UE4Game-iOS,并在真机上运行,UE4默认的运行机制,其实就是一个统一的UE4Game的前端+资源包的形式

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第14张

为了能在Xcode上捕获GPU信息,需要进入UE4Game的Scheme里进行设置

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第15张

这因为UE4同时支持GLES和Metal的,Xcode无法判断你使用的究竟是哪个API,所以在GPU Frame Capture里必须强制为GLES,才可以成功进行分析。

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第16张

在真机上运行UE4Game,然后点击到Show the Debug Navigator的图标,就可以对当前运行UE4 app进行GPU分析了 

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第17张

点击Analyze按钮后稍等片刻,Xcode会捕获Frame的整个绘制流程,并可通过滑动滑竿来浏览。

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第18张

同时也可以查看绘制调用部分使用的shader代码,并支持动态修改调试

如何使用Xcode分析调试在真机运行的UE4 IOS版游戏 资源教程 第19张

而Debug的方式则和平时调试一样,在指定的代码部分放置断点就可以了。解决了这个问题,就可以针对UE4在移动端上渲染方案进行分析和借鉴了,接下来我应该也会提供这方面的进一步资料。


评论列表暂无评论
发表评论