一、简介

前段时间Pokemon Go的火热掀起了一股AR风潮,创新小组随后在这方面进行了一些探索,基于Unity完成了一个简单的线下社交游戏Demo,与普通多人游戏的区别主要在:游戏地图是基于真实地图制作而成,角色的位置和移动也是基于玩家自身的LBS数据。可以看做是抽出Pokemon Go的地图和角色部分,在上面增加社交游戏逻辑。

游戏截图:(当前玩家位于黄龙时代广场附近)

由于时间关系,玩家间的互动做的比较简单(AR发红包),下面介绍一下游戏地图的生成和角色的LBS信息关联。

二、地图

1、地图切片生成

由于游戏地图需要基于真实地图生成,这里采用百度地图SDK截图的方式,得到小块小块的地图切片,并记录切片的序号,然后在游戏中动态加载。

地图切片在二维平面上邻接排列,所有切片尺寸一致,给各个切片设定二维坐标,以左上角为起点(坐标为(0,0)),则每个切片所覆盖的经纬度矩形区域都能通过切片坐标、切片尺寸计算而得。

如图是切片生成的过程,包括两部分:地图图层的初始化和各切片生成。地图图层的初始化主要是设置地图的整体区域、图层的样式(如道路的颜色、是否显示建筑物等)和地图缩放等级,由于处于3D游戏环境,本项目将地图缩放等级设置为固定值,以减少不必要的绘制。

各切片的生成步骤如下:在索引确定后,根据切片尺寸计算当前切片的矩形区域,然后调用百度地图SDK,渲染出该区域地图图片,最后保存图片,得到当前切片结果。

2、地图切片的无缝拼接

如下图,本项目在游戏引擎中维护9张相互邻接的地图切片,构成切片九宫格,设中心切片的坐标为(0,0),则周围8邻域内的切片坐标分别为(-1,-1)、(0,-1)、(1,-1)、(-1,0)、(1,0)、(-1,1)、(0,1)、(1,1),在游戏运行过程中,玩家始终保持在中心切片,玩家在当前切片区域内移动时,玩家视野未超出九宫格切片所覆盖区域,九宫格无需更新;当玩家移动到切片边缘,进入下一个切片时,则需要更新九宫格:

上图示意的是玩家向右方移动,跨越切片时的情形,即玩家从(0,0)切片移动到(1,0)切片,此时(1,0)切片成为中心区域,需要在九宫格右边添加3个切片,同时去除九宫格左边的3个切片,新增加的3个切片需要加载对应的地图图片,保证地图的正确性。

因此,当玩家在地图上移动时,玩家始终处于九宫格的中心区域,玩家周围始终有足够的视野区域,当玩家跨越切片边界时,切片九宫格即时更新,使得玩家感受不到地图的切换过程,达到无缝漫游的效果。

三、角色

角色的地理位置、朝向、行走状态都来自手机的传感器,如GPS、加速度计等。对于角色的地理位置(经纬度坐标),需要进行坐标转换,以对应到游戏引擎中的坐标。

如图,将左上角第一个地图切片的左上角与Unity中的世界原点对应,即(0,0)对应经纬度(O-lat,O-lng),设Unity中地图切片的长宽分别为w、h,切片实际覆盖的经纬度分别为d-lat、d-lng:

则若当前玩家的真实地理位置经纬度为(x,y),可得玩家所属切片索引为:

玩家在Unity中的坐标(忽略z轴)为:

相应地,也能根据玩家在Unity中的坐标,计算出玩家的经纬度。

