为Unity 3D构建iOS和Android ARToolkit包装器(ARWrapper)库

时间:2016-02-05 10:26:51

标签: android ios unity3d build artoolkit

我已经尝试了一段时间来弄清楚如何构建用于与ARToolkit 5.3.1接口的ARWrapper库。我可以使用ARToolkit源构建ARWrapper包,但我不知道如何从包转移到平台特定的库(iOS和Android)。在Unity的ARToolkit包中,我需要提供以下资源:

  

Android:AndroidManifest.xml,AndroidManifest.xml.meta,BT200Ctrl.jar,   BT200Ctrl.jar.meta,libARWrapper.so,libARWrapper.so.meta,   libc ++ _ shared.so,libc ++ _ shared.so.meta,res:res.meta,UnityARPlayer.jar,   UnityARPlayer.jar.meta

     

iOS:ARToolKitUtilities.m,ARToolKitUtilities.m.meta,libARWrapper.a,   libARWrapper.a.meta,libjpeg.a,libjpeg.a.meta

但到目前为止使用ARToolkit源代码我只能构建一个bundle文件(ARWrapper.bundle)。

有人可以帮我理解如何从捆绑包移动到平台特定的库,如上图所示,在包的资产文件夹中。更具体地说,我希望能够构建libARWrapper.so和libARWrapper.a

2 个答案:

答案 0 :(得分:2)

libARWrapper是每个平台的ARToolKit的一部分。

  • 您已经为OS X构建了它,可能是使用ARToolKit for OS X SDK。
  • 要为iOS构建它,您需要下载ARToolKit for iOS SDK并在Xcode中构建,然后将libarWrapper.a从libs复制到Unity项目中。
  • 对于Android,请再次下载ARToolKit for Android SDK,打开终端窗口cd android,然后./build.sh。最后,将libs目录中的libARWrapper.so复制到Unity项目中。
  • 对于Windows Win32,下载适用于Windows SDK的ARToolKit,请构建,将bin目录中的ARWrapper.dll复制到Unity项目中。

您提到的其他部分通常可以在每个平台上重建。对于Android,您可能想要重建的另一个关键组件是UnityARWrapper.jar,其源代码包含在ARToolKit for Unity SDK中。

答案 1 :(得分:0)

如果你有好的工具链,我想你应该使用CMake http://www.vtk.org/Wiki/CMake_Cross_Compiling

基本上我的想法是获取源代码,创建一个构建目录然后:

cd build
~/src/build$ cmake -DCMAKE_TOOLCHAIN_FILE=~/Toolchain.cmake ..