-5

我想开始开发像这样的游戏:

  1. 蚊子 AR 游戏: http: //www.makayama.com/mosquitoes.html
  2. DriodShooting:http ://www.youtube.com/watch?v=kU9qsUJWzgI

该应用程序使用相机和雷达来发现对象并使用触摸击中它 什么是执行针对 android 和 ios 的类似游戏的最佳 SDK 或平台或编程模型

非常感谢您的帮助和建议

提前感谢大家

4

1 回答 1

2

我同意 Ivan 的观点,即这个问题太宽泛,无法在这里处理。但无论如何,以下是 Android 平台需要考虑的一些事项:

如果您想使用 3D 图形 (OpenGL),那么您可能会遇到瓶颈,因为目前您无法在同一屏幕上同时拥有实时相机预览和 OpenGL 表面视图。问题是所谓的 SurfaceView(用于 OpenGL 渲染和相机实时预览)并非设计为相互叠加。因此,当涉及到显示顺序(在视频预览后面渲染的 3D 图形)时,您可以获得意想不到的结果。

这个问题有两种解决方案:

  1. 您不使用 3D 图形,而是在相机预览上渲染 2D 对象

  2. 您确实使用 3D 图形,但您必须捕获相机预览,将 YUV 编码数据转换为 RGB(这在某些设备上会出现问题,因为编码的一些非标准兼容自定义)并将该数据加载到 OpenGL 纹理中以显示在一个矩形图元上。这种方法的问题是:由于额外的处理开销而缺乏速度,并且由于与 OpenGL 相关的限制,您很可能需要按比例缩小相机预览纹理。

此外,您需要熟悉捕获运动传感器数据以计算可用于转换覆盖图形/虚拟对象的设备旋转矩阵。

如果您的 AR 应用程序应该与捕获的实时视频流“交互”,您就会遇到下一个瓶颈问题。这完全取决于您要实现的目标。你想识别人脸、某些形状、条形码等...无论要求是什么,Java 实现可能太慢,你需要求助于使用 NDK 编写 C 代码(你没有使用不同手机的经验在图像处理方面获得更快的速度)。这就是您需要涵盖的下一个主题。您还需要熟悉图像处理。但首先:创建一个规范。你需要知道你的 AR 应用真正需要什么。

一些现代 AR 应用程序还诉诸将捕获的视频数据实时流式传输到具有更多处理能力的服务器,可用于形状/图像识别。

您可以阅读有关该主题的硕士论文以获取更多信息。

所以底线是 AR 应用程序可以成为真正雄心勃勃的项目,涉及大量不同的技术和学科。

于 2012-06-27T20:12:40.810 回答