在辨識圖左下方放一個虛擬按鈕,當手機鏡頭掃描到此按鈕,可以執行一些動作,如自動打電話。
步驟:
在 Hierarchy視窗,選 辨識圖(Target_unitychan)。在 Inspector 視窗,按 「Advanced」展開,再按「Add Virtual Button」。
更改 Virtual Button 的名字為 vb1。
Name 也改為 vb1, Sensitivity Setting 先選 LOW, Turn Off Behaviour 取消打勾。
匯入進來的圖形 circle_phone 的 Texture Type 改為 Sprite(2D and UI)。
Virtual Button 預設的材質是 VirtualButtonPreviewMaterial,是淺藍色,若要改成其它材質,可按 Element 0 此欄位右邊的小圓點圖示,改成其它材質。目前不用改。
把 VirtualButtonPreviewMaterial 改成其它圖示
按 VirtualButtonPreviewMaterial 右邊小齒輪圖示,選「Select Material」。
選 「circle_phone」,Scene 視窗中的 VirtualButton也變成 電話圖示。
移動和調整 Virtual Button,放在左下方。
新的 Script 更名為 VirtualButtonHandler,並連按二下以輸入程式。
程式如下:
using UnityEngine;
using System.Collections;
using Vuforia;
using System;
public class VirtualButtonHandler : MonoBehaviour, IVirtualButtonEventHandler
{
private void Start()
{
//建立虛擬按鈕物件並取得其子元素的組件
VirtualButtonBehaviour[] vbs = transform.GetComponentsInChildren
|
按「附加至 Unity」鈕,檢查程式有無錯誤。
先選辨識圖物件(Target_unitychan),將 VirtualButtonHandler 此Script,拖曳到Inspector視窗的下面。VirtualButtonHandler Script 必須綁定到 辨識圖物件(Target_unitychan)。
按「Play」鈕播放,看狀態列有無錯誤訊息,以此例子來說,出現 Trackable unitychan found,表示沒有錯誤。
選功能表的 File/Build Settings... 。按「Build」以建置發佈App。
最後產生 「dance_birth.apk」 此檔案,可上傳到手機上執行。(先上傳到雲端硬碟,再從手機下載或用 usb 連接線傳到手機)
切回到 Visual Studio,按「停止偵錯」鈕 。
檔案/全部儲存,把 所有 Scripts 全部儲存。
多個 Virtual Button
例如有二個 Virtual Button,dancevb 和 birthvb。
OnButtonPressed 此程序程式修改如下 :
switch (vb.name)
{
case "dancevb":
Application.OpenURL("tel://0422223307");
break;
case "birthvb":
Application.OpenURL("http://www.tchcvs.tc.edu.tw");
break;
}
Debug.Log(vb.name + "按鈕被按下");