赞
踩
Metaio的Example位于 安装目录下 ~\Metaio SDK 6.0.2\_Unity\Example
本人对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,并分别修改名称为RimTracker和VisualizationTracker,设置SDK Signature,设置层,设置Select source,设置程序Bundle Identifier,这些如果不知道怎么设置的,请参考 Metaio在Unity中的简单使用
注意,Select source选择,把导入的压缩包直接拖放TutorialEdgeBasedInitialization文件夹下,Select source选择这个压缩包就可以了,不需要解压,把VisualizationTracker的Coordinate System ID更改为2,如图
Coordinate System ID会根据Tracker的增多而改变,
3:把车轮和车轮框的预设体分别托进去,并分别添加灯光
4:创建空物体,并重命名为GUI,为其添加两个脚本,如图
这两个脚本都是GUI的显示,其实也可不用,但为了和Demo一致,所以使用
5:可能在创建CAD模型中,有些操作不当,看起来效果不咋样,自己写一个脚本,手动旋转物体就可以看得清楚
创建C#脚本,Movement ,脚本如下
- public class Movement : MonoBehaviour
- {
-
- public GameObject gameObj;
- float horizontalSpeed = 0f;
- bool flag = true;
-
-
- void Update()
- {
- if (Input.touchCount == 1)
- {
- if (Input.GetTouch(0).phase == TouchPhase.Moved)
- {
- flag = false;
- float h = Input.GetAxis("Mouse X");
- float v = Input.GetAxis("Mouse Y");
-
- if (Mathf.Abs(h) >= Mathf.Abs(v))
- {
- if (h < 0)
- {
- horizontalSpeed = 6;
- gameObj.transform.RotateAround(gameObj.transform.position, Vector3.up, horizontalSpeed);
- }
- if (h > 0)
- {
- horizontalSpeed = 6;
- gameObj.transform.RotateAround(gameObj.transform.position, -Vector3.up, horizontalSpeed);
- }
- }
- }
- }
- }
- }
然后发布就可以了,由于现实中,我没有这个车轮,所以,我扫描在Unity编辑器中的模型,就可以查看效果,效果如图
当然,你也可以添加脚本,点击车轮的是,让播放什么动画等等。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。