我想开始开发像以下游戏:
应用程序使用相机和雷达来识别物体并使用触摸点击什么是最好的SDK或平台或编程模型来执行类似的游戏目标android和ios
非常感谢您的帮助和建议
提前感谢所有人
答案 0 :(得分:2)
我同意伊万的观点,这个问题太广泛了,无法在此处理。但无论如何,Android平台需要考虑以下几点:
如果你想使用3D图形(OpenGL),那么你可能会遇到瓶颈,因为目前你无法在同一个屏幕上同时进行实时摄像头预览和OpenGL表面视图。问题是所谓的SurfaceView(用于OpenGL渲染和相机实时预览)并不是设计成彼此叠加的。因此,当涉及到显示顺序(在视频预览后面后面渲染的3D图形)时,您可能会得到意想不到的结果。
这个问题有两个解决方案:
您不使用3D图形并使用在相机预览之上渲染2D对象
您确实使用3D图形,但是您必须捕获相机预览,将YUV编码数据转换为RGB(由于编码的某些非标准兼容自定义,这在某些设备上存在问题)并加载将数据转换为要在矩形基元上显示的OpenGL纹理。这种方法的问题是:由于额外的处理开销而缺乏速度,并且由于与OpenGL相关的限制,您很可能需要缩小相机预览纹理。
此外,您需要熟悉capturing motion sensor data来计算可用于转换叠加图形/虚拟对象的设备旋转矩阵。
如果您的AR应用程序与捕获的实时视频流“互动”,则会遇到下一个瓶颈问题。这完全取决于你想要达到的目标。你想要识别人脸,某些形状,条形码等...无论要求是什么,Java实现可能太慢了,你需要求助于使用NDK编写C代码(根据不同手机的经验你在图像处理方面获得更快的速度)。这是您需要涵盖的下一个主题。您还需要熟悉图像处理。但首先是:创建一个规范。您需要知道您的AR应用程序实际需要什么。
一些现代AR应用程序还可以将捕获的视频数据实时流式传输到服务器,该服务器具有更多处理能力,可用于形状/图像识别。
您可以阅读有关该主题的this master's thesis以获取更多信息。
所以最重要的是,AR应用程序可以成为真正雄心勃勃的项目,涉及大量不同的技术和学科。