200 likes | 374 Views
基于移动设备的实景增强现实游戏. 计算机动画的算法与技术 课程作业 计 73 刘 洋 2007011329 计 73 卜鹏洋 2007011311 环 71 曾 臻 2007010325. 分组情况. 计 73 刘 洋 2007011329 计 73 卜鹏洋 2007011311 环 71 曾 臻 2007010325 分工安排 (选题内容之后). 选题 内容:游戏玩法. 基于移动设备的实景增强现实游戏 在真实城市范围内,以手机应用为媒介,手机网络为通讯方式,虚拟与实景交互的多人 RPG 游戏。 游戏玩法
E N D
基于移动设备的实景增强现实游戏 计算机动画的算法与技术 课程作业 计73 刘 洋 2007011329 计73 卜鹏洋 2007011311 环71 曾 臻 2007010325
分组情况 • 计73 刘 洋 2007011329 • 计73 卜鹏洋 2007011311 • 环71 曾 臻 2007010325 • 分工安排 • (选题内容之后)
选题内容:游戏玩法 • 基于移动设备的实景增强现实游戏 • 在真实城市范围内,以手机应用为媒介,手机网络为通讯方式,虚拟与实景交互的多人RPG游戏。 • 游戏玩法 • 游戏范围为指定城市内,玩家加入游戏时在手机上安装该应用,可以得到改进后的城市地图和任务分布。玩家通过手机地图指引,到达实际地点后读取该地点的认证信息,在手机上获取所需的下一步信息或者完成某任务。在所有任务完成后根据得分将在玩家中评选最优给与奖励。
选题内容:应用前景 • 此类虚拟与现实结合的游戏方式较为新颖,通过精心的设计,可以同时弥补虚拟游戏缺乏真实感和现实游戏设施局限性的缺点。 • 游戏的应用可以开始于旅游城市,通过让游客参与RPG游戏,被指引到景点并被给与必要的背景知识。如应用于较大型的城市,则可以增加城市居民对所居环境及历史的了解,同时体会到游戏的快乐。 • 此游戏同样可以商业化,即将指定商铺作为任务地点设置在地图上,并在NPC设计、奖品等环节给与嵌入式广告。
选题内容:本课计划 • 因为时间和精力有限,不可能在本课程大作业中将需求全部实现。在本课程中计划实现的最主要的功能是在移动设备上的3D建筑漫游,其中包括: • 基于OpenGL ES的模型绘制、贴图绘制以及视点变换动画 • 将现有模型导入到移动设备 • 简单碰撞检测 • 另外,视实际进展情况,若时间允许,考虑继续实现: • 部分自然景物的模拟,主要是水的模拟 • 利用多点触摸屏和传感器(GPS、加速度传感器等)提供更好的交互体验
选题内容:开发环境(移动设备) • Google Nexus One • CPU: 1 GHz Qualcomm QSD 8250 SnapdragonARM • Memory: 512 MB DRAM • Display: • 480 x 800 px • 3.7 in (94 mm) • 24-bit color • 1ms 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 • Acompanion 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 SketchUpTeam • Google Earth上有北大主要建筑的模型,精度足够供移动设备使用 • 这些模型全部可以免费下载 • 主要问题:是北大,不是清华
分工安排 • 以下为初步的分工安排,根据实际情况,可能会有所调整,以充分发挥组员特长。 • 计73 刘 洋 2007011329 • AndroidSDK • 贴图烘焙和试点变换动画 • 计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(可申请免费教育版)这两个不开源软件。
问题交流 • 可能出现的问题及解决方案 • 移动设备运算能力有限 • 模型来源问题