iOS显示3D模型,iOS和U3D混编(互相跳转)

本文介绍了如何在iOS应用中集成Unity3D来展示3D模型并进行交互。首先建议在仅需要简单交互时使用OpenGL的GLView,然后详细讲述了在复杂的3D需求下,如何解决Unity3D与iOS的混编问题,包括解决U3D导出工程在Xcode中运行的错误、如何在两者之间切换以及相关代码实现。
摘要由CSDN通过智能技术生成

     之前做一个项目时,需要一个界面展示3D模型并进行交互。所以针对这个问题研究了很久,并总结了一些经验。在论坛中总遇到相同需求的人,也有很多人问我,所以写出这篇博客供大家参考。网上资料很少,即时有也比较模糊,所以接下来我尽量说的详细些,看完之后还有不懂得可以继续问我,QQ:1414819100.

   一、如果项目紧紧是展示3d模型,并进行简单的手势交互,这个时候,最好不要选择使用U3D和iOS混编,这个样做起来会比较麻烦,逻辑关系复杂,安全隐患严重。Opengl能很好的解决这个问题,iOS封装成GLView,用起来很简单实用(可以进行交互,缩放,旋转,增删,调整透视等)。附上Demo,弄懂里面的一些主要参数,变量,实现你要的效果不难。有参数不明白可以继续联系我,这个就不多说了,接下来讲解比较棘手的。

  

   二、项目要求3D效果比较绚丽,交互复杂,GLView已经不能满足我们的需求,这个时候我们可以考虑一下U3D和iOS混编。我把自己在这个过程中遇到的问题的感悟分享给大家。

         首先,Unity3d会导出一个工程文件,这个工程文件和我们的iOS项目结构很相似。拿到之后,用打开,并运行。如果遇到报错,

         ld: warning: path '/Users/MAC/Desktop/ZiTest/Libraries/libiPhone-lib.a' following -L not a directory
         ld: library not found for -liPhone-lib
         clang: error: linker command failed with exit code 1 (use -v to see invocation)

        不要紧张,虽然错很多,但只是一个问题。U3D导出的xcode工程文件不支持模拟器运行,换成真机运行,问题就没有了。如果真机感觉每次都是真机测试很麻烦,你可以让u3d导出一份可以模拟器运行的工程文件。

        也有可能你会不能选择模拟器,找到TARGETS---Build Settings---  Supported Platforms   改成iOS。

       解决混编的方法有很多种,总结起来就两大类,一个是u3d导入iOS,一个是iOS导入u3d中。这个可以看看我之前看的一些文章,试过好多,没有成功,大家可以参考下,即时不行,了解一下原理。版本不同,方法可能有些不同,但是原理是一样的。(目前自己找到资料仅仅只有这些,大家好好参考一下)

                          http://blog.sina.com.cn/s/blog_48a8af640102vh2q.html

                          http://segmentfault.com/q/1010000000392448
                         http://www.cnblogs.com/shawn-zp/p/3225477.html

                         

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值