嗯,最近再考虑,CityHunter中,玩家攻略藏宝图时,为了增加可玩性,应该增强在AR部分的游戏性。最近特别火的游戏《Pokemon Go》在打开摄像头以后,可以看到小精灵,实际上,如果这款游戏没有这个功能,那整个游戏还真没有什么游戏的感觉(就是动画、图像之类的元素特别少)。本人比较懒,没有去弄这款游戏,于是跟远在澳大利亚的高中老兄弟咨询了一下这款游戏的情况。

  事实上,《Pokemon Go》的AR元素,实现还是比较简单的。可以理解为,只不过是单纯的打开了摄像头,把背景替换了一下,以前好像是微信还是微信的一个插件,也有这样的功能,打开摄像头,将聊天的背景替换成实景,这么做是为了防止用户顾着聊天不看路= =。。。Pokemon出现的精灵,实际上只是一个2.5D的图片,不是真正的3D建模,如果你开着摄像头围着它绕一圈,是看不到小精灵的背面,不管你怎么转,你能看到的,只不过是一张正面图,当然它可能是带有动画效果,但绝对不是3D的。

  我对CityHunter的在AR攻略宝图时,希望能够得到这样的一个效果:

  举一个栗子,以“反重力场”这个陷阱来说,我希望进入反重力场的玩家,当打开摄像头的时候,必须看到周围(屏幕内)有浮起来的碎石,这个场景类似于《七龙珠》中的超级赛亚人觉醒时,常有的画面。而且用户改变镜头方向,或原地360°转圈,可以看到的不是固定的画面,而是会随着围绕的碎石场景,让一切更加真实。

[暂时找不到更好的,反正就这意思]

  其实要实现起来,倒也不会很困难。但是这也意味着,不能再简单地在Android Studio里制作了,当然可能有大神一样做得到吧。要处理这样的需求,最简单直观的办法,我想应该是引入Unity3D,思路大概如此:

  首先根据不同的陷阱,制作相应的场景,因为每一种陷阱,都是有对应的有效范围,所以场景也不需要做成无限大的,只需要根据陷阱的作用范围来设计3D场景的大小,然后将主摄像机的Transform属性中的各个值,与手机的加速传感器、陀螺仪进行绑定。从而实现手机带着镜头转,第一人称的感觉(体感操作,抛弃鼠标也可以很6的进行第一人称游戏),场景内的所有碎石,使用3D模型,并且这种物体重复性大,只需要用PreFab[预设]去复制,性能也不会有太大的影响。

  只要用户进入陷阱的有效范围,我们可以根据GPS定位及地图传来的数据,判断玩家是从场景的哪个位置进入到陷阱中,这样就可以实时更新玩家在场景中的位置,而更改周围碎石的透视效果(近大远小)。当玩家离开陷阱有效范围时,销毁这个场景中的特效。

  另外说一个事情:

很多Unity的教程,都说Android的项目不能导出源码,不方便进行二次开发,其实不是这样的(至少当下版本已经不是这样了,而且这一点误导了我很久,让我浪费了很多时间。所以大家看教程的时候,要注意那些博文发表的时间,和软件的版本),我用的是Unity5.3.5,在导出Android项目的时候,一样可以选择导出成Google Project,导出来的项目就是一个很普通的Android项目,但是目录结构是以ADT,就是Eclipse的,不是Android Studio的,这有点蛋疼,因为毕竟现在已经提倡使用Android Studio进行安卓开发了。无伤大雅吧,只能说,强迫症的话,确实有点难受。

  

转载于:https://www.cnblogs.com/wuxinzhe/p/5692642.html

【CityHunter】通过Unity3D来制作游戏中AR部分的内容相关推荐

  1. Unity制作游戏中的场景

    Unity制作游戏中的场景 1.2.3  场景 在Unity中,场景(Scene)就是游戏开发者制作游戏时,所使用的游戏场景.它是一个三维空间,对应的三维坐标轴分别是X轴.Y轴和Z轴本文选自Unity ...

  2. 一、创建Assetbundle 在unity3d开发的游戏中,无论模型,音频,还是图片等,我们都做成Prefab,然后打包成Assetbundle,方便我们后面的使用,来达到资源的更新。

    一.创建Assetbundle 在unity3d开发的游戏中,无论模型,音频,还是图片等,我们都做成Prefab,然后打包成Assetbundle,方便我们后面的使用,来达到资源的更新. 一个Asse ...

  3. Unity3D动作类游戏中两种相机抖动

    Unity3D动作类游戏中两种相机抖动 在动作类RPG游戏中,为了体现角色的技能和增加动作打击感,我们常常会给相机添加抖动效果来配合特效做一些技能效果. 我在网上搜了一下,然后结合自己的项目总结一下, ...

  4. Andriod小程序——简单制作游戏中控制任务移动的轮盘

    Andriod小程序--简单制作游戏中控制人物移动的轮盘 说明 自定义自己的view继承于View类 重写onDraw()方法 当我们看到这个控件的时候那个样子,如图 完善onDraw()方法 重写O ...

  5. 【Unity3d】 制作游戏主菜单 GUI

    [Unity3D] 制作游戏主菜单 from:http://v.youku.com/v_show/id_XMTg5MTU5MzUy.html 转载于:https://www.cnblogs.com/w ...

  6. Unity制作游戏中改名系统(第一次改名免费、改名提示、充值获得改名次数等 )

    Unity游戏制作中UI界面名字修改 游戏名称修改 简单粗暴直接上代码 关于充值系统的概念 游戏名称修改 现在网络游戏中名字是标新立异.展示自己独一无二的个性的方式之一,名字越来越烧,操作越来越低,也 ...

  7. 使用Render Texture制作游戏中的摄像头

    Render Texture是什么呢? Render Texture是一种你可以在其上绘制,然后像使用其它精灵/纹理一样的纹理.其中,最酷的一件事就是你可以将它作为相机视图的目标--这样相机把它所看到 ...

  8. 如何在 3dMax 中制作游戏中的战斧模型?

    继续给大家分享3dMax教程:如何在3dsMax中制作战斧教程. 介绍 大家好!今天想和大家分享的是用3ds Max制作一把战斧,分享一下制作过程中用到的一些技巧和技巧.这是一个比较基础的教程,包括建 ...

  9. 【spine】制作游戏中人物动作(战斗、倒地、移动等操作等)动画的一个完整流程

    正常流程 原画(可以自己找看起来不错的,当个兴趣爱好自己画也行,再不然自己用AI,比如SD或者Lora生成) 图片切割,要补全那些遮挡的部分(说明要自己先学会PS) 具体看这篇文章https://zh ...

  10. Unity3D的RPG游戏中攻击的判定

    目前在一个游戏里面,最重要的要数那些算法了.比如追击AI算法,寻路算法.一个优质的算法能让你的游戏体验更好.那么在RPG游戏里面,我们玩家角色的普攻一般情况下,如果选择的人物是那种剑士职业的(这里打个 ...

最新文章

  1. CVPR 2021 | 针对全局 SfM 的高效初始位姿图生成
  2. 日期Date和字符串之间转换
  3. 内存泄露的原因找到了,罪魁祸首居然是 Java TheadLocal
  4. python像素大于_用python处理图片实现图像中的像素访问
  5. PAT甲级1082 Read Number in Chinese:[C++题解]字符串处理
  6. 扩展Reporting Services和SQL Server 2016中的更改
  7. delphi html转为图片,Delphi转换Word为HTML文件或其它类型文件的总结
  8. 操作系统学习(十三) 、中断和异常
  9. 苹果Mac所有端口说明,将配件连接到 Mac
  10. 架构师成长计划|如何利用云原生构建一个企业级高可用架构?
  11. 【懒懒】我不生产笑话,我只是笑话的搬运工 [问题点数:200分]
  12. cf#94-div1-A. Statues
  13. Java使用微软Exchange邮箱发送与接收邮件
  14. SpringBoot 报错锦集
  15. ToLua原理和使用教程
  16. 为什么你需要辞职了?——辞职的十大理由
  17. Mybatis —— @Options注解实现执行参数配置
  18. 拒绝同质化,主题酒店大势所趋
  19. ✨ StarRocks 9 月社区动态
  20. 暴力破解MD5密码[单线程]

热门文章

  1. android 滤镜lomo,iOS滤镜实现之LOMO(美图秀秀经典LOMO)(示例代码)
  2. waves系统服务器,waves服务器:插件挂多了电脑宕机了?Impact Server服务器拯救你的电脑CPU!...
  3. 电器元件——LM7805
  4. 页面设计如何进行颜色搭配
  5. 卡耐基梅隆大学计算机科学,卡耐基梅隆大学之计算机科学系
  6. 麻省理工python公开课 pdf_MIT麻省理工学院公开课:计算机科学及编程导论 Python 笔记1-3...
  7. 麻省理工学院-人工智能公开课总结01
  8. python 读取网页源码_python获取整个网页源码的方法
  9. 360全景倒车影像怎么看_360全景影像怎么看
  10. 网络协议学习(B站观看最多)