【问题标题】:Build iOS and Android ARToolkit wrappers (ARWrapper) libraries for Unity 3D为 Unity 3D 构建 iOS 和 Android ARToolkit 包装器 (ARWrapper) 库
【发布时间】:2016-05-15 06:54:42
【问题描述】:

我一直在尝试弄清楚如何构建 Unity 用来与 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 源代码我只能构建一个捆绑文件 (ARWrapper.bundle)。

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

【问题讨论】:

  • 你想达到什么目的?有一个 ARToolKit 官方 Unity 插件,以及 Android 和 iOS。在我看来,您正在尝试重新发明轮子。
  • 我想修改包装器并添加一些计时器用于性能测量。修改完包装器后,我想构建它并在 Android 和 iOS 手机上测试结果。
  • 为什么不在包装器之外的 Unity 类中执行此操作?听起来它会为您省去很多麻烦
  • 我认为为简单起见,包装器将多个函数组合成两个调用(arwCapture 和 arwUpdateAR),但我想测量这些函数中每个步骤的性能,例如标记检测、跟踪、匹配等。这只有在我更改包装器内的代码时才有可能。
  • 使用 CMake 怎么样?

标签: android ios unity3d build artoolkit


【解决方案1】:

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

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

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

【讨论】:

  • 没错!原来我需要从他们的 github 上签出完整的项目才能做到这一点而不会出现任何问题。非常感谢您的帮助。
【解决方案2】:

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

基本上思路是获取源代码,创建构建目录,然后:

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

【讨论】:

  • 谢谢,但我没有工具链配置文件,也没有 CMake。在我看来,ARToolkit 的开发人员似乎使用 gradle 进行构建,但我不知道如何。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-17
  • 2017-01-23
  • 1970-01-01
  • 2016-11-09
相关资源
最近更新 更多