当前位置:   article > 正文

Metaio SDK 6.0.2自带Example自己实现(三)_meatio creator

meatio creator

前言:本文实现的是Example中的TutorialEdgeBasedInitialization功能,如果Metaio不知道怎么在Unity中进行简单的开发,请参考我的另一篇文章     Metaio在Unity中的简单使用

Metaio的Example位于    安装目录下  ~\Metaio SDK 6.0.2\_Unity\Example

实现的功能: 3D 模型识别 CAD

本人对3D识别CAD模型的理解。根据现实中的3D物体生成的CAD模型,对CAD模型进行一部处理,然后识别CAD模型,如果CAD模型和现实物体相符,则就可以修改CAD模型的颜色,动画等,具体请参考     http://www.arinchina.com/video/show-1275.html

 

正文:

准备资源:

目录下:

~\Metaio SDK 6.0.2\_Unity\Example\Assets\TutorialEdgeBasedInitialization

rim.obj   作用:车轮子的模型

VizAid.obj   作用:车轮子的框

EdgeBasedInitializationGUI.cs   作用:GUI显示

rim.png    作用:车轮子的贴图

将这些资源,拖放到TutorialEdgeBasedInitialization 文件夹

1:制作CAD制图识别

打开Meatio Creator,




选择的模型,是车轮的模型,也就是rim.obj 


然后点击OK


然后回到模型设置界面,总共有三部分,第一部分是对模型初步处理,初始化

 

点击Next继续,会进行都模型的处理

 

 



然后点击Finish,模型的设置就基本上完事了,然后导出包到项目中,该文件要放置在StreamingAsstes文件夹下,也就是TutorialEdgeBasedInitialization文件夹下

 

 

 

2:把两个预设体托到Hierarchy视窗中,复制metaioTracker,并分别修改名称为RimTrackerVisualizationTracker,设置SDK Signature,设置层,设置Select source,设置程序Bundle Identifier,这些如果不知道怎么设置的,请参考 Metaio在Unity中的简单使用

注意,Select source选择,把导入的压缩包直接拖放TutorialEdgeBasedInitialization文件夹下,Select source选择这个压缩包就可以了,不需要解压,把VisualizationTrackerCoordinate System ID更改为2,如图



Coordinate System ID会根据Tracker的增多而改变,

 

 

3:把车轮和车轮框的预设体分别托进去,并分别添加灯光

 

4:创建空物体,并重命名为GUI,为其添加两个脚本,如图

 

这两个脚本都是GUI的显示,其实也可不用,但为了和Demo一致,所以使用

 

5:可能在创建CAD模型中,有些操作不当,看起来效果不咋样,自己写一个脚本,手动旋转物体就可以看得清楚

创建C#脚本,Movement ,脚本如下

  1. public class Movement : MonoBehaviour
  2. {
  3. public GameObject gameObj;
  4. float horizontalSpeed = 0f;
  5. bool flag = true;
  6. void Update()
  7. {
  8. if (Input.touchCount == 1)
  9. {
  10. if (Input.GetTouch(0).phase == TouchPhase.Moved)
  11. {
  12. flag = false;
  13. float h = Input.GetAxis("Mouse X");
  14. float v = Input.GetAxis("Mouse Y");
  15. if (Mathf.Abs(h) >= Mathf.Abs(v))
  16. {
  17. if (h < 0)
  18. {
  19. horizontalSpeed = 6;
  20. gameObj.transform.RotateAround(gameObj.transform.position, Vector3.up, horizontalSpeed);
  21. }
  22. if (h > 0)
  23. {
  24. horizontalSpeed = 6;
  25. gameObj.transform.RotateAround(gameObj.transform.position, -Vector3.up, horizontalSpeed);
  26. }
  27. }
  28. }
  29. }
  30. }
  31. }


 

 

 

然后发布就可以了,由于现实中,我没有这个车轮,所以,我扫描在Unity编辑器中的模型,就可以查看效果,效果如图

 

 

 

当然,你也可以添加脚本,点击车轮的是,让播放什么动画等等。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/235786
推荐阅读
相关标签
  

闽ICP备14008679号