项目使用的开发环境是unity4.3.4,vuforia sdk用的2.8.9实现的功能也比较简单,主要是标示卡的识别出现3D模型,同时出现一个动画播放按钮,第一次点击按钮,播放模型动画一个分解。第二次点击模型动画倒播模型回到初始状态。就这么一个功能。
上图
实现过程第一步和大部分ar项目一样,先制作上传识别图,点击打开链接
第二步实现最基本的AR,扫描图片显示模型。不会可以找找前面的文章。
第三步设置一下模型效果,添加模型shader
有金属光泽,可以下载使用比较成熟的shader包推荐一个Hard Surface Pro 。
下一步设置一下动画,添加按钮控制。我用的GUISkin皮肤。创建一个guiskin,设置一下鼠标经过按下的界面。代码调用一下
using UnityEngine;
using System.Collec
tions;
public class GUIButton : MonoBehaviour {
public GUISkin mySkin;
//public float x1, x2, x3, x4;
bool isPlay = true;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnGUI()
{
GUI.skin = mySkin;
// GUI.Button(new Rect(1400.0f / 1627.0f * Screen.width, 60.0f / 915.0f * Screen.height, 150.0f / 1627.0f * Screen.width, 50.0f / 915.0f * Screen.height), "");
if (GUI.Button(new Rect(250 / 1627.0f * Screen.width, 350 / 915.0f * Screen.height, 256.0f / 1627.0f * Screen.width, 64.0f / 915.0f * Screen.height), "", "button"))
{
GameObject kqjhgame = GameObject.Find("KQjh");
if (isPlay)
{
kqjhgame.animation["Take 001"].speed = 1;
kqjhgame.animation.Play("Take 001");
isPlay = false;
print("1");
}
else
{
kqjhgame.animation["Take 001"].speed = -1;
kqjhgame.animation["Take 001"].time = animation["Take 001"].length;
kqjhgame.animation.Play("Take 001");
isPlay = true;
print("2");
}
}
}
}
上面代码也有控制动画播放。
最后找到识别到模型代码,添加一下隐藏按钮,在开始隐藏,识别到物体之后为真,显示。总结的目的主要是记录一下,每天都用收获。