一 柱体识别
上传target,选择柱体,设置上直径,下直径,高度 建议先把柱体贴图做好,根据贴图长度 l/π 获得直径 一般采用0-100以内的数值
上传完成后点进去上传贴图,
完成后下载unity用的database 导入到项目
二,制作柱体识别
ctrl+n 新建场景,删掉自带的camera,创建arcamera,点击vuforia-cylinder 创建柱体识别对象,点击它,设置识别信息:
然后在arcamera上进入设置,loaddata勾选 吧要识别出现的对象放到cylindertarget下
三,播放视频
导入项目将视频,创建一个画布canvas,添加rawimage,吧画布作为扫描显示对象,添加videopalyer,将视频指定,添加音频组件播放音频
注意使用ui播放视频需要创建一个rendertexture 将抗锯齿开最高,分辨率尽量高可以高清显示:
四 测试 打包测试一下 顺利应该是没有问题
五,曲面视频
为了实现曲面需要下载一个插件,曲面插件,导入插件后,再canvas上添加如下脚本,饼调整参数角度等:
动态调整角度:
using CurvedUI;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class FingerCtr : MonoBehaviour {
public CurvedUISettings uisetting;
public int angle;
public bool changing = false;
// Use this for initialization
void Start () {
angle = uisetting.Angle;
}
public void CHNAGE()
{
changing = true;
}
public void Reset()
{
changing = false ;
uisetting.Angle = -360;
}
void Update()
{
if(changing)
{
angle += 1;
angle = Mathf.Clamp(angle, -360, 0);
uisetting.Angle = angle;
}
}
}
六,虚拟按钮
虚拟按钮需要结合iamgetarget使用,截取识别图的某一部分作为彩蛋,用作虚拟按钮的识别也就是做一个图片识别,不过这个图片是罐体的一部分,不再赘述制作过程,不知道的去 这里
点击imagetarget,点开advanced,点击 add virtualbutton即可创建虚拟按钮
调整虚拟按钮大小,不要放到识别图边缘
这一部分再识别的时候如果手后者有东西挡住,就会判断按下虚拟按钮,就可触发对应绑定的事件,绑定事件网上有教程,这里贴一个自己做的; 可以在面板想UIbutton一样拖拽绑定
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using Vuforia;
[Serializable]
public class ButtonEvent: UnityEvent { }
public class VirtualButtonCtr : MonoBehaviour, IVirtualButtonEventHandler
{
public ButtonEvent onpress, onrelease;
public void OnButtonPressed(VirtualButtonBehaviour vb)
{
if (onpress != null)
onpress.Invoke();
}
public void OnButtonReleased(VirtualButtonBehaviour vb)
{
if (onrelease != null)
onrelease.Invoke();
}
// Use this for initialization
void Start () {
GetComponent<VirtualButtonBehaviour>().RegisterEventHandler(this);
}
// Update is called once per frame
void Update () {
}
}
七,最后,如果你跟我的步骤一致,恭喜你打包可以看到效果,试试吧!