项目使用的开发环境是unity4.3.4,vuforia sdk用的2.8.9实现的功能也比较简单,主要是标示卡的识别出现3D模型,同时出现一个动画播放按钮,第一次点击按钮,播放模型动画一个分解。第二次点击模型动画倒播模型回到初始状态。就这么一个功能。
上图
实现过程第一步和大部分ar项目一样,先制作上传识别图,点击打开链接
第二步实现最基本的AR,扫描图片显示模型。不会可以找找前面的文章。
第三步设置一下模型效果,添加模型shader
有金属光泽,可以下载使用比较成熟的shader包推荐一个Hard Surface Pro 。
下一步设置一下动画,添加按钮控制。我用的GUISkin皮肤。创建一个guiskin,设置一下鼠标经过按下的界面。代码调用一下
using UnityEngine; using System.Collections; 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"); } } } }上面代码也有控制动画播放。
最后找到识别到模型代码,添加一下隐藏按钮,在开始隐藏,识别到物体之后为真,显示。总结的目的主要是记录一下,每天都用收获。