即时图像目标

从本地或外部存储的图像资源立即创建图像目标。

在中创建图像目标目标经理并将其下载为设备数据库,或在运行时从图像资产立即创建它们。

如果您正在寻找以本机模式运行时加载图像目标,请参阅如何在本机中创建和修改目标.

图像资源中的图像目标

使用具有足够详细信息的图像资源,并将其导入Unity编辑器以创建图像目标。将图像资源添加到图像目标行为的组件图像目标游戏对象,Vuforia将在运行时创建图像目标。

与目标管理器相比,此方法提供的图像资产跟踪质量和评级信息较少。因此,您应该选择一个满足最佳实践.创建图像目标()宽度和高度限制为2048像素。

创建即时图像目标

  1. 打开一个空的Unity项目,然后添加Vuforia SDK.
  2. 创建ARCamera游戏对象并将Vuforia Developer帐户中的许可证添加到中的许可密钥字段Vuforia配置.
  3. 将详细的JPG或PNG图像加载到Assets文件夹中。
  4. 创建新的Vuforia引擎图像目标游戏对象.

  5. 在检查员图像目标游戏对象,设置类型来自图像.
  6. 将图像文件拖动到标有图像并给它起个名字。
    • 您可能需要在高级导入设置中将图像设置为“启用读/写”。如果需要额外的操作,或者图像在创建目标时有被重缩放的风险,检查器将显示一条消息。

      注意:可扩展高级菜单用于重新缩放ImageTarget游戏对象。

  7. 将AR内容作为孩子放在ImageTarget GameObject上并使用Vuforia的播放模式按Play或将应用程序部署到您的设备。

从文件或Texture2D对象在运行时创建即时图像目标

或者,可以在运行时在C#中创建即时图像目标。将以下代码附加到场景中的任何游戏对象。脚本从流媒体资产/Vuforia文件夹并在运行时创建图像目标。有关运行时加载的更多信息,请参阅统一创建和加载目标.

注意:A类许可证密钥必须添加才能使用即时图像目标。

使用UnityEngine;使用Vuforia;公共类SideLoadImageTarget:MonoBehaviour{public Texture2D纹理文件;公共float printedTargetSize;公共字符串targetName;无效开始(){//初始化Vuforia引擎后,使用VuforiaApplication调用函数Vuforia应用程序。实例。OnVuforiaStarted+=CreateImageTargetFromSideloadedTexture;}无效CreateImageTargetFromSideloadedTexture(){var mTarget=VuforiaBehaviour。实例。观察员工厂。创建图像目标(纹理文件,打印的目标大小,目标名称);//将默认观察者事件处理程序添加到新创建的游戏对象mTarget.game对象。添加组件<DefaultObserverEventHandler>();调试。日志(“创建即时图像目标”+mTarget.TargetName);}}

来自外部纹理2D源的图像目标

下面的代码示例从web URL下载纹理图像并生成图像目标。将脚本附加到ARCamera游戏对象。

使用UnityEngine;使用UnityEngine。网络;使用系统。收藏;使用Vuforia;公共类SideLoadFromWeb:MonoBehaviour{来自Web的纹理2D图像;无效开始(){Vuforia应用程序。实例。OnVuforiaInitialized+=OnVuforiaInitialize;}void OnVuforiaInitialized(Vuforia初始化错误){StartCoroutine(RetrieveTextureFromWeb());}IEnumerator从Web()检索文本{using(UnityWebRequest uwr=UnityWeb请求纹理.GetTexture(“https://library.vuforia.com/sites/default/files/vuforia-library/articles/solution/Magic%20Leap%20Related%20Content/Astronaut-缩放.jpg”){收益回报超高频。SendWebRequest();if(uwr.result!=UnityWebRequest.result.Success){调试。日志(uwr.error);}其他的{//web请求完成后获取下载的纹理var texture=下载句柄文本。获取内容(uwr);imageFromWeb=纹理;调试。日志(“图片下载”+uwr);从下载的文本()创建图像目标;}}}无效CreateImageTargetFromDownloadedTexture(){var mTarget=VuforiaBehaviour。实例。观察员工厂。创建图像目标(来自Web的图像,0.1f,“宇航员”);//将DefaultObserverEventHandler添加到新创建的游戏对象mTarget.game对象。添加组件<DefaultObserverEventHandler>();调试。日志(“目标已创建并处于活动状态”+mTarget);}}