ImageTarget动态创建
来源:互联网 发布:淘宝订单要不要清洗 编辑:程序博客网 时间:2024/05/21 16:54
using UnityEngine;
using System.Linq;
using EasyAR;
namespace Sample
{
/***固定格式无需更改******/
public class HelloARTarget : MonoBehaviour
{
private const string title = "Please enter KEY first!";
private const string boxtitle = "===PLEASE ENTER YOUR KEY HERE===";
private const string keyMessage = ""
+ "Steps to create the key for this sample:\n"
+ " 1. login www.easyar.com\n"
+ " 2. create app with\n"
+ " Name: HelloARMultiTarget-MultiTracker (Unity)\n"
+ " Bundle ID: cn.easyar.samples.unity.helloarmultitarget.mt\n"
+ " 3. find the created item in the list and show key\n"
+ " 4. replace all text in TextArea with your key";
private void Awake()//唤醒
{
if (FindObjectOfType<EasyARBehaviour>().Key.Contains(boxtitle))
{
#if UNITY_EDITOR
UnityEditor.EditorUtility.DisplayDialog(title, keyMessage, "OK");
#endif
Debug.LogError(title + " " + keyMessage);
}
}
/****固定格式无需更改******/
void CreateTarget(string targetName, out SampleImageTargetBehaviour targetBehaviour)//通过图片动态加载ImageTarget
{
GameObject Target = new GameObject(targetName);
Target.transform.localPosition = Vector3.zero;
targetBehaviour = Target.AddComponent<SampleImageTargetBehaviour>();
}
void Start()
{
SampleImageTargetBehaviour targetBehaviour;
{
if (behaviour.name == "ImageTracker-3")
tracker = behaviour;
}
if (!tracker)
return;
tracker.SimultaneousNum = 2;
//分为图片动态创建和json动态创建
// dynamically load from image (*.jpg, *.png)
CreateTarget("argame01", out targetBehaviour);//绑定一个tracker,必须绑定了,才能被tracker追踪,然后识别里面的target。调用之前的createTarget方法,创建ImageTargetBaseBehaviour
targetBehaviour.Bind(tracker);
targetBehaviour.SetupWithImage("sightplus/argame01.jpg", StorageType.Assets, "argame01", new Vector2());
GameObject duck02_1 = Instantiate(Resources.Load("duck02")) as GameObject; //识别出图片后,让模型的坐标跟着imagetarget object的坐标走
duck02_1.transform.parent = targetBehaviour.gameObject.transform;
// dynamically load from json file
CreateTarget("argame00", out targetBehaviour);
targetBehaviour.Bind(tracker);
targetBehaviour.SetupWithJsonFile("targets.json", StorageType.Assets, "argame");
GameObject duck02_2 = Instantiate(Resources.Load("duck02")) as GameObject;
duck02_2.transform.parent = targetBehaviour.gameObject.transform;
// dynamically load from json string
string jsonString = @"
{
""images"" :
[
{
""image"" : ""sightplus/argame02.jpg"",
""name"" : ""argame02""
}
]
}
";
CreateTarget("argame02", out targetBehaviour);
targetBehaviour.Bind(tracker);
targetBehaviour.SetupWithJsonString(jsonString, StorageType.Assets, "argame02");
GameObject duck02_3 = Instantiate(Resources.Load("duck02")) as GameObject;
duck02_3.transform.parent = targetBehaviour.gameObject.transform;
// dynamically load all targets from json file
var targetList = ImageTargetBaseBehaviour.LoadListFromJsonFile("targets2.json", StorageType.Assets);
foreach (var target in targetList.Where(t => t.IsValid).OfType<ImageTarget>())
{
CreateTarget("argame03", out targetBehaviour);
targetBehaviour.Bind(tracker);
targetBehaviour.SetupWithTarget(target);
GameObject duck03 = Instantiate(Resources.Load("duck03")) as GameObject;
duck03.transform.parent = targetBehaviour.gameObject.transform;
}
targetBehaviour = null;
}
}
}
using System.Linq;
using EasyAR;
namespace Sample
{
/***固定格式无需更改******/
public class HelloARTarget : MonoBehaviour
{
private const string title = "Please enter KEY first!";
private const string boxtitle = "===PLEASE ENTER YOUR KEY HERE===";
private const string keyMessage = ""
+ "Steps to create the key for this sample:\n"
+ " 1. login www.easyar.com\n"
+ " 2. create app with\n"
+ " Name: HelloARMultiTarget-MultiTracker (Unity)\n"
+ " Bundle ID: cn.easyar.samples.unity.helloarmultitarget.mt\n"
+ " 3. find the created item in the list and show key\n"
+ " 4. replace all text in TextArea with your key";
private void Awake()//唤醒
{
if (FindObjectOfType<EasyARBehaviour>().Key.Contains(boxtitle))
{
#if UNITY_EDITOR
UnityEditor.EditorUtility.DisplayDialog(title, keyMessage, "OK");
#endif
Debug.LogError(title + " " + keyMessage);
}
}
/****固定格式无需更改******/
void CreateTarget(string targetName, out SampleImageTargetBehaviour targetBehaviour)//通过图片动态加载ImageTarget
{
GameObject Target = new GameObject(targetName);
Target.transform.localPosition = Vector3.zero;
targetBehaviour = Target.AddComponent<SampleImageTargetBehaviour>();
}
void Start()
{
SampleImageTargetBehaviour targetBehaviour;
ImageTrackerBehaviour tracker = null;//初始化Target
{
if (behaviour.name == "ImageTracker-3")
tracker = behaviour;
}
if (!tracker)
return;
tracker.SimultaneousNum = 2;
//分为图片动态创建和json动态创建
// dynamically load from image (*.jpg, *.png)
CreateTarget("argame01", out targetBehaviour);//绑定一个tracker,必须绑定了,才能被tracker追踪,然后识别里面的target。调用之前的createTarget方法,创建ImageTargetBaseBehaviour
targetBehaviour.Bind(tracker);
targetBehaviour.SetupWithImage("sightplus/argame01.jpg", StorageType.Assets, "argame01", new Vector2());
GameObject duck02_1 = Instantiate(Resources.Load("duck02")) as GameObject; //识别出图片后,让模型的坐标跟着imagetarget object的坐标走
duck02_1.transform.parent = targetBehaviour.gameObject.transform;
// dynamically load from json file
CreateTarget("argame00", out targetBehaviour);
targetBehaviour.Bind(tracker);
targetBehaviour.SetupWithJsonFile("targets.json", StorageType.Assets, "argame");
GameObject duck02_2 = Instantiate(Resources.Load("duck02")) as GameObject;
duck02_2.transform.parent = targetBehaviour.gameObject.transform;
// dynamically load from json string
string jsonString = @"
{
""images"" :
[
{
""image"" : ""sightplus/argame02.jpg"",
""name"" : ""argame02""
}
]
}
";
CreateTarget("argame02", out targetBehaviour);
targetBehaviour.Bind(tracker);
targetBehaviour.SetupWithJsonString(jsonString, StorageType.Assets, "argame02");
GameObject duck02_3 = Instantiate(Resources.Load("duck02")) as GameObject;
duck02_3.transform.parent = targetBehaviour.gameObject.transform;
// dynamically load all targets from json file
var targetList = ImageTargetBaseBehaviour.LoadListFromJsonFile("targets2.json", StorageType.Assets);
foreach (var target in targetList.Where(t => t.IsValid).OfType<ImageTarget>())
{
CreateTarget("argame03", out targetBehaviour);
targetBehaviour.Bind(tracker);
targetBehaviour.SetupWithTarget(target);
GameObject duck03 = Instantiate(Resources.Load("duck03")) as GameObject;
duck03.transform.parent = targetBehaviour.gameObject.transform;
}
targetBehaviour = null;
}
}
}
阅读全文
0 0
- ImageTarget动态创建
- 在unity3d中动态创建easyAR的imageTarget
- Vuforia 动态加载DataSet和ImageTarget
- AR如何动态加载模型资源并且将模型资源赋予某一个ImageTarget
- AR场景中怎么动态地交换ImageTarget的检测的模型对象
- Vuforia ImageTarget Native版本编译
- 动态创建
- ImageTarget识别物体脱离识别案例
- Unity系列之EasyAR——ImageTarget
- js动态创建li-动态创建td
- 动态创建按钮
- Delphi动态创建树
- 动态创建Tree
- 如何动态创建菜单
- 动态创建recordset
- 创建动态链接库
- 动态创建控件
- 动态创建用户界面
- 输入几个数求平均值
- 百度起诉前高管:景驰科技创始人王劲 索赔5000万!
- SDUT ACM 实验九 大小写转换
- 比特币是不是庞氏骗局?
- react-native: command not found
- ImageTarget动态创建
- CentOS 7下安装QT5.8
- SDUT ACM 实验九 字符串分割
- APP支付宝支付
- 【Android Studio】在编译器中查看类的继承关系
- SDUT ACM 实验九 C语言实验——删除指定字符
- centos7 git 更新
- linux环境配置_20171223
- GetWindowRect和GetClientRect的区别详解