前言
最近公司有AR开发的需求,需要使用手机扫描图片显示出不同的模型,同时模型要有旋转、缩放的功能,提供的框架是Vuforia。那么经过一个星期的研究,也算是完成了任务,现在总结出开发中遇到的一些坑,具体源码放在Gitee。
项目地址
https://gitee.com/GrapeM/vuforia_image_recognition
介绍
使用场景:根据多个模型图片,手机相机扫描后出现对应的模型,需要快速加载出模型,使用的模型都为OBJ模型。
使用技术:Java(不需要JNI)
主要知识点:
- 替换识别图片
- 序列化模型OBJ文件
首先说一下遇到的坑,Vuforia原始的加载模型方法就是一个坑,研究过一段时间的人大概都清楚。它的操作流程大概是这样的:
1. 将一个模型文件(OBJ)转化为.h文件
2. 将.h中的法线、顶点、纹理三个坐标点分别放在三个txt
3. 读取解析txt显示模型。
这一系列让人窒息的操作不仅仅是麻烦,而且解析txt的再显示模型的速度是慢的不得了。所以研究了两天,不得不从新寻找其他方法代替。
替换图片
开始之前,先准备好一些工作。申请key,替换识别的图片。
地址: