Android ARToolKit - 更改 NFT 示例项目中的参考图像?
Android ARToolKit - Changing the reference images in the NFT sample project?
我一直在修补 ARToolKit 及其示例 Android Studio 项目,看看我可以根据自己的目的修改哪一个。我打开 nftBookProj
,它是使用 pinball.jpg
的那个,然后在图像的原点放置一个动画螺旋桨平面和一个 3D 轴。
我注意到 nftBookProj/nftBook/src/main/assets/DataNFT/
目录有 pinball.iset
、pinball.fset
和 pinball.fset3
文件。然后我制作了自己的图像(具有明确的特征、高分辨率、高 dpi 和所有)然后使用 the methods specified in this tutorial,我创建了我自己的一组 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
,编译项目,运行 它在我的平板电脑上。
然而,当我 运行 代码时,它没有对我制作的图像做出反应,当我检查弹球图像时,它起作用了。这意味着我无法完全更改它所引用的图像。
然后我对所有 类 检查了三次,但我看不到在哪里指示应该使用弹球图像。这个死胡同让我难过,因为我不知道该往哪里看。
有没有人幸运地为 Android 更改 ARToolKits NFTBookProj 中的参考图像?
找到了。在 nftBookApplication
class 里面说,如果 assets 文件夹中的文件发生变化,你应该更新 assets 文件夹,你还应该更新 Manifest 中的版本代码。
如果您不打算将应用上传到 google Play 商店,您可以只更新清单中的应用并删除清单中的 versionCode
和 versionName
行构建 gradle 文件。如果不这样做,gradle 文件中的版本信息将始终覆盖清单中的版本信息。好吧,如果您愿意花一两分钟时间同步它,您也可以使用 gradle 文件中的版本代码。
我一直在修补 ARToolKit 及其示例 Android Studio 项目,看看我可以根据自己的目的修改哪一个。我打开 nftBookProj
,它是使用 pinball.jpg
的那个,然后在图像的原点放置一个动画螺旋桨平面和一个 3D 轴。
我注意到 nftBookProj/nftBook/src/main/assets/DataNFT/
目录有 pinball.iset
、pinball.fset
和 pinball.fset3
文件。然后我制作了自己的图像(具有明确的特征、高分辨率、高 dpi 和所有)然后使用 the methods specified in this tutorial,我创建了我自己的一组 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
,编译项目,运行 它在我的平板电脑上。
然而,当我 运行 代码时,它没有对我制作的图像做出反应,当我检查弹球图像时,它起作用了。这意味着我无法完全更改它所引用的图像。
然后我对所有 类 检查了三次,但我看不到在哪里指示应该使用弹球图像。这个死胡同让我难过,因为我不知道该往哪里看。
有没有人幸运地为 Android 更改 ARToolKits NFTBookProj 中的参考图像?
找到了。在 nftBookApplication
class 里面说,如果 assets 文件夹中的文件发生变化,你应该更新 assets 文件夹,你还应该更新 Manifest 中的版本代码。
如果您不打算将应用上传到 google Play 商店,您可以只更新清单中的应用并删除清单中的 versionCode
和 versionName
行构建 gradle 文件。如果不这样做,gradle 文件中的版本信息将始终覆盖清单中的版本信息。好吧,如果您愿意花一两分钟时间同步它,您也可以使用 gradle 文件中的版本代码。