高通 AR Unity 虚拟按钮

高通开发AR都想用到互动,虚拟按钮互动可以实现虚拟和现实的结合互动。

我使用的版本是vuforia-sampleapps-unity-2-5-8的,具体怎么得到这个看http://blog.csdn.net/liang_704959721/article/details/9201765

主要代码

 

[csharp]  view plain copy
  1. /*============================================================================== 
  2. Copyright (c) 2010-2013 QUALCOMM Austria Research Center GmbH. 
  3. All Rights Reserved. 
  4. ==============================================================================*/  
  5.   
  6. using UnityEngine;  
  7. using System.Collections.Generic;  
  8.   
  9. /// <summary>  
  10. /// This class implements the IVirtualButtonEventHandler interface and  
  11. /// contains the logic to swap materials for the teapot model depending on what   
  12. /// virtual button has been pressed.  
  13. /// </summary>  
  14. public class VirtualButtonEventHandler : MonoBehaviour,  
  15.                                          IVirtualButtonEventHandler  
  16. {  
  17.   
  18.     private GameObject mTeapot;  
  19.     void Start()  
  20.     {  
  21.         // Register with the virtual buttons TrackableBehaviour  
  22.         VirtualButtonBehaviour[] vbs = GetComponentsInChildren<VirtualButtonBehaviour>();  
  23.         for (int i = 0; i < vbs.Length; ++i)  
  24.         {  
  25.             vbs[i].RegisterEventHandler(this);  
  26.         }  
  27.   
  28.         // Get handle to the teapot object  
  29.         mTeapot = transform.FindChild("teapot").gameObject;  
  30.   
  31.      }  
  32.  
  33.     #endregion // UNITY_MONOBEHAVIOUR_METHODS  
  34.  
  35.  
  36.  
  37.     #region PUBLIC_METHODS  
  38. //按下      
  39.     public void OnButtonPressed(VirtualButtonBehaviour vb)  
  40.     {  
  41.         //Debug.Log("OnButtonPressed");  
  42.   
  43.         if(vb.VirtualButtonName=="button")  
  44.         {  
  45.             print("button name!!!");  
  46.         }  
  47.         if(vb.VirtualButtonName=="buttoon_text")  
  48.         {  
  49.             print("button_text ");  
  50.         }  
  51.   
  52.   
  53.          
  54.     }  
  55.   
  56. //释放      
  57.     public void OnButtonReleased(VirtualButtonBehaviour vb)  
  58.     {  
  59.           
  60.          if(vb.VirtualButtonName=="button")  
  61.         {  
  62.             print("button name released !!!");  
  63.         }  
  64.         if(vb.VirtualButtonName=="buttoon_text")  
  65.         {  
  66.             print("button_text released");  
  67.         }  
  68.   
  69.         
  70.     }  
  71.     #endregion // PUBLIC_METHODS  
  72. }  

添加到这个物体上ImageTarget,在添加

高通 AR Unity 虚拟按钮_第1张图片

高通 AR Unity 虚拟按钮_第2张图片

注意 virtual Button Behaviour 这个脚本的name就是vb.VirtualButtonName=="button";

这样就ok了。


(转自:http://blog.csdn.net/liang_704959721/article/details/17634901)

你可能感兴趣的:(unity,AnYuanLzh,VuforiaAR)