为 Unity 3D 构建 iOS 和 Android ARToolkit 包装器 (ARWrapper) 库
Build iOS and Android ARToolkit wrappers (ARWrapper) libraries for Unity 3D
一段时间以来,我一直在尝试弄清楚如何构建 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
如果你有好的工具链,我想你应该使用 CMake
http://www.vtk.org/Wiki/CMake_Cross_Compiling
基本上这个想法是获取源代码,创建一个构建目录,然后:
cd build
~/src/build$ cmake -DCMAKE_TOOLCHAIN_FILE=~/Toolchain.cmake ..
libARWrapper 是每个平台的 ARToolKit 的一部分。
- 您已经为 OS X 构建了它,大概是使用 OS X SDK 的 ARToolKit。
- 要为 iOS 构建它,您需要为 iOS SDK 下载 ARToolKit 并在 Xcode 中构建,然后将 libARWrapper.a 从库复制到您的Unity 项目。
- 对于 Android,再次下载适用于 Android SDK 的 ARToolKit,打开终端 window、
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 中。
一段时间以来,我一直在尝试弄清楚如何构建 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
如果你有好的工具链,我想你应该使用 CMake http://www.vtk.org/Wiki/CMake_Cross_Compiling
基本上这个想法是获取源代码,创建一个构建目录,然后:
cd build
~/src/build$ cmake -DCMAKE_TOOLCHAIN_FILE=~/Toolchain.cmake ..
libARWrapper 是每个平台的 ARToolKit 的一部分。
- 您已经为 OS X 构建了它,大概是使用 OS X SDK 的 ARToolKit。
- 要为 iOS 构建它,您需要为 iOS SDK 下载 ARToolKit 并在 Xcode 中构建,然后将 libARWrapper.a 从库复制到您的Unity 项目。
- 对于 Android,再次下载适用于 Android SDK 的 ARToolKit,打开终端 window、
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 中。