【发布时间】:2012-10-23 11:42:28
【问题描述】:
我正在使用 Vuforia sdk 开发增强现实,我想在运行时加载 3d 对象,我想从 web 服务中获取它并在需要时加载它,所以基本上我的问题只是我们如何才能在运行时加载任何 .h 文件。首先,我们可以在运行时加载它,如果可能的话,我们该怎么做。
【问题讨论】:
标签: iphone ios xcode augmented-reality
我正在使用 Vuforia sdk 开发增强现实,我想在运行时加载 3d 对象,我想从 web 服务中获取它并在需要时加载它,所以基本上我的问题只是我们如何才能在运行时加载任何 .h 文件。首先,我们可以在运行时加载它,如果可能的话,我们该怎么做。
【问题讨论】:
标签: iphone ios xcode augmented-reality
如果您有动态数据,将其放入 .h 文件是没有意义的。标头仅在程序编译时有用,而不是在运行时。
【讨论】:
AFAIK vuforia 只是将垂直、三角形等数组放入 h 文件中。所以你不需要在运行时加载 h 文件(这是不可能的,程序运行时没有 h 文件)。相反,您需要获取这些数组并将它们提供给 vuforia
【讨论】:
只需从网络下载该文件,将其存储在应用程序目录中,然后像应用程序捆绑的示例数据一样加载它
NSString * pathToDownloadedFile; //should have path to your file
QCAR::DataSet *dataSet = nil;
QCAR::TrackerManager& trackerManager = QCAR::TrackerManager::getInstance();
QCAR::ImageTracker* imageTracker = static_cast<QCAR::ImageTracker*> (trackerManager.getTracker(QCAR::Tracker::IMAGE_TRACKER));
dataSet = imageTracker->createDataSet();
dataSet->load([pathToDownloadedFile cStringUsingEncoding:NSASCIIStringEncoding], QCAR::DataSet::STORAGE_ABSOLUTE);
imageTracker->activateDataSet(dataSet);
【讨论】: