AR--小Demo--伴旅
来源:互联网 发布:linux dns安装 编辑:程序博客网 时间:2024/05/23 02:10
抽点时间出来研究AR,完成下两个月前自己的一个idea,可惜的是到现在它已经再没必要做下去,没了意义,当初的激情已经不再。扩展还是很容易,毕竟留了接口。
说真的AR入门还是很简单,缺的的是idea.
如果想把Ar融入到游戏中貌似还是有点难,想到的就只有卡牌。
1.界面。
开始
拍照
支持触摸缩小放大模型
简单的点击模型互动
熟悉unity 动画系统
一。准备
1.登陆https://developer.vuforia.com/注册账号
2.http://www.arvrschool.com/read.php?tid=325&fid=21准备工作
二。导入模型在ARCamera里面有一项 Data Set Load Behaviour 选择下面的Load Data Set starvuforia Activate
三。开始界面。
四。主界面
1.拼UI,确定功能。
在MainStage里面负责监听AR的出现和消失事件,主要是显示主界面和隐藏主界面。
2.设计配置表,主要是为了以后维护简单只需要改配置表换资源就OK,扩展耶很容易.这步很重要。程序读取配置表自动生成选择界面UI.写配置实用Excel-->xml ,程序步骤:读取Xml解析所有数据
需求难点:1.识别出来图片时候要显示UI,没识别出来隐藏UI.
解决: DefaultTrackableEventHandler 是发现和丢失的函数
2.UI界面没有显示出来。
解决:选中UI的摄像机clear Flags-->Depth only, Depth 改后渲染就是它深度在ArCamera之上2
3.自动生成UI排列,需要的是脑力。
4.导出excle-->Xml http://zzfei.com/excel-to-xml/ 注意源xml格式
//平台路径
public string PathRes()
{
string localPath =
#if UNITY_EDITOR
"file://" + UnityEngine.Application.streamingAssetsPath;
#elif UNITY_ANDROID
UnityEngine.Application.streamingAssetsPath;
#endif
return localPath;
}
//解析我自己的配置文件xml
public void ParseXml(WWW filePath, string SingleNode)
{
XmlDocument xmlDoc = new XmlDocument();
Debug.Log(filePath.text);
xmlDoc.LoadXml(filePath.text);
XmlNodeList nodeList = xmlDoc.SelectSingleNode(SingleNode).ChildNodes;
foreach (XmlElement xe in nodeList)
{
ModeData temp = new ModeData();
int key = 0;
foreach (XmlElement x1 in xe.ChildNodes)
{
if (x1.Name == "ModeID") {
temp.ModeID = int.Parse(x1.InnerText);
key = temp.ModeID;
}
if (x1.Name == "StaticAutoType") temp.Type_Big = (int.Parse(x1.InnerText) == 1 ? StaticAutoType.Auto : StaticAutoType.Static);
if (x1.Name == "SubdivideType")
{
switch (x1.InnerText.ToString())
{
case "Anim":
temp.Type_little = SubdivideType.Anim;
break;
case "Person":
temp.Type_little = SubdivideType.Person;
break;
case "Traffic":
temp.Type_little = SubdivideType.Traffic;
break;
case "Military":
temp.Type_little = SubdivideType.Military;
break;
default:
break;
}
}
if (x1.Name == "Name") temp.Name = x1.InnerText.ToString();
if (x1.Name == "ModePath") temp._modePath = x1.InnerText.ToString();
if (x1.Name == "HeadPath") temp._headPath = x1.InnerText.ToString();
if (x1.Name == "ChineseSound") temp.ChineseSound = x1.InnerText.ToString();
if (x1.Name == "EnglishSound") temp.EnglishSound = x1.InnerText.ToString();
if (x1.Name == "_callSound") temp._callSound = x1.InnerText.ToString();
if (x1.Name == "RunStr") temp.RunStr = x1.InnerText.ToString();
if (x1.Name == "WalkStr") temp.WalkStr = x1.InnerText.ToString();
if (x1.Name == "RelaxStr") temp.RelaxStr = x1.InnerText.ToString();
}
_allModes.Add(key, temp);
}
// }
Debug.Log("Count : " + _allModes.Count);
foreach (KeyValuePair<int,ModeData> temps in _allModes)
{
Debug.Log("_modePath : " + temps.Value._modePath);
}
//ModuleManager.Instance.AddModule(ModuleType.MainModule, new GameEvent(MainNotice.SHOW_MAIN));
StageManager.Instance.EnterStart();
}
链接: http://pan.baidu.com/s/1sj8BzKp 密码: jzae
- AR--小Demo--伴旅
- Unity5+Vuforia实现一个AR小Demo (1)
- Unity5+Vuforia实现一个AR小Demo (2)
- OM-AR DEMO
- AR Video Demo
- Ar开发工具Demo
- 小demo
- 小demo
- 小demo
- Vuforia AR 官方DEMO研究(IOS)
- 用Unity3D实现简易的AR Demo
- 利用手机传感器定位的AR demo
- AR demo 简单的平面图像识别
- Vuforia+unity3D=AR Demo(初级教程)
- AR--AR 小应用究竟是如何实现的
- 星巴克AR技术小窥
- AR收款并核销到帐户 API Demo
- Android Studio上Vuforia AR引擎入门Demo
- complier之stack machine with one register
- SDWebImage的简单使用
- machine vision
- XIB 及 Storybord
- notepad++ 使用
- AR--小Demo--伴旅
- CentOS7.0 使用root登录桌面
- 总结一下学习android开发的网站
- VTK6.3+Qt5.4编译
- Android 多线程,线程池的使用
- PHP接口API文档转换SDK【适配CI框架】
- 循环单链表的实现,解决约瑟夫丢手帕问题
- poj 3041 Asteroids(二分图匹配匈牙利算法)
- RandomColor