版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EasyAR3D物体跟踪01EasyAR_ObjectTracker-1预制体3D物体跟踪概述
3D物体跟踪主要是ObjectTracker和ObjectTarget这两个游戏对象,每个ObjectTarget对应一个被跟踪的3D物体,场景中可以同时出现多个ObjectTracker,3D物体跟踪结构如图所示。3D物体跟踪概述
使用3DTracking的第一步是准备好待跟踪物体的3D模型文件。模型文件必须是WavefrontOBJ格式,且必须包含相应的材质文件、以及至少一张纹理贴图文件。模型文件最低要求如下:一个3D模型应该包括一个OBJ(.obj)文件以及相应的MTL(.mtl)文件和纹理贴图文件,并放在同一个目录下;纹理贴图文件支持.jpg和.png格式;文件名以及文件内部的路径不能有空格;文件应使用UTF-8格式编码;4.1EasyAR_ObjectTracker-1预制体
使用3DTracking的第一步是准备好待跟踪物体的3D模型文件。模型文件必须是WavefrontOBJ格式,且必须包含相应的材质文件、以及至少一张纹理贴图文件。模型文件最低要求如下:一个3D模型应该包括一个OBJ(.obj)文件以及相应的MTL(.mtl)文件和纹理贴图文件,并放在同一个目录下;纹理贴图文件支持.jpg和.png格式;文件名以及文件内部的路径不能有空格;文件应使用UTF-8格式编码;4.1EasyAR_ObjectTracker-1预制体
打开Unity3D,新建一个项目,创建场景“ObjectTarget”,导入EasyARSDK:在项目中单击菜单【Assets】→【ImportPackage】→【CustomPackage】,选择从EasyAR官网下载的SDK,并设置LicenseKey。在Hierarchy面板添加目录“StreamingAssets”,用于放置本地的识别对象信息,如图所示。4.1EasyAR_ObjectTracker-1预制体
在Project面板中将【EasyAR】→【Prefabs】→【Composites】目录下的“EasyAR_ObjectTracker-1”预制体拖到场景中,如图所示。4.1EasyAR_ObjectTracker-1预制体
1.EasyAR_ObjectTracker-1游戏对象属性(1)Showpopmessage属性EasyARController的Showpopmessage选项的作用是是否在Game窗口显示EasyAR的提示信息。当选中的时候,如果EasyAR有错误信息就会直接显示在屏幕上,通常不需要修改。(2)CenterMode属性ARSession的CenterMode选项用来控制在场景中哪个游戏对象是参照对象。4.1EasyAR_ObjectTracker-1预制体
2.VideoCameraDevice游戏对象属性(1)FocusMode属性改选项用于设置摄像头的对焦模式,默认值是Continousauto。4.1EasyAR_ObjectTracker-1预制体
(2)CameraOpenMethod属性该属性用于设置使用哪个摄像头来获取环境图像,可以通过类型或者序号来设置。(3)CameraPreference属性该属性默认选中PreferObjectSensing,只有当使用到物体跟踪的时候才会选择PreferSurfaceTracking。4.1EasyAR_ObjectTracker-1预制体
3.ObjectTracker游戏对象属性ObjectTracker游戏对象属性如图所示。SimultaneousTargetNumer属性该属性设置指定当前的跟踪器同时跟踪目标的最大数量。一个场景中,能同时被跟踪的物体数量是所有ObjectTracker的SimultaneousTargetNumber属性值的和。02ObjectTarget预制体4.2ObjectTarget预制体
在Project面板中将【EasyAR】→【Prefabs】→【Primitives】目录下的“ObjectTarget”预制体拖到场景中,如图所示。4.2ObjectTarget预制体
(1)ActiveControl
该属性用于设置ObjectTarget游戏对象是否激活。当一个ObjectTarget游戏对象被激活但是又没有被跟踪的时候,其位置和角度不会变化。(2)SourceType
该属性用于设置跟踪类型,通常情况下使用ObjetFile即可。Target只是在程序控制的时候会使用到。(3)Tracker
每个ObjectTarget游戏对象必须指定一个ObjectTracker游戏对象才能被跟踪,可以通过修改该设置实现对物体的加载和卸载。03舞动的小熊
目录CONTENTS1导入模型相关内容2设置ObjectTarget属性3添加跟踪的模型4.3.1导入模型相关内容
现在StreamingAssets文件夹下再创建一个hexagon文件夹,我们将hexagon.obj、hexagon.mtl和hexagon.jpg文件拖到hexagon目录下,作为跟踪用的内容。再创建文件夹Model、Texture、Materials,将hexagon.obj文件拖到Model目录下,作为识别后显示用的模型;将hexagon.jpg文件拖到Texture目录下,作为模型的纹理,如图所示。4.3.2设置ObjectTarget属性
点击ObjectTarget预制体,设置SourceType属性为ObjFile;设置ObjPath属性为hexagon/hexagon.obj;修改ExtraFilePaths的Size值为“2”,并添加另外2个文件的路径设置Name属性和Scale属性,如图所示。4.3.3添加跟踪的模型
1.将Model下的hexagon模型拖到Hierarchy面板下的ObjectTarget游戏对象下作为跟踪后显示的模型。修改Rotation属性值为“0,180,0”,选择模型以保持方向一致;将材质hexagon.jpg拖给【hexagon】→【hexagon:hexagon】如图所示。4.3.3添加跟踪的模型
1.复制场景“ObjectTarget”,并重命名为“ObjectTarget-Develop”,导入资源包Teddy.unitypackage,将Project面板下的【UnityChan】→【Model】→【Teddy】拖到Hierarchy面板下的ObjectTarget游戏对象下,并调整它的位置Transform组件。2.设置Honey的标签,将Project面板下的【UnityChan】→【Model】→【Honey】先拖到场景中,调整大小,设置标签为“Bullet”(方便检测Teddy与Honey的碰撞)4.3.3添加跟踪的模型
1)选择场景中的Honey对象,在Inspector视图中点击【Untagged】按钮,弹出一个浮动菜单,选择【AddTag…】。
2)在弹出的Tags&Layers面板中点击【+】按钮,输入“Bullet”→【Save】。3)重新选择Honey游戏对象,点击【Tag】属性,此时,刚才添加的Bullet标签已经添加到Tag的下拉菜单栏,点击【Bullet】,Honey便加上了Bullet标签。4.3.3添加跟踪的模型
3.制作Honey预制体。1)给Honey游戏对象添加刚体组件“RigidBody”,如图所示。2)设置RigidBody组件不需要重力,取消勾选UseGravity,将CollisionDetection设置为Continous,即持续监测。3)创建脚本“Bullet.cs”挂载给Honey,实现当Honney发射出去5秒后,自动销毁。4)将游戏对象Honey拖到Project面板中,形成Honey的预制体,这个预制是封装了上面Bullet代码,再将Hierarchy面板的Honey游戏对象删除。4.3.3添加跟踪的模型
6.Teddy游戏对象添加动画状态机TeddyController。1)创建动画状态机。AnimatorController是用来配置和储存动画状态,在Project视图中点击【Create】→【AnimatorController】命令,更名为“TeddyController”。在Hierarchy视图中选择Teddy游戏对象,将动画状态机TeddyController赋值给该游戏对象的Animator组件的Controller属性,如图所示。4.3.3添加跟踪的模型
2)设置AnimationTransitions(动画过渡)。动画过渡是指由一个动画状态过渡到另外一个时发生的行为事件。需要注意,在一个特定时刻,只能进行一个动画过渡。两个动画的过渡连线可以在Animator视图里,鼠标右击其中一个动画【MakeTransition】→把线连到另一个动画状态上,点击两个动画状态之前的过渡线,在Inspector视图窗口,可以查看过渡的属性。4.3.3添加跟踪的模型
7.使用代码控制角色的动画。
用代码控制角色的动画,每种动画状态的转移,都是在一定的条件下被触发的。在默认情况下,它是通过设置该动画播放到某个位置上时触发下一个动画,在Animator窗口中任意选择一个Transition箭头,在Inspector窗口中可以看到动画转移的属性设置,如图所示。4.3.3添加跟踪的模型
7.使用代码控制角色的动画。1)在Animator窗口的左边有一个Parameters子栏,此子栏可以添加需要的变量,这些变量类型可以是Float、lnt、Bool和Trigger类型。通过添加属性,为程序脚本提供一个接口,可以通过脚本修改这些变量来控制动画状态的播放和状态的转换。点击Parameters旁边的加号,并选择Trigger类型,为该状态机添加两个Trigger类型的变量,分别命名为“Give”和“Dance”,如图所示。4.3.3添加跟踪的模型
7.使用代码控制角色的动画。2)点击WAIT02到WAIT03的过渡箭头,在Conditions中,添加条件“Give”,并取消勾选HasExitTime,其意思是当G
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会计成本核算精确度绩效考评表
- 物流主管物流配送成本绩效衡量表
- 建筑工地安全作业标准化流程指南
- 办公桌椅使用规范与保养指南
- 精准农业技术应用效果考核表
- 供应链管理师精通库存优化方案
- 外贸跟单操作流程与注意事项指南
- 船级社指南 船舶废气再循环(EGR)系统应用指南 GD23-2020
- 人力资源部关于招聘面试安排的通知4篇
- 电信行业技术支持主管客户服务KPI考核表
- 水利水电工程混凝土防渗墙施工技术规范
- 2025-2026学年冀少版八年级生物上册知识点总结
- 无锡科技馆新建设方案
- 科普大气压教学课件
- 云桌面技术分享
- 《复合材料电缆沟盖板》编制说明
- 2026年高考北京卷文综地理考试题目及答案
- 奖项申报委托协议书
- 2025年西安交通大学财务处招聘(4人)笔试考试参考试题及答案解析
- 家政服务中级技能
- 侍茄师初级练习测试卷
评论
0/150
提交评论