
PokmonGo一出,新鲜的玩法、经典的IP效应让这款使用了Unity以及AR技术的手游火遍了“大洋”南北。可惜的是这款新鲜的游戏还没有惠及中国市场的玩家们。腾讯内部的AR专家秉持着“一言不合就自己开发”的原则,自发对AR游戏进行了预研,本文将通过在Unity中对OpenCV及Vuforia库的使用,简单介绍制作AR游戏的一系列流程。
增强现实(AugmentedReality,简称AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。简单的说,在PokmonGo这款AR游戏中,精灵是虚拟的,地图是真实的,虚拟的精灵出现在了真实的地图之中,给了玩家十分新鲜的体验。
然而!腾讯的技术大牛在遇到新鲜事物的时候是拦不住的!秉持着“一言不合就自己开发”的原则,大牛决定,自己做一个AR游戏!!
PokmonGo的游戏引擎用到了Unity技术,在腾讯大牛预研的AR游戏中,分别用到了OpenCV及Vuforia库,下面将简单分享下两个库的使用。
OpenCV是英特尔发起并参与开发的计算机视觉库,在图像处理、模式识别及计算机视觉领域被广泛使用,这里就不做过多介绍了。
OpenCVForUnity目录下的Samples里有很多写好的示例,比如阈值分割、霍夫变换检测直线、人脸检测等,如果想运行需要在BuildSettings里添加好对应场景,其中有的需要用到摄像头。
背景是组里基于Unity做的一个AR小游戏打飞碟,其中使用OpenCV实现了红外效果及人脸检测:
这里主要用OpenCV对摄像头获取的图像做了颜色变换:首先将图像转为灰度图(cvtColor),然后基于某个色谱,根据不同的灰度值映射为不同的颜色(applyColorMap)。
对于此类滤镜也可以通过Unity的Shader来做(如下图),相比OpenCV性能要好些,但OpenCV做图像处理更灵活,也可以尽量去优化:
3.对于必要的Mat可以在类初始化时申请好空间,不用每次处理图像都申请再释放;
遇到强大Boss时,可将摄像头对准好友(人脸),当检测到人脸时,会出现好友助战剧情,协助攻击Boss。
同好友助战模式也利用了人脸检测,当在图像中检测到人脸时,会出现附着在人脸上的面具怪,并跟随其移动。
首先,简单区分下人脸检测和人脸识别这两个概念:人脸检测是找到图像中人脸的位置、大小,而人脸识别不仅要检测出人脸,还要知道这人是谁。
OpenCVForUnity中的人脸检测示例用到了基于Haar特征及LBP特征的两种分类器来检测人脸(已经训练好的分类器,想自己训练或者自己实现性能更优的算法可以去咨询优图~),同时也用到了多线程来异步计算,对于在性能较差的移动设备上来实现人脸检测具有较好的参考性。
对于移动设备,人脸检测计算量较大(Unity本身开销已经不小了),所以不能对每帧图像都进行检测,可以利用多线程进行异步计算:
好友助战模式是检测到人脸后,在人脸上添加一些装饰物(copyTo用装饰物的PNG图片做掩膜)作为剧情的一部分;而面具怪则是根据检测到人脸的位置和大小来改变怪物的位置和大小。此外,如果进一步需要进行人脸识别,那不建议在移动设备上做,性能肯定吃不消了,可以用云,将计算放在服务器上。
Vuforia是高通的增九游娱乐入口官网强现实库,对unity支持好,使用起来简单方便,如下图所示为组内使用Unity+Vuforia开发的坦克大战AR版:通过识别预先设定的标志物(此处为lena头像),从而确定游戏世界所在的九游娱乐入口官网平面及大小,和实景结合展现出坦克大战游戏场景。
1.在官网注册账号后,首先注册一个License,并记下LicenseKey;
4.生成库后,注意Rating的星级,越高越好(识别度越高);将库下载下来导入到Unity中。
6.根据识别图片(ImageTarget)的相对位置将游戏物体或场景作为ImageTarget的子物体进行摆放。
7.按照上述步骤即可在Unity中简单使用Vuforia库,如果有更多需求可以去了解下它的其他功能及API;例如,为了增强识别效果,可以加入摄像头的对焦:
在实际使用中,Vufroia库简单易用,识别准确度较高,对手机性能消耗适中,但构建的虚拟场景容易因环境干扰发生一定抖动,影响玩家游戏体验;可同时识别多个物体,但准确度有所降低;长时间游戏会导致摄像头发烫。
为了避免以上手游性能方面对游戏的负面影响,可以利用一些现成的测试工具进行深度的检测,腾讯游戏品质管理团队专门打造的工具“Cube”目前已经可以使用,“Cube”可以帮助开发者发现Unity手游内分类资源的占用情况,尤其是对Unity游戏场景中的FPS、CPU、PSS的变化趋势重点关注,帮助在Unity游戏开发过程中不断改善玩家的体验。目前功能还在免费开放中。
游戏行业面临长线运营转型,崩溃治理成为关键挑战。腾讯CrashSight平台推出AI驱动的三大创新方案,推动游戏质量保障进入智能时代。
在WeTest与徐汇游戏服务产业中心合办的一场以“游戏AI技术提效”为主题的前沿技术研讨中,腾讯专家展示了基于LLM的智能体如何为游戏测试注入“认知智能”,从而重新定义自动化测试的边界与价值。
如何突破语言壁垒,让游戏内容原汁原味地触达全球玩家?腾讯WeTest团队在提供LQA外,推出的AI翻译服务,正为这一难题提供全新解法。项目可根据自己的项目情况,选择适合的业务。
由徐汇区文化和旅游局指导,腾讯WeTest等联合主办的“解锁游戏提效增值新范式”专场分享会成功落幕。活动聚焦游戏产业最前沿的AI与云技术,吸引了近百位游戏、金融、泛互联网行业从业者参与。
游戏性能测评数据“上新” 一图读懂逐点半导体与腾讯PerfDog联合打造的 “帧生成”指标
逐点半导体与腾讯PerfDog联合打造的 “帧生成”指标,一图带你读懂!