对于我的新应用程序,我想要一个原生的iOS或Android,再加上一个显示一些图表的3d视图。虽然我最初计划在WebView中使用CSS转换以实现所需的3d效果,但由于性能无法达到预期的效果,我正在寻找另一种解决方案。以下是我的选择:
1.在OpenGL ES中重新创建场景
我会在OpenGL中重新创建我们的图形引擎。这当然是可能的,但对像我这样的人来说可能很难做到,因为他们以前从来没有做过3d编程。是否可以将为OpenGL编写的iOS代码移植到安卓系统?或者我要创造两次引擎?
2.使用像Unity3d这样的现成3d引擎
我无意中发现了Unity3d、Marmalade和类似的工具,这些工具可能会帮助我更容易地创建3d场景。然而,乍一看,我似乎必须在相应的创作系统中创建整个应用程序。除了3d视图之外,我什么都可以使用本机控件。在那些工具里有可能吗?如果是,是否可以将3d从iOS移植到安卓,反之亦然?
我问对了问题吗?我做了正确的假设吗?你觉得有什么不对劲吗?我错过了什么?
这些都是我的选择吗?或者也许还有别的什么,某种混合解决方案?
我应该选择哪种选择?
编辑:澄清一下,我不想在3d视图中显示iOS或安卓控件,而是围绕它显示:用户界面将是原生的,3d部分将包含在一个视图中。
发布于 2011-12-13 12:03:06
相当复杂的一个;-)
(1) OpenGL vs.:
我认为编写OpenGL代码的主要部分是可以移植的,例如在C++中使用Objective++在iOS上使用,在安卓上使用NDK (只是一个想法,从来没有使用过)。现在,这取决于图形部分的去向。如果你说的是图形,你的意思是你“只”需要函数图来在屏幕上绘图吗?或者,您是否有更多的对象在游戏或架构应用程序中显示在OpenGL中?
如果是后者,更大的问题似乎是模型的无缝集成。每个场景包含超过一些立方体是设计在一个建模工具,可以导出成几种格式(obj,dae,fbx,.)。但是你需要把它导入你的应用程序。这是游戏引擎来发挥,无论是团结,SIO2,博克,虚幻,乌龙,.
如果您需要绘制图表,手动OpenGL解决方案可能是值得考虑的。尽管即便如此,对现有引擎的一些研究可能还是有用的,因为OpenGL并不那么直观,您需要一些时间来结交朋友。我画了多个有缩放,着色,.在iPhone应用程序中,直接使用OpenGL,但这是一个纯粹的研究项目,而可移植性则不那么重要。
(2)将OpenGL与GUI元素混合
基本上,不可能在UIButton视图中显示标准的OpenGL。但是您可以拥有OpenGL视图和常规UI视图,并在它们之间切换。我不知道有什么工具允许您同时执行基于OpenGL的内容和常规的图形用户界面编程,并进一步独立于平台。
因此,一方面,您需要在您选择的工具中创建您的3D内容,然后集成本地UI代码。对于统一和iOS,有一些资源,如何做它,How to access Unity assets natively on Android or iPhone?或Mixing Unity generated code with Objective-C in iOS?
另一方面,您需要一个独立于平台的框架来完成常规的GUI编程,这样您就可以在Android和iOS上运行它。我不熟悉这个主题,但我从基于Mono的框架中听说过。
https://stackoverflow.com/questions/8486892
复制相似问题