iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了跨平台3D引擎嵌入iOS / Android-View?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_801_4@ 对于我的新应用程序,我想要一个原生的iOS或 Android UI,以及一个显示一些图形的3d视图.然我最初计划在WebView中使用CSS转换来实现所需的3D效果但是失败了,因为性能并非接近可用,我正在寻找另一种解决方案.以下是我认为的选择:

1.在OpenGL ES中重新创建场景
我将在OpenGL中重新创建我们的图形引擎.这肯定是可能的,但对于像我这样以前从未做过3D编程的人来说可能很难做到.是否可以将为iOS编写的OpenGL代码移植到Android?或者我必须两次创建引擎?

2.使用像Unity3d这样的现成3D引擎
我偶然发现了Unity3d,Marmalade和类似的工具,这些工具可能会帮助我更轻松地创建3D场景.但是,乍一看似乎我必须在相应的创作系统中创建整个应用程序.除了三维视图外,我还要使用原生控件.那些工具可以吗?如果是,是否可以将3D从iOS移植到Android,反之亦然?

我问过正确的问题吗?我做出了正确的假设吗?你觉得有什么不对吗?我错过了什么?

这些都是我的选择吗?或者是否有其他东西,某种混合解决方案?

我应该选择哪个选项?

编辑:为了澄清,我不想在3d视图中显示iOS或android控件,而是围绕它:用户界面将是原生的,3d部分将包含在一个视图中.

解决方法

相当复杂的一个;-)

(1)OpenGL与引擎:

我认为有可能以可移植的方式编写OpenGL代码的主要部分,例如在C中使用iOS上的Objective-C和Android上的NDK(只是一个想法,从未使用过NDK).现在它取决于图形部分去哪里.如果你说图形,你的意思是你“只”需要功能图来在屏幕上绘图吗?或者你有更多的对象,如游戏或建筑应用程序,以在OpenGL中显示

如果是后者,那么更大的问题似乎是模型的无缝集成.每个包含多个立方体的场景都是在建模工具中设计的,可以导出为多种格式(obj,dae,fbx,…).但是你需要将它导入你的应用程序.无论是Unity,SIO2,Bork,Unreal,Oolong,还是游戏引擎都可以发挥作用……

如果需要绘制图形,可能需虑手动OpenGL解决方案.然即便如此,对现有引擎的一些研究也许是有用的,因为OpenGL不是那么直观,你需要一些时间来交朋友.我在直接使用OpenGL的iPhone应用程序中绘制了多个带缩放,着色等图形的图,但这是一个纯粹的研究项目,可移植性不太重要.

(2)将OpenGL与GUI元素混合

基本上,不可能在OpenGL视图中显示标准UIButton.但您可以拥有OpenGL视图和常规UI视图,并在它们之间切换.我不知道有什么工具可以让你同时做基于OpenGL的东西和常规的GUI编程,还可以进一步平台化.

因此,一方面,您需要在您选择的工具中创建3D内容,然后集成本机UI代码.对于Unity和iOS,有一些资源如何做到How to access Unity assets natively on Android or iPhone?Mixing Unity generated code with Objective-C in iOS?

另一方面,您需要一个独立于平台的框架来完成常规GUI编程,以便您可以在Android和iOS上运行它.我不熟悉这个主题,但我听说过基于Mono的框架.

大佬总结

以上是大佬教程为你收集整理的跨平台3D引擎嵌入iOS / Android-View?全部内容,希望文章能够帮你解决跨平台3D引擎嵌入iOS / Android-View?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。