artoolkit学习之ARSimpleNativeCarsProj的一点研究心得

最近在研究AR,用的是使用很广泛的artoolkit,其中在AndroidStudioProjects有一个demo,叫ARSimpleNativeCarsProj,主要是修改代码来识别自己的图片,加载自己的模型。

我将其分为3步:

第一步:将自己的识别图制作成xxx.patt文件,制作方法自行百度,推荐一个网站:点击打开链接

第二步:将自己的模型放到工程目录下的assets\Data下

第三步:修改代码

首先,可以根据需要修改模型的数量

#define NUM_MODELS 3 //猜测是模型数量
其次,添加或修改模型的路径

const char *model0file = "Data/models/Porsche_911_GT3.obj";//模型文件
const char *model1file = "Data/models/Ferrari_Modena_Spider.obj";
const char *model2file = "Data/models/Milaosu.obj";//我自己的模型
然后,编写代码或修改代码,我是在原有基础上添加了一个模型,所以我添加了代码

models[2].
patternID=arwAddMarker("single;Data/test.patt;80");//我的识别图文件
arwSetMarkerOptionBool(models[2]
.patternID,ARW_MARKER_OPTION_SQUARE_USE_CONT_POSE_ESTIMATION,false);
arwSetMarkerOptionBool(models[2]
.patternID,ARW_MARKER_OPTION_FILTERED,true);

models[2].
obj=glmReadOBJ2(model2file,0,0);// context 0, don't read textures yet.
if(!models[2].obj){
LOGE("Error loading model from file '%s'.",model2file);
exit(-1);
}
glmScale(models[2]
.obj,0.035f);
//glmRotate(models[2].obj, 3.14159f / 2.0f, 1.0f, 0.0f, 0.0f);
glmCreateArrays(models[2]
.obj,GLM_SMOOTH | GLM_MATERIAL | GLM_TEXTURE);
models[2].
visible=false;

以上代码是在ARWrapperNativeCarsExample.cpp中。

以上就是我的研究成果,有不妥之处,还望指正。




  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码的灵魂是bug!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值