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

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

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

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

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

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

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

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

了解 ObjectTracker 如图2-3

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

了解 ObjectTarget 如图3-2

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

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

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

  使用 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

在Unity中,可以使用InputGetMouseButtonDown()函数来获取当前鼠标拖拽的物体。该函数会返回一个bool值,如果鼠标按下,则返回true,否则返回false。可以在if语句中使用这个函数,来判断鼠标是否按下,如果按下,就可以获取当前鼠标拖拽的物体。除了使用InputGetMouseButtonDown()函数外,还可以使用raycast来检测鼠标拖拽的物体,从而获取当前鼠标拖拽的物体。

一 直接GameObjectFind(名字)获取,不推荐

二 给要获取的gameobject添加标签,脚本中GameObjectFindGameObjectWithTag(标签)或者GameObjectFindWithTag(标签)游戏场景中物体太多的话不要用

三 脚本中定义一个public GameObject 的变量检视面板中把gameobject拖给变量

获取gameobject后具体 *** 作就不说了如果你还有什么不懂的,可以百度搜下:编程回忆录,他们现在正在录制这方面的教程,都是零基础开始,由浅入深。

Unity3D鼠标拾取物体可以通过射线的方式获取鼠标坐标 通过物理将物体名字输出进行 *** 作。

function Update ()

{

if (InputGetMouseButton (0))

{

var ray = CameramainScreenPointToRay (InputmousePosition);

var hit : RaycastHit;

if (PhysicsRaycast (ray, hit))

{

DebugDrawLine (rayorigin, hitpoint);

print(hitcollidergameObjectname);

}

}

}

void OnCollisionEnter(Collision collisioner)

{

thistransformFindChild ("TEXT")GetComponent <TextMesh > ()text = collisionercollidergameObjectname;

}

不知道你这个TEXT到底是什么,我暂时用了3DTEXT来做了。

以上就是关于UnityAR(五)了解EasyAR的3D物体跟踪和OBJ格式的模型全部的内容,包括:UnityAR(五)了解EasyAR的3D物体跟踪和OBJ格式的模型、unity如何获取当前鼠标拖拽的物体、Unity 怎么由坐标得到GameObject的实例等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9622723.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存