纠纷奇闻社交美文家庭
投稿投诉
家庭城市
爱好生活
创业男女
能力餐饮
美文职业
心理周易
母婴奇趣
两性技能
社交传统
新闻范文
工作个人
思考社会
作文职场
家居中考
兴趣安全
解密魅力
奇闻笑话
写作笔记
阅读企业
饮食时事
纠纷案例
初中历史
说说童话
乐趣治疗

研发实战:用日志控制台命令辅助开发移动VR应用

9月1日 浅时光投稿
  TurtleRock是一家老牌游戏工作室,著名作品包括《求生之路》和《进化》,以及《反恐精英》系列等等。随着虚拟现实的兴起,这家工作室同样有涉足其中,并为社区带来了《JourneyoftheGods》和《FaceYourFears2》等热门游戏。
  日前,TurtleRock工作室的BrockHeinz介绍了利用Ureal4引擎来开发VR应用的一系列建议。下面是映维网的具体整理,希望能够给你带来一定的借鉴参考。
  如果你是刚开始涉足Quest,Go或GearVR,你在开发UE4游戏时或许不知道所有可用的标准开发工具。对于这篇博文,我将向你说明在为基于Android的移动VR游戏时应如何选择获取这种工具。我们在为OQuest带来《JourneyoftheGods》和《FaceYourFears2》时都是利用了这些相同的工具。
  1。利用ADB来控制设备
  你会用到AndroidDebugBridge(adb)命令行工具。要使用它,请打开命令提示符并键入“adb”,然后键入所需的命令:
  C:Tadbdevices
  Listofdevicesattached
  e6555e96device
  1。1检索日志
  你可以通过adb“pull”命令来从设备中检索文件。只要你知道完整路径,就可以使用它来提取日志和其他文件:
  adbpullsdcardUE4GameProjectNameProjectNameSavedLogs
  1。2截图
  你可以直接通过命令行来获取截图,然后再将它从设备拿到PC。
  adbshellscreencappsdcardscreencap。png
  adbpullsdcardscreencap。png
  1。3安装应用程序
  UE4的软件包构建过程将生成可用于安装卸载应用程序的。bat文件,但如果需要,你可以通过adb手动完成。你可以用文件名进行安装,并提供“g”flag以授予应用程序所有权限。你可以通过指定APK文件名来安装:
  adbinstallgProjectNamearmv7es2。apk
  1。4卸载应用程序
  你可以通过指定APK文件名来卸载:
  adbuninstallcom。yourcompany。yourproject
  1。5启动应用程序
  你可以通过向应用程序管理器发出命令,并提供应用程序的程序包名称来启动应用程序:
  adbshellamstartn
  com。yourcompany。yourprojectcom。epicgames。ue4。GameActivity
  1。6停止应用程序
  adbshellamforcestopcom。yourcompany。yourproject
  2。实时获取日志
  利用Android的实时日志获取功能,你可以获得大量有用的信息,亦即所谓的Logcat。打开命令提示符并运行以下命令:
  adblogcat
  这时你会看到:
  这通常包括与你当前重点无关的信息。你可以使用过滤器来显示所需的信息。例如,这些Logcat过滤器将显示VrApi性能统计信息:
  adblogcatVrApi:Iregex”FPS”
  我们发现使用AndroidDeviceMonitor实用程序更容易从Quest获取实时日志记录数据。除了易于使用的UI之外,它同时包含许多其他有用的开发工具。
  要访问AndroidDeviceMonitor,请使用指向这一批处理文件的快捷方式:
  C:NVPACKandroidsdkwindowstoolsmonitor。bat
  启动之后,你会看到类似这样的窗口。要从Quest看到Logcat信息,你需要在Devices列表中进行选择。
  你要做的第一件事是进入首选项并增加消息缓冲区的大小:
  现在创建几个过滤器。当你添加下面的过滤器时,你只会看到运行在Quest的UE4应用程序的日志消息。
  3。控制台命令
  UE4提供了一种通过BroadcastIntent向运行在Android设备的游戏发送控制台命令的方法:
  adbshell“ambroadcastaandroid。intent。action。RUNecmd‘CONSOLECOMMANDGOESHERE’”
  例如,这个命令将打开游戏内的帧时间显示:
  adbshell“ambroadcastaandroid。intent。action。RUNecmd‘statunit’”
  但是,它用起来有点繁琐。兴趣的是,你可以使用doskey命令来创建宏:
  doskeycomadbshell“ambroadcastaandroid。intent。action。RUNecmd‘’”
  comstatunit
  4。诊断崩溃
  如果需要调查崩溃,你有几个选择。如果崩溃容易重复出现,你可以使用AndroidDeviceMonitor来获取实时日志记录,然后触发崩溃。只要你是用Symbols安装了开发或调试版本,你就会看到一个Callstack,包括导致崩溃的函数和其他相关的信息:
  如果你在游戏崩溃时没有运行AndroidDeviceMonitor,或者你需要QA团队正在使用的头显的崩溃数据,你可以通过adb从设备检索错误报告信息:
  adbbugreport
  datauserde0com。android。shellfilesbugreportsbugrepo39。zip:1filepulled。37。2MBs(1393690bytesin0。036s)
  如果你打开zip文件,你将找到有关设备状态的大量日志和其他数据。我们需要的信息位于“datatombstones”文件夹中。查找包含发生崩溃时对应的时间和日期戳的tombstone文件,并在文本编辑器中将其打开。只要版本包含Symbols,你应该能看到导致崩溃的函数调用,类似于AndroidDeviceMonitor的输出。
  5。发送CommandLineSwitches
  UE4无法直接将commandlineswitch发送给应用程序,但你可以通过一定的代码改动来添加这项功能。这是通过UE4。21实现,但应该很容易适配其他引擎版本。
  有了这个代码,当用adb启动游戏时你就可以将命令行参数发送给游戏。例如,下面的代码将启动游戏并GarbageCollection验证,这有助于减少开发中的阻碍:
  adbshellamstarteextraArgNoVerifyGCngg。trs。portercom。epicgames。ue4。GameActivity
  我们稍稍简化了这个过程,我们在UE4打包过程生成安装和卸载批处理文件时生成了“Launch。bat”文件。如果你希望对项目进行相同的更改,你可以轻松通过AndroidPlatform。Automation。cs进行改动。
  6。基本的性能分析
  当游戏运行在Quest或Go时,我们可以开始使用以下工具从游戏中获取一定的基本分析信息。
  6。1实时性能统计数据
  你可以使用“statunit”命令获取实时性能统计信息的屏幕显示:
  comstatunit
  帧:总帧时间,以毫秒为单位。你希望它是1660fps,1372fps。游戏:主要游戏线程CPU帧时间调用:渲染线程CPU时间GPU:GPU帧时间。RHIT:如果你启用了OpenGLRHI线程,这将是每帧在所述线程中花费的时间。内存:游戏使用的内存。这不是100准确,因为分配给OS,视频驱动程序等的某些内存不会反映出来。调用:每帧绘制的对象数。Prims:每帧绘制的三角形数。
  6。2内存使用情况
  你可以随时生成内存报告。我们将在以后的帖文中进一步讨论这个问题:
  commemreportfull
  adbpullsdcardUE4GameRedwoodRedwoodSaved
  6。3CPU性能分析
  这个Profiler工具可以帮助你捕获设备的性能分析统计信息,并将其导入至编辑器中。你可以打开统计数据记录,打开一会游戏,然后关闭记录,并使用以下代码来获取数据:
  comstatstartfile
  
  comstatstopfile
  adbpullsdcardUE4GameRedwoodRedwoodSaved
  7。在发行版本中启用日志获取
  UE4禁用发行版本的日志。这大体上是一个很好的策略,但有时你需要从发行版本中获取日志。幸运的是,你只需进行一定的更改即可启用发行版本中的日志记录。
  首先你需要打开YourProject。Target。cs文件,并添加以下命令行:
  bUseLoggingInS
  其次,你需要打开AndroidMisc。cpp,并进行以下更改:
  这将重新启用Windows和Android版本的日志记录功能。请注意,如果要在Windows查找发行版本的日志,它们将位于不同的位置:
  C:UsersUserNameAppDataLocalYourProjectSavedLogsUsefulLinks
  8。有用的链接
  OculusLogcatTroubleshootingDocumentationAndroidLogcatDocumentationOculusMobileADBDocumentationAndroidDebugBridgeDocumentationAndroidDeviceMonitorDocumentationExplanationofvaluesintheVrApiperformancestatsDebuggingNativeAndroidPlatformCod
  原文链接:https:yivian。comnews63710。html
  来源:映维网
