【Vuforia】基于Vuforia增强现实开发(二)之模型移动
来源:互联网 发布:网上商城系统web源码 编辑:程序博客网 时间:2024/05/01 08:07
前边步骤一样。需要写一个脚本,关联要移动的模型。
跟上一篇相比,知识把对象从AudioSource换成了model,把脚本改了改接着用。
多三个新知识:
1、yield return
2、C#中的IEnumerator类
3、u3D中的开线程——StartCoroutine (move ());穿进去的是一个枚举类。
新建一个plane,以及它的材质球。当作地面。
代码如下:
<span style="font-size:18px;">using UnityEngine;using System.Collections;using Vuforia;public class TestMy : MonoBehaviour,ITrackableEventHandler {#region PRIVATE_MEMBER_VARIABLES//public GameObject UI;private TrackableBehaviour mTrackableBehaviour;public Transform Car;#endregion // PRIVATE_MEMBER_VARIABLES#region UNTIY_MONOBEHAVIOUR_METHODSvoid Start(){mTrackableBehaviour = GetComponent<TrackableBehaviour>();if (mTrackableBehaviour){mTrackableBehaviour.RegisterTrackableEventHandler(this);}}#endregion // UNTIY_MONOBEHAVIOUR_METHODS#region PUBLIC_METHODS/// <summary>/// Implementation of the ITrackableEventHandler function called when the/// tracking state changes./// </summary>public void OnTrackableStateChanged(TrackableBehaviour.Status previousStatus,TrackableBehaviour.Status newStatus){if (newStatus == TrackableBehaviour.Status.DETECTED ||newStatus == TrackableBehaviour.Status.TRACKED ||newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED){OnTrackingFound();//UI.SetActive (true);StopAllCoroutines();StartCoroutine (move ());}else{//UI.SetActive (false);OnTrackingLost();}}#endregion // PUBLIC_METHODSIEnumerator move(){Car.transform.localPosition = new Vector3 (0,-2,0);while(Car.transform.localPosition!=Vector3.zero){yield return new WaitForEndOfFrame ();//相对父级的位置Car.transform.localPosition = Vector3.MoveTowards (Car.transform.localPosition, Vector3.zero, 0.5f * Time.deltaTime);}}#region PRIVATE_METHODSprivate void OnTrackingFound(){Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true);Collider[] colliderComponents = GetComponentsInChildren<Collider>(true);// Enable rendering:foreach (Renderer component in rendererComponents){component.enabled = true;}// Enable colliders:foreach (Collider component in colliderComponents){component.enabled = true;}Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found");}private void OnTrackingLost(){Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true);Collider[] colliderComponents = GetComponentsInChildren<Collider>(true);// Disable rendering:foreach (Renderer component in rendererComponents){component.enabled = false;}// Disable colliders:foreach (Collider component in colliderComponents){component.enabled = false;}Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " lost");}#endregion // PRIVATE_METHODS}</span>
0 0
- 【Vuforia】基于Vuforia增强现实开发(二)之模型移动
- 【Vuforia】基于Vuforia增强现实开发(三)之模型旋转
- 【Vuforia】基于Vuforia增强现实开发(一)之识别图像播放声音
- (Unity3D)利用Vuforia开发增强现实
- Unity+Vuforia增强现实:实时替换模型
- unity+高通vuforia开发增强现实(AR)基础
- unity+高通vuforia开发增强现实(AR)教程
- [StarFromHere] Unity+vuforia开发增强现实
- unity+高通vuforia开发增强现实(AR)教程(二)
- unity+高通vuforia开发增强现实(AR)教程(二)
- unity+高通vuforia开发增强现实(AR)教程(二)
- 跨平台AR增强现实开发(二)(Vuforia目录结构)
- 跨平台AR增强现实开发(二)(Vuforia目录结构)
- AR 增强现实 开发入门详解 android studio Vuforia(二)更换背景目标图片
- [ios版本]AR 现实增强之高通Vuforia QCAR SDK (二)
- Unity3d vuforia增强现实(AR)
- 使用高通Vuforia开发AR增强现实游戏之Single Image Target单一图片识别(一)
- 增强现实(AR)学习笔记1:Vuforia开发准备
- 关于字符串数组的问题
- A - Doing Homework again
- java中缓存的使用
- bzoj 2186: [Sdoi2008] 沙拉公主的困惑 (数论,逆元)
- [HeadFirst-JSPServlet学习笔记][第一章:前言与概述]
- 【Vuforia】基于Vuforia增强现实开发(二)之模型移动
- 求出1~1000之间的素数,每行输出六个
- java方法执行图解
- 数据结构 - 知识点
- [HeadFirst-JSPServlet学习笔记][第二章:高层概述]
- 基于OpenGL 的STL 文件可视化研究
- codeforces 617B 水题~
- 算法虐我千百遍,我待算法如初恋
- 【杭电 】[2040]亲和数