UnityAR(五)了解EasyAR的3D物体跟踪和OBJ格式的模型

3D物体跟踪

学了平面图像追踪后我们来学学怎么追踪现实中的3D物体

一起来了解一下这张图 如图 1-1

如果你看了这张图有点懵 那就回去再复习 第三课

1-1

它们三个我在第三课已经描述了所以就不重复了 第三课 如图1-2

1-2

了解ObjectTracker : 3D物体跟踪器

首先我们先删除ImageTracker和ImageTarget 如图2-1

2-1

添加ObjectTracker作为EasyAR的子对象 如图2-2

2-2

了解ObjectTracker 如图2-3

2-3

了解ObjectTarget:要跟踪的3D目标

我们把ObjectTarget托入场景里 如图3-1

3-1

了解ObjectTarget 如图3-2

Obj Path : 保存在Steaming Assts文件夹下的 3D物体的名字后缀名 ( 后缀名必须为Obj )  比如 prefab.Obj

Name : 3D物体的名字  比如 prefab

Unity的工作准备好了,我们现在讲讲模型

3-2

如何获得 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

4-1

包装盒色调复杂 ( YES )

4-2

第二个物体可以被EasyAR检测和跟踪。EasyAR无法检测和跟踪第一个物体,因为它的纹理太少了

模型可以有不同的形状

如图 4-3 , 4-4

4-3 
4-4

这两个物体都可以被EasyAR检测和跟踪

模型文件中不能引用绝对路径

4-5
4-6

这个模型无法被加载进入EasyAR的tracker中,因为EasyAR找不到使用了绝对路径的文件 如图4-5 .4-6

文件名以及模型文件内部的路径不能有空格 如图4-7 .4-8

4-7
4-8

模型文件应该使用 UTF-8 编码格式  如图4-9 .4-10

4-9
4-10

3DMax

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容