AR+LBS线下社交游戏尝试相关推荐

  1. 寻宝游戏 - 利用iBeacon特性设计的iOS线下寻宝游戏 - 物联网小游戏

    寻宝游戏 - 利用iBeacon特性设计的iOS线下寻宝游戏 作者简介 科科香,程序员 方向:IoT,方案集成,喜好各种新鲜东东 转载请注明出处 iBeacon简介 iBeacon(下面简称Beaco ...

  2. 云开发谁是卧底线下小游戏发牌助手微信小程序源码-亲测可用

    云开发谁是卧底线下小游戏源码,发牌助手微信小程序源码. "谁是卧底OL"是一个非常有趣,风靡全国的比拼语言表述能力.知识面与想象力的游戏. 谁是卧底OL是一款由开发商北游科技倾力打 ...

  3. 如何使用餐饮互动游戏进行拓客?餐饮加盟h5线下互动游戏能收获什么?

    随着微信H5小游戏的营销模式越来越流行,TOM游戏也与诸多餐饮商家展开了合作,商家们之前还在用发传单,扫码等位提醒等传统的方式进行拓客和维护,有些商家甚至没有任何营销方案.今天就H5小游戏如何帮餐饮行 ...

  4. 遇见未来-北京AR/MR线下技术交流邀请您(已过期)

      最近联合了华为准备做一次AR/MR行业技术讨论交流活动,侧重于AR/MR技术发展前沿.项目实施落地.5G风口下的产业发展前景.当前面临的困局及应对方案等话题.热忱欢迎北京这边的朋友过来交流讨论! ...

  5. 一个大型虚拟项目包含位于不同地点的许多干系人_线下娱乐“换血”,沉浸式体验会成为下一个10年的主题吗?...

    ​还在玩狼人杀和密室逃脱?不担心被人说"太out"? 2020年将至,下一个10年即将来临,沉浸式体验正在向我们走来. 没有AR/VR这些把现实世界搬到虚拟空间的酷炫技术,沉浸式娱 ...

  6. 微信的小程序选择:线下市场从未显得如此重要

    2017 年 1 月 9 日,小程序正式上线,到今日,3 月 8 号,这个新产品面世刚好满两个月. 小程序刚推出便受到全球关注,腾讯股价当天即创逾一个月高位,但关注度先是急速上涨,不久便迅速降温,甚至 ...

  7. 网络安全意识 | 线上社交竟潜藏如此恶魔...

    网络安全意识 | 线上社交竟潜藏如此恶魔- 顾名思义,本系列文章主讲"安全意识",而本期文章将主要讲述线上社交方面的安全意识问题. 如今,一个系统整体的安全性已经越来越强,面对纯技 ...

  8. 线上服务器崩溃,线下门店破万,社交新宠「剧本杀」是如何迅速爆火的?

    [导语]:今天我们来聊聊最近的社交游戏新宠–剧本杀,Python技术部分请看第三部分. Show me data,用数据说话 今天我们聊一聊 剧本杀 如果问,线下聚会可以玩儿什么?狼人杀?密室逃脱? ...

  9. 寻找终极流量,县镇市场+线下零售+社交零售会是什么?

    2019年,当"流量枯竭"真正来临时,所有人都在循着过去几年间探索出的流量增长路径继续发展,或下沉向五六线市场,或由线上转向线下,或借助人与人间的关系链,探索社交零售-- 当然,路 ...

最新文章

  1. “5G 消息”APP 短暂上线,它会干掉微信还是变成另一个飞信?
  2. matlab数字图像处理初级入门
  3. 计算机科学学院参加些什么比赛,计算机科学学院学生在“2018年中国大学生计算机设计大赛(西北赛区)”中喜获佳绩...
  4. 合并多个commit记录
  5. 【H.264/AVC视频编解码技术】第二章【H264码流分析】
  6. echart 折线从左到右动画效果_echarts之自动切换折线图
  7. C++对于文件的相关操作 创建、读写、删除代码
  8. Android官方开发文档Training系列课程中文版:添加ActionBar之添加Action按钮
  9. 【独家】孙茂松:从机器翻译到古诗生成
  10. VR来了,科技的各行各业要如何做好准备?
  11. 有关SQL Server事务日志的十大文章
  12. 西洋的AI作曲家,发布了一张中国风音乐专辑
  13. jsoup的Node类
  14. 各个行业的前端静态页面模板
  15. NMEA0183协议详细解析(GPS、北斗、GNSS)
  16. Linux操作系统思维导图
  17. Java之编写FlyBird小游戏
  18. 7个黑科技搜索网站,啥都能搜到!
  19. 应聘软件测试英文自我介绍,软件测试英文面试自我介绍2篇
  20. 大型服装集团BI决策系统的分析主题模块

热门文章

  1. 让微信二维码扫描你的APK
  2. WIN7 启动屏幕键盘
  3. 那两年炼就的Android内功修养
  4. 20221117 今天的世界发生了什么
  5. 用JS实现一个秒表计时器
  6. 打开运行PS、AI等软件时卡在启动窗口的解决办法
  7. 找出1000之内的所有完数
  8. troublemaker中文谐音_饿狼传说谐音歌词
  9. mysql使用()文件中的配置参数_MySQL使用( )文件中的配置参数。 答案:my.ini
  10. 【搞定Go语言】第2天6:Go语言基础之切片