3D物体跟踪
学了平面图像追踪后我们来学学怎么追踪现实中的3D物体
一起来了解一下这张图 如图 1-1
如果你看了这张图有点懵 那就回去再复习 第三课
它们三个我在第三课已经描述了所以就不重复了 第三课 如图1-2
了解ObjectTracker : 3D物体跟踪器
首先我们先删除ImageTracker和ImageTarget 如图2-1
添加ObjectTracker作为EasyAR的子对象 如图2-2
了解ObjectTracker 如图2-3
了解ObjectTarget:要跟踪的3D目标
我们把ObjectTarget托入场景里 如图3-1
了解ObjectTarget 如图3-2
Obj Path : 保存在Steaming Assts文件夹下的 3D物体的名字和后缀名 ( 后缀名必须为Obj ) 比如 prefab.Obj
Name : 3D物体的名字 比如 prefab
Unity的工作准备好了,我们现在讲讲模型
如何获得 OBJ 格式的模型
使用 3Ds Max 或 Maya 或是其它建模工具,导入现有 FBX 或其他格式的模型,然后导出成 OBJ 格式
使用 3Ds Max 或 Maya 或是其它建模工具创建 3D 模型并输出为 OBJ 格式
扫描真实世界中的物体,使用一些3D重建工具生成3D模型
可以选择性地使用3Ds Max 或 Maya等建模工具对模型进行调整
模型准备
使用3D Tracking的第一步是准备好待跟踪物体的3D模型文件。模型文件必须是OBJ格式,且必须包含相应的材质文件、以及至少一张纹理贴图文件。纹理贴图文件必须是JPEG或PNG格式。关于模型文件格式的更多细节 以下是一些模型的例子及反例,供快速参考
模型应当具有丰富的纹理细节
饼干色调太统一 ( NO )
因为色调太统一会导致电脑难找到3D物体中的细节 如图 4-1 , 4-2
包装盒色调复杂 ( YES )
第二个物体可以被EasyAR检测和跟踪。EasyAR无法检测和跟踪第一个物体,因为它的纹理太少了
模型可以有不同的形状
如图 4-3 , 4-4
这两个物体都可以被EasyAR检测和跟踪
模型文件中不能引用绝对路径
这个模型无法被加载进入EasyAR的tracker中,因为EasyAR找不到使用了绝对路径的文件 如图4-5 .4-6
文件名以及模型文件内部的路径不能有空格 如图4-7 .4-8
模型文件应该使用 UTF-8 编码格式 如图4-9 .4-10