基于移动设备的实景增强现实游戏

Download Report

Transcript 基于移动设备的实景增强现实游戏

基于移动设备的实景增强现实游戏
计算机动画的算法与技术 课程作业
计73 刘
洋 2007011329
计73 卜鹏洋 2007011311
环71 曾
臻 2007010325
分组情况
•
计73 刘
•
计73 卜鹏洋 2007011311
•
环71 曾
•
分工安排
洋 2007011329
臻 2007010325
• (选题内容之后)
选题内容:游戏玩法
• 基于移动设备的实景增强现实游戏
• 在真实城市范围内,以手机应用为媒介,手机网络为通讯方
式,虚拟与实景交互的多人RPG游戏。
• 游戏玩法
• 游戏范围为指定城市内,玩家加入游戏时在手机上安装该应
用,可以得到改进后的城市地图和任务分布。玩家通过手机地
图指引,到达实际地点后读取该地点的认证信息,在手机上获
取所需的下一步信息或者完成某任务。在所有任务完成后根据
得分将在玩家中评选最优给与奖励。
选题内容:应用前景
• 此类虚拟与现实结合的游戏方式较为新颖,通过精心
的设计,可以同时弥补虚拟游戏缺乏真实感和现实游
戏设施局限性的缺点。
• 游戏的应用可以开始于旅游城市,通过让游客参与RPG
游戏,被指引到景点并被给与必要的背景知识。如应
用于较大型的城市,则可以增加城市居民对所居环境
及历史的了解,同时体会到游戏的快乐。
• 此游戏同样可以商业化,即将指定商铺作为任务地点
设置在地图上,并在NPC设计、奖品等环节给与嵌入式
广告。
选题内容:本课计划
• 因为时间和精力有限,不可能在本课程大作业中将需求全部实
现。在本课程中计划实现的最主要的功能是在移动设备上的3D建
筑漫游,其中包括:
• 基于OpenGL ES的模型绘制、贴图绘制以及视点变换动画
• 将现有模型导入到移动设备
• 简单碰撞检测
• 另外,视实际进展情况,若时间允许,考虑继续实现:
• 部分自然景物的模拟,主要是水的模拟
• 利用多点触摸屏和传感器(GPS、加速度传感器等)提供更好
的交互体验
选题内容:开发环境(移动设备)
•
Google Nexus One
•
CPU: 1 GHz Qualcomm QSD 8250 Snapdragon ARM
•
Memory: 512 MB DRAM
•
Display:
• 480 x 800 px
• 3.7 in (94 mm)
• 24-bit color
• 1 ms response rate
•
Input
•
Touchscreen capable of two-finger gestures
•
Ambient light sensors
• 3-axis Accelerometer
• Digital Compass
• GPS Receiver
选题内容:开发环境
•
Google Android 2.2
• Software stack for mobile devices
• Operating System
• Middleware
• Key Applications
• Android SDK
• Tools and APIs necessary to begin developing applications on the Android
platform
• Using the Java programming language
• Android NDK
• A companion tool to the Android SDK that lets Android application developers
build performance-critical portions of their apps in native code.
选题内容:开发环境
•
OpenGL ES 2.0
• Royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded
systems
• Well-defined subsets of desktop OpenGL
• Using the C/C++ programming language
选题内容:开发环境
• 编程语言?
• 所有OpenGL ES代码使用C/C++编写,即所有图形学算法及动画
算法使用C/C++编写。
• 处理用户输入、读取移动传感器数据等涉及到Android API的部
分,使用JAVA编写
• 利用Android NDK提供的JNI:
• Java调用C/C++的绘制函数,并将结果显示在移动设备的屏
幕上
• Java通知C/C++用户输入和传感器数据的变化
• 总之,本课程要求的部分都使用C/C++编写
选题内容:开发环境
• 集成开发环境:Eclipse
• C/C++ Development Tools
• Eclipse IDE for JAVA Developers
• Android Development Tools
• Subclipse (SVN Client)
• 建模工具
• Google SketchUp
• Autodesk 3ds Max
选题内容:开发环境
已成功编译运行Android NDK
提供的Sample程序
右图:使用OpenGL ES绘制
的动画
选题内容:核心算法
•
需解决的问题:移动设备计算能力差
•
贴图烘焙(Render to Texture)
•
•
使用3ds Max预先渲染场景,将渲染结果保存为贴图,在移动设备上直接使用
渲染好的贴图(即用贴图表示光照和遮挡信息)
•
消除移动设备计算光照和阴影的开销
•
常用于游戏和建筑漫游动画
裁剪(Clip)
•
•
不渲染视野外的物体、被遮挡的物体和距离太远的物体
网格简化
•
先用3ds Max等软件实现。
•
若时间允许,则考虑自己写程序做进一步优化。
选题内容:核心算法之贴图烘焙
在3ds Max中使用Photon Mapping渲染
的钻石
贴图烘焙的输出结果
选题内容:核心算法
未经贴图烘焙的3ds Max视图
贴图烘焙后,3ds Max视图的显示结
果(仍可实时变换视点位置)
选题内容:辅助算法
• 简易碰撞检测
• 保证视点不会进入建筑物内部
• 自然景物的模拟
• 若时间允许,可以考虑做一些自然景物的模
拟,主要是水的模拟。
• 水池
• 喷泉
选题内容:模型来源
•
方案一:清华大学建筑学院
• 问题:精度无法接受
• 建筑学院表示:高精度模型需要收费
选题内容:模型来源
•
方案二:PKU SketchUp Team
• Google Earth上有北大主要建筑的模型,精度足够供移动设备使用
• 这些模型全部可以免费下载
• 主要问题:是北大,不是清华
分工安排
•
以下为初步的分工安排,根据实际情况,可能会有所调整,以充分发挥组员特
长。
•
计73 刘
•
•
洋 2007011329
•
Android SDK
•
贴图烘焙和试点变换动画
计73 卜鹏洋 2007011311
•
裁剪和碰撞检测
•
自然景物模拟
环71 曾
臻 2007010325
•
前期调研
•
模型准备及格式转换
•
3ds Max脚本
开源情况
•
目前用到的开源开发工具:
• Eclipse (http://dev.eclipse.org/viewcvs/index.cgi/)
• Android SDK/NDK (http://source.android.com/)
• OpenGL ES
•
其它开源代码可能在实际开发过程中寻找
•
注:准备模型的过程中,会用到SketchUp(有免费版)和3ds Max(可申请免
费教育版)这两个不开源软件。
问题交流
•
可能出现的问题及解决方案
• 移动设备运算能力有限
• 模型来源问题