Unity + vuforia 开发虚拟按钮

首先在创建虚拟按钮之前,还是要首先了解imageTarget的创建方式,我自己时参考dzyi的博客弄的,推荐大家,写的很详细。

地址:http://blog.csdn.net/dzyi_/article/details/22898929

创建虚拟按钮我参考的是官方的example。

第一步,按照dzyi的博客创建imageTarget和你要现实的模型,以及模型的位置。

第二步,将VirtualButton的Prefab拖拽到你自己的imageTaget下面。

Unity + vuforia 开发虚拟按钮_第1张图片


第三步,在你的ImageTarget下,添加你自己的组件。组件需要继承IVirtualButtonEventHandler。

我自己的代码如下


using UnityEngine;
using System.Collections;

public class ST_VBEventHandler : MonoBehaviour,
IVirtualButtonEventHandler{

	public GameObject mBoll ;




	// Use this for initialization
	void Start () {
		VirtualButtonBehaviour[] vbs = GetComponentsInChildren();
		for (int i = 0; i < vbs.Length; ++i)
		{
			vbs[i].RegisterEventHandler(this);
		}
		Debug.Log ("asdfasdf=========================================asd");
		// Get handle to the teapot object
//		mBoll = transform.FindChild("teapot").gameObject;

	}

	public void OnButtonPressed(VirtualButtonAbstractBehaviour vb)
	{
		Debug.Log("OnButtonPressed=======::" + vb.VirtualButtonName);

		if (mBoll.activeSelf) {
			mBoll.SetActive(false);
		} else {
			mBoll.SetActive(true);
		}
	}
	
	
	/// 
	/// Called when the virtual button has just been released:
	/// 
	public void OnButtonReleased(VirtualButtonAbstractBehaviour vb)
	{
		Debug.Log("OnButtonReleased::" + vb.VirtualButtonName);
	}
	
	// Update is called once per frame
	void Update () {
	
	}
}

其中主要是要实现两个方法, OnButtonPressed 和 OnButtonReleased。第一个是虚拟按钮点击时,第二个时按钮推出时的处理。


基本上到这里虚拟按钮的处理就完成了。

自己试试吧!

你可能感兴趣的:(Unity + vuforia 开发虚拟按钮)