Я работаю с образцом приложения ARToolKit ARSimple на Android. Вместо того, чтобы отслеживать маркер Hiro, я хочу отслеживать маркер NFT. Итак, я использую:
int testMarker = ARToolKit.getInstance().addMarker("2d;data/nft/Test.jpg");
Согласно документации, это правильный способ добавить маркер NFT (если я что-то не пропустил).
Это дает следующий результат:
E/libARWrapper: ARController (native): [error]Error: Unknown marker type '2d' in config '2d;data/nft/Test.jpg'.
E/libARWrapper: ARController (native): [error]Error: Failed to load marker.
Что, казалось бы, предполагает, что это неправильный способ сделать это. Итак, как мне добавить маркер NFT?
Изменить:
С изменениями, внесенными в ответ Thor_Bux, мой код становится:
public boolean configureARScene() {
pinballMarker = ARToolKit.getInstance().addMarker("nft;data/pinball");
if (pinballMarker == -1) return false;
return true;
}
Файлы pinball.fset
, pinball.fset3
и pinball.iset
находятся в моем каталоге assets/Data
.
Сообщение об ошибке теперь следующее:
E/libar: Error: unable to open file 'data/pinball.iset' for reading.
E/libar: Error opening file 'data/pinball.iset'.
E/libARWrapper: ARController (native): [error]Error reading data from data/pinball.fset
E/libARWrapper: ARController (native): [error]Error: Failed to load marker.
Изменить:
После удаления приложения, как предложил Thor_Bux, и изменения конфигурации на nft;Data/pinball
маркер загружается. Но все еще есть сообщение об ошибке:
E/libARWrapper: ARController (native): [error]Loading Data/pinball.fset.
I/libar: ### Surface No.1 ###
I/libar: Read ImageSet.
I/libar: Imageset contains 8 images.
D/Camera-JNI: Using callback buffer from queue of length 9
D/Camera-JNI: Using callback buffer from queue of length 8
D/Camera-JNI: Using callback buffer from queue of length 7
D/Camera-JNI: Using callback buffer from queue of length 6
D/Camera-JNI: Using callback buffer from queue of length 5
D/Camera-JNI: Using callback buffer from queue of length 4
D/Camera-JNI: Using callback buffer from queue of length 3
D/Camera-JNI: Using callback buffer from queue of length 2
D/Camera-JNI: Using callback buffer from queue of length 1
D/Camera-JNI: Out of buffers, clearing callback!
I/libar: end.
I/libar: Read FeatureSet.
I/libar: end.
E/libARWrapper: ARController (native): [info]First NFT marker added; enabling NFT marker detection.
E/libARWrapper: ARController (native): [info]Added marker (UID=0), total markers loaded: 1.
Несмотря на то, что маркер успешно загружен, он не обнаруживается с помощью queryMarkerVisible()
. Кроме того, кажется, что SimpleRenderer#draw()
никогда не вызывается, несмотря на успешную настройку сцены.