iOS集成Unity(高通的Vuforia SDK)

1.在自己电脑上下载个unity软件(可以让ar给你或者自己下载),方便直接导出iOS版本.

untiy.png

1.0 打开unity

屏幕快照 2017-11-01 下午4.40.25.png

然后点开Player Settings,设置一些unity配置属性

屏幕快照 2017-11-01 下午4.43.21.png

从上往下,第一个箭头,unity自带有个Metal,但是高通SDK是不支持的,所以我们要把Metal去掉,否则打开Xcode就会崩溃。
第二个箭头,是项目BundleId,这里注意,一定要和你Xcode的bundleID一样。
第三个箭头,是必须得选择IL2CPP的,否则集成到项目中,是不支持arm64格式的。
这些都设置完成之后就直接Build了,导出Xcode版本。

屏幕快照 2017-11-01 下午4.50.35.png

2.现在进行导入到自己项目工程中,这时候你可以先运行一下unity直接导出的Xcode版本,(注意:如果unity那边写了 外部C方法,那么我们Xcode这边同样需要写上外部C方法,否则会报错,无法运行)。

2.0 我们需要把unity导出的工程里面Classes Data Libraries MapFileParse.sh文件夹或者文件,复制到项目中,在iOS工程里面,仅需要这些就可以了。如果你的AR项目中有播放视频之类的,需要导入unity工程里面的.xml .dat格式的文件才能成功播放视频。

屏幕快照 2017-11-01 下午5.01.36.png

2.1 其中 Classes Libraries MapFileParse.sh选择图中的Create groups

屏幕快照 2017-11-01 下午5.01.43.png

2.2 Data文件夹需要选择Create folder references,
这是笔者导入之后的样子:

屏幕快照 2017-11-01 下午5.00.49.png

2.3 成功导入之后,添加Framework(添加哪些framework,请参照你从Unity导出来的项目,我这里的是高通SDK)

屏幕快照 2017-11-01 下午5.07.37.png

3.0 之后就是一些Xcode的配置问题。

3.1 Header Search Paths 设置

Unity.png

3.2 Library Search Paths设置

Unity.png

3.3 这里Enable Bitcode设置为NO

屏幕快照 2017-11-01 下午5.13.52.png

3.4 other C Flags添加 -DINIT_SCRIPTING_BACKEND=1

Unity.png

笔者这里有了项目别的配置,只需要在最后添加这个配置就可以。

3.5 添加 User-Defined

GCC_THUNB_SUPPORT -> NO

GCC_USE_INDIRECT_FUNCTION_CALLS -> NO

UNITY_RUNTIME_VERSION -> 你导出项目的Unity版本(笔者这里用的是5.6.3f1)

UNITY_SCRIPTING_BACKEND - il2cpp

屏幕快照 2017-11-01 下午5.19.07.png

3.6将 Classes目录下的 Prefix.pch的内容全部复制到我们自己工程中创建的pch文件.

unity.png

3.7 把classes目录下的main.mm这里移除,笔者这里已经移除了,所以只有一个main.mm了(此main.mm是我们自己工程中的main.m改后缀为.mm)

unity.png

这里,我们的main.mm需要修改一下代码

屏幕快照 2017-11-01 下午5.26.32.png

3.8 最后需要添加Run script

屏幕快照 2017-11-01 下午5.27.46.png

笔者这里用的相对路径,如果合作开发的需要改成绝对路径。

  1. 到这里Xcode配置就结束了,需要更改一下APPdelegate代码已经unityController.h里面的代码。
unity.png

4.1 这里需要更改一下APPdelegate内容,

unity.png

添加

屏幕快照 2017-11-02 上午9.27.30.png

到这里整个流程就结束了,笔者这里可以成功运行出来ar界面。

你可能感兴趣的:(iOS集成Unity(高通的Vuforia SDK))