我一直在摆弄ARToolKit和他们的示例Android Studio项目,看看哪一个我可以修改为我的目的。我打开了nftBookProj
,这是一个使用pinball.jpg
,然后放置一个动画螺旋桨飞机沿3D轴在图像的原点。
我注意到nftBookProj/nftBook/src/main/assets/DataNFT/
目录有pinball.iset
、pinball.fset
和pinball.fset3
文件。然后我制作了我自己的图像(具有明确的特征,高分辨率,高dpi等),然后使用本教程中指定的方法,我创建了我自己的reference_1.iset
, reference_1.fset
, reference_1.fset3
文件集。然后我将这3个文件放在pinball
文件所在的文件夹中。
然后我检查了所有的活动和类,找出我必须改变的行,使应用程序引用我自己的reference
文件,而不是pinball
的。它不在任何类中,但我在/assets/Data/
文件夹下找到了markers.dat
文件,它看起来像这样:
# Number of markers
1
# Entries for each marker. Format is:
#
# Name of pattern file (relative to this file)
# Marker type (SINGLE)
# Marker width in millimetres (floating point number)
# Optional tokens:
# FILTER [x] Enable pose estimate filtering for the preceding marker
# x (optional) specifies the cutoff frequency. Default
# value is AR_FILTER_TRANS_MAT_CUTOFF_FREQ_DEFAULT, which
# at time of writing, equals 5.0.
# A blank line
../DataNFT/pinball
NFT
FILTER 15.0
然后我把../DataNFT/pinball
改为../DataNFT/reference_1
,编译项目,在我的平板电脑上运行。
然而,当我运行代码时,它没有对我制作的图像做出反应,当我检查弹球图像时,它工作了。这意味着我不能完全改变它所引用的图像。
然后我三次检查了所有的类,但我看不出它在哪里表明应该使用弹球图像。这个死胡同难倒了我,因为我不知道该往哪里找。
有没有人有幸在ARToolKits NFTBookProj为Android改变参考图像?
找到了。在nftBookApplication
类中,它说如果资产文件夹中的文件被更改,你应该更新资产文件夹,你也应该更新Manifest中的版本代码。
如果你不打算将应用程序上传到google play商店,你可以更新清单上的应用程序,并删除构建gradle文件中的versionCode
和versionName
行。如果不这样做,gradle文件中的版本信息将总是覆盖清单中的版本信息。你也可以使用gradle文件中的版本代码,如果你愿意花一到两分钟来同步的话