投诉 评论 转载

人类登月50周年纪念日要到了当年美国阿波罗11号登月计划发生人类登月50周年纪念日要到了,当年美国阿波罗11号登月计划发生了什么?1969年7月20日,美国成为第一个将人类送上月球的国家,距今已近50年。“阿波罗11号”成功让人类登陆月……SpringboardVR推出基于Quest的LBEVR解决教育行业和LBE运营商将很快能够获取包含内容商店和SpringboardVR管理套件的OculusQuest解决方案。运营商届时将能访问OQuest不断增长……《FiveNightsatFreddy’sVR》登顶PSVR索尼日前公布了六月各类别畅销游戏(美区)的排行榜。其中,于5月28日发行的《FiveNightsatFreddy’sVR:HelpWanted》成功击败《BeatSaber》和……报告:8英国工作室专注于ARVR游戏开发据英国游戏业组织TIGA日前公布的数据显示,英国工作室在过去五年间的重点已经从手游转移至其他平台。截至2018年11月,有40的英国工作室主要专注于手游(低于2013年的49)……研发实战:用日志控制台命令辅助开发移动VR应用TurtleRock是一家老牌游戏工作室,著名作品包括《求生之路》和《进化》,以及《反恐精英》系列等等。随着虚拟现实的兴起,这家工作室同样有涉足其中,并为社区带来了《Journ……长时间玩游戏会引发癫痫病吗?如何预防癫痫病发作?长时间玩游戏会引发癫痫病吗?很多媒体曾报道,熬夜长时间打游戏而突发癫痫症状、倒地抽搐口吐白沫的例子。那么长时间打游戏是如何引发癫痫病的?如何预防癫痫病发作?正常人长时……巨亏35亿!被翟天临拖下水,深扒“校企第一股”沉迷背后财富中文网近日发布《财富》中国500强排行榜单显示,有30家企业虽在排名内,却未能实现盈利,亏损总额达到惊人的1771亿元!投资家网根据榜单,推出策划,并梳理出了9家亏损最多的……又一家奇葩公司凉凉!营收为0,员工仅2人,19日起股票暂停上7月16日晚间,ST毅达发布公告,公司收到上交所《自律监管决定书》,上交所决定自7月19日起暂停公司A股和B股股票上市。而梳理起这家公司的过往信息,颇为奇葩。年报推迟2个……他用20多年干成世界最大,却因一个决定轰然倒下那个擅长起死回生的神人,带着上万人走上了无归之路。2006年,还是小角色的刘强东四处找钱。四处碰壁中,河南安彩集团成为第一家愿意为他投资的金主。然而,……近半应届毕业生月薪不足五千仅一成租住长租公寓芒种之际高考,夏至前夕毕业。盛夏的两个永恒主题,一面是刚脱离未成年的肆意青春,一面是刚出象牙塔的初更世事,都是从一个阶段迈向另一个阶段的里程碑。然而对于大多数毕业生来说,租房成……刘强东案又起变数!突换顶级律师,哈佛毕业,美国前联邦检察官自从刘强东涉嫌性侵明大女生案,从刑事诉讼转到民事诉讼后,风波渐渐平息,京东的公关也将舆论往受害女生身上转移。但是,最近长期关注这起案件的网友却发现,刘……楼市终于涨不动了,买房还能致富吗?过去20年,买房是中国人财富增长最快的路径,那么未来,买房还能致富吗?最近,统计局公布了上半年的房地产市场运行情况,各项关键指标全面遇冷,一向用词谨慎的统计局用……
以亏损换基础设施:为什么美团“亏得值”?清华大学成立人工智能研究院贵州建设首个VR智慧党校从士兵角度感受战争恐怖VR最大程度还原纪录片真实感黑客发现一条假P2P生产流水线,一年吸金上亿韩国KTCorp和GSRetail联合打造VR主题公园VRIMagicLeap发布入门指南旨在帮助内容开发者首超1。8万亿!余额宝“碾压”中行个人活期!极光大数据递交赴美上市申请,预计募资2亿美元美媒:阿里巴巴正缩减对硅谷投资DigitalCatapult发布VRAR报告指出内容经济的神秘网站“横空出世”,“比特币之父”中本聪可能正在写书特斯拉上市8年股价飙涨20倍却未盈利,未来须扫清三大障碍

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找美丽时装彩妆资讯历史明星乐活安卓数码常识驾车健康苹果问答网络发型电视车载室内电影游戏科学音乐整形