热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Vuforia⭐二、动态修改识别目标和3D物体

目录📢本节的目标🟥动态识别的实现方法📢本节的目标本章目标为不设置ImageTarget,Unity完成动态识别识

在这里插入图片描述

目录

📢 本节的目标

🟥 动态识别的实现方法



📢 本节的目标

本章目标为不设置ImageTarget,Unity完成动态识别识别图。


🟥 动态识别的实现方法

1、Vuforia官网上传识别目标,下载unitypackage并导入Unity

2、导入Vuforia SDK,并将ARCamera放置到场景,激活要识别的Datasets。由于激活了Datasets,这时,尽管没有放置ImageTarget,运行游戏,仍可看到Vuforia自动创建了多个带有ImageTargetBehaviour的New Game Object

3、创建空物体TargetManager,添加TargetCreator脚本,代码如下

using System.Collections.Generic;
using UnityEngine;
using Vuforia;public class TargetCreator : MonoBehaviour
{//每张识别图对应现实的3D物体public GameObject[] targetPrefabs;public void ConfigTrackable(string targetKey){if (targetPrefabs == null && targetKey == null) return;//获取场景中所有的识别图 //GetTrackableBehaviours:Returns all currently instantiated TrackableBehaviours except WordsIEnumerable trackables = TrackerManager.Instance.GetStateManager().GetTrackableBehaviours();foreach (TrackableBehaviour behaviour in trackables){if (behaviour.TrackableName == targetKey){behaviour.gameObject.name = "ImageTarget"; //修改NewGameObject名称为ImageTargetbehaviour.gameObject.AddComponent(); //添加事件处理脚本behaviour.gameObject.AddComponent(); //添加禁用渲染工具脚本foreach (GameObject prefab in targetPrefabs){if (prefab.name.Equals(targetKey)){GameObject obj = GameObject.Instantiate(prefab);obj.transform.parent = behaviour.transform;return;}}}}}}

代码解析:

1)、由behaviour.TrackableName == targetKey可以看出,我们在调用ConfigTrackable(string targetKey)方法时,要传入的是识别图的名称

2)、由prefab.name.Equals(targetKey)可以看出,我们预制体的名称,要=Vuforia上传的识别图的名称

4、创建Button和InputField,如下图所示

5、创建脚本Skode_Identification,挂载到TargetManager,代码如下。将输入框的text赋值到inputText,Button绑定Skode_Iden方法

using UnityEngine;
using UnityEngine.UI;public class Skode_Identification : MonoBehaviour {public Text inputText;public void Skode_Iden(){GetComponent().ConfigTrackable(inputText.text);}
}

6、测试(在PC端进行,要有摄像头)

运行游戏,输入某识别图的名称,点击Button,将摄像头对准要识别的图片

在Hierarchy面板找到显示出来的模型,此时该模型比例或许不是预期想要的大小,调整模型位置角度等,记下其Transform各数据,进行下一步的Vuforia DefaultTrackableEventHandler—OnTrackingFound等功能修改,接下来步骤由玩家根据自己要求自行修改

大家还有什么问题,欢迎在下方留言!


 

在这里插入图片描述


如果你有 技术的问题  项目开发

都可以加下方联系方式

和我聊一聊你的故事🧡


推荐阅读
author-avatar
独行小刀
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有