分享

高通教程(转载),仔细阅读,收获会不小!

 尹亮亮 2015-08-20

第1步:安装扩展从这个网站下载
使用下载页面获得包为您的开发平台,进行下面的安装说明。请注意,需要统一3.4或3.5。检查的团结的Vuforia AR扩展支持的设备清单。
注:统一Android用户应检查在统一文件已Tested.html http:///support/documentation/Manual/Android-Devices,以确保我们支持的设备也支持统一。
在Windows上安装
建议的开发环境是微软Windows 7 32/64-bit或Windows XP。请注意,需要统一3.4或3.5。
  • 下载安装的EXE文件,从下载页面
  • 运行安装程序
  • 为方便您的开发环境安装包选择一个位置。
注:使用Win7 64位的统一时,你可能会在编辑器中的以下消息:“你的64位Windows安装缺少一个重要的服务包补丁,请申请在修补。http://support.microsoft.com/kb/ 976038,以确保稳定。“
注:为了扩展包在您的统一标准的资产清单,手动复制包的标准软件包统一安装的文件夹。
安装在Mac OS X
开发商的经验也已试验成功在Mac OS X 10.6和10.7。Mac OS X是需要统一iOS开发。
  • 下载的存档文件,从下载页面
  • 解压缩并运行安装程序
  • 为方便您的开发环境安装包选择一个位置。
注意:如果不能在您的统一标准的资产清单中列出的扩展包,手动复制包的StandardAssets统一安装的文件夹。
www.
安装的结果
七统一包应安装:
对于Android:
  • :vuforia机器人-XX-YY-zz.unitypackage基地QCAR扩展
  • vuforia - imagetargets的机器人- XX-YY-ZZ 。unitypackage:示例项目使用图像目标
  • vuforia framemarkers的机器人- XX-YY-ZZ 。unitypackage:一个示例项目,使用帧标志
  • vuforia -multitargets的机器人-XX-YY-zz.unitypackage:一个示例项目,使用多目标
  • vuforia -virtualbuttons的机器人-XX-YY-zz.unitypackage:示例项目使用虚拟按键
  • vuforia backgroundtextureaccess的机器人-XX-YY-zz.unitypackage:一个示例项目,使用视频背景肌理效果
  • vuforia-occlusionmanagement机器人-XX YY-zz.unitypackage的的:一个闭塞使用着色效果的示例项目
为iOS:
  • vuforia -IOS- XX-YY-ZZ 。unitypackage:基地扩展QCAR
  • vuforia -imagetargets-IOS- XX-YY-ZZ 。unitypackage:示例项目使用图像目标
  • vuforia framemarkers-IOS- XX-YY-ZZ 。unitypackage:一个示例项目,使用帧标志
  • vuforia -multitargets-IOS- XX-YY-ZZ 。unitypackage:一个示例项目,使用多目标
  • vuforia -virtualbuttons-IOS- XX-YY-ZZ 。unitypackage:一个示例项目使用虚拟按键
  • vuforia backgroundtextureaccess-IOS-XX-YY-zz.unitypackage:一个示例项目,使用视频背景肌理效果
  • 的vuforia occlusionmanagement-IOS-XX YY-zz.unitypackage的:一个闭塞使用着色的影响示例项目
注意的Vuforia统一包安装后,会有一个新的高层次的菜单项 - QCAR。该菜单项提供了方便地访问文档以及目标数据集的命名和属性
从统一AssetStore下载
另外,您可以直接下载扩展到您的统一项目,统一资产存储。在Unity 3编辑时,从窗口菜单中选择资产商店。搜索为“Vuforia”,然后下载并导入包。

第2步:编译一个简单的项目创建项目
当你安装包创建一个统一,并选择新项目vuforia 的机器人-XX-YY-zz.unitypackage或vuforia IOS- XX-YY-ZZ 。unitypackage从列表导入下列包。或者右键单击在一个开放的工程项目视图和选择导入包...浏览vuforia 的机器人-XX-YY-ZZ 。unitypackage或vuforia -IOS - XX-YY-ZZ 。unitypackage您刚刚安装和导入或双击下载的软件包。建立统一的项目时,避免在名称中使用空格,如果目标的iOS,因为这会导致出现问题后,当你用Xcode构建。请注意,通过双击一个包,你可以有选择地导入该软件包的一部分。
注:如果您没有在列表中看到的Vuforia包,回到第1步,并手动安装包。
接下来你将需要添加到您的项目集。做,你可以在两个方面:通过建立目标管理系统(TMS)的目标,或从其他项目中使用现有的目标,
要使用TMS的方法,请参阅[DevGuide - >目标管理系统的创建和下载包。无论是双击下载的软件包或统一的“进口包装”,然后“自定义软件包”项目上右键单击,然后选择下载的软件包。点击“导入”,导入目标数据集。
如果您要复制的数据集文件,从另一个项目是位于任何文件编辑/ QCAR / ImageTargetTextures文件夹也复制。这些将用于纹理的统一编辑器中的目标平面。
你现在应该看到下面的文件夹结构,内部团结:


这里有一个文件夹内容的快速破旧:
  • 编辑

包含所需的动态交互与统一编辑器中的可追踪数据的脚本。
  • 插件

包含Java和本地的二进制文件的Vuforia AR SDK整合与统一Android或统一的iOS应用。
  • 高通增强现实

包含Unity应用带来增强现实所需的脚本和组合屋。
  • 流媒体资产

包含的数据集配置XML和DAT文件下载从网上目标管理系统。
加入到场景的AR资产和预制
现在你已经进口的Vuforia的AR统一扩展,你可以很容易地适应您的项目使用的增强现实。展开高通公司增强现实文件夹,然后展开预制的文件夹。删除“主摄像头”,然后拖动拖动到场景ARCamera预制的一个实例。这个对象取代场景中的主摄像头,所以你可能想要删除任何其他相机的对象。ARCamera是负责在后台渲染摄像机的图像和操纵场景中的物体作出反应,以跟踪数据。在的地方ARCamera和目标资产的的可用StreamingAssets / QCAR文件夹,可以支持的设备上运行的应用程序,并在后台看到视频直播。

检查员认为,ARCamera
下一步,拖动到场景ImageTarget预制的一个实例。此的预制代表一个单一的图像目标跟踪的对象。选择在你的场景ImageTarget对象,并期待在督察。应该是一个的可追踪行为,名为图像目标属性。此属性包含了这个项目的所有可用的图像目标的下拉列表。你必须选择数据集和图像从你的的目标StreamingAssets / QCAR项目。在这个例子中,我们选择的“StonesAndChips “。(它会自动填充DataSet的XML文件是从网上目标管理系统下载)。统一示例应用程序,您可以使用多个图像目标。使用复制它们从ImageTargets样品或创建自己在' 我的Trackables本网站的部分。

检查员认为,ImageTarget
注意:当您添加到场景图像目标对象,出现一个灰色的平面对象。这个对象是一个占位符,实际图像目标。在图像目标的督察认为,你会发现一个弹出列表,被称为图像目标。从这个名单中,你可以选择任何图像目标之一,已在定义StreamingAssets / QCAR集。。场景中的图像目标对象,采用的大小和形状的图像目标后,它代表。它也是用相同的图像,图像目标是创建纹理。
添加三维物体的场景和附加到Trackables
现在,您可以结合3D内容到你的图像目标。作为一个测试,创建一个简单的Cube对象(游戏对象>创建其他>立方)。添加多维数据集作为一个孩子的ImageTarget对象层次列表中选择拖动它到ImageTarget项目。移动,直到它在图像目标为中心,在现场的立方体。您可能还需要添加定向光现场提供照明(游戏对象>创建其他>定向光)。
新Vuforia的AR扩展V1.5,默认的事件处理程序(DefaultTrackableEventHandler)已添加到图像目标。这个默认的处理程序,将导致你只是提请自动出现或消失的立方体-一个自动反应的目标,在视频的外观。
您可以覆盖此默认行为,如果你想-也玩淡出的动画,显示一个信息屏幕或播放声音例如想象。如需ITrackableEventHandler界面更详细的说明,请参见“1.3.4.1响应跟踪事件”。
添加数据集加载到相机
也有新的Vuforia的AR扩展V1.5是多目标数据集的概念。你需要告诉统一数据集加载您的应用程序。对于这个测试,因为我们已经借从??ImageTarget应用,我们将载入StonesAndChips数据集,使该活动数据集。

部署应用程序
下一步是将应用程序部署到支持的设备。
Android的部署过程
团结提供了一个Android设备建设时设置的号码-您将需要从菜单中选择(“文件”>“生成设置...>播放器设置...)看到当前设置。此外,现在选择您的平台- Android或IOS。
  • 点击分辨率和演示,选择所需的默认方向。注:现在的Vuforia AR扩展支持自动旋转。
  • 点击图标来设置你的应用程序图标。
  • 单击“ 其他设置。设置最小的空气污染水平的Android 2.2的升级Froyo“(API 8级)或更高。设置包标识符有效名称(如com.mycompany.firstARapp)。
接下来保存你的场景(“文件”>“保存场景)。
然后打开生成菜单(“文件”>“生成设置...)。确保你的场景是在构建场景的一部分。如果是这种情况并非如此,可以使用添加当前添加当前活跃的场景,或从项目视图到窗口拖放您保存的AR场景。
现在,您可以构建应用程序。将你的Andr??oid设备,然后单击“生成和运行初始化部署过程。
的iOS部署过程
团结提供了一些设置,建设iOS设备(文件>生成设置>纲要>的iOS图标)。在建设之前,选择所需的预设方向。注:现在的Vuforia AR扩展支持自动旋转,同时确保目标平台没有设置的ARMv6(OpenGL ES的1.1)。仅此版本的扩展支持的OpenGL ES 2.0。此外,捆绑标识符必须设置为iOS开发配置文件的正确价值。
在这一步之后,你可以选择建立应用程序。先救你的场景(“文件”>“保存场景)。然后打开生成菜单(“文件”>“生成设置...)。确保你的场景是在构建场景的一部分如果情况并非如此,这是可以使用添加当前添加当前活跃的场景,或从项目视图到窗口拖放您保存的AR场景。按建立和运行初始化部署过程。
统一建设和运行的iOS应用程序时,生成一个Xcode项目。它推出Xcode和加载这个项目。Vuforia的AR扩展包括PostProcessBuildPlayer的的脚本,执行任务生成Xcode项目纳入QCAR库。这将自动运行,当您选择建立在统一。要知道,如果手动更改生成Xcode项目,您可能需要更新的PostProcessBuildPlayer的脚本不会覆盖您的更改。
Xcode项目生成包括文件,称为AppController.mm。,有统一在这个文件中提供的选项来定制自己的目的,应用程序的性能。由默认的脚本的PostProcessBuildPlayer集使用的THREAD_BASED_LOOP,因为这给了最好与一起的Vuforia AR扩展提供的样品可见性能。你应该考虑改变这些选项,无论给出了自己的应用程序的最佳性能。


创建的AR场景使用该应用程序
你应该有一个适当的图像目标在你面前的打印。如果您正在基于掀起了一个示例应用程序的可跟踪,编辑的PDF位于/ QCAR / ForPrint / *。,否则刚刚打印出来的,你上传到目标管理体系,并确保长宽比不形象“T改变。当你在使用的设备摄像头的目标的时候,你应该看到你的立方体对象绑定到目标。恭喜你,你已经成功地增强现实!

在编辑器中运行
可以调整的ARCamera对象的变换,鉴于你的整个场景,然后统一编辑器中运行的应用程序。有没有活的摄像机图像或跟踪在编辑器中,而不是假设所有Trackables是可见。这可以让你非AR您的应用程序组件,如脚本和动画,测试,而不必每次部署到设备。








使用图像目标
要创建新的目标文件,登录到网上Vuforia目标管理制度:
创建一个新项目,并创建新的单图片Trackables的上传自己的图像。给每一个可追踪的一个独特的名称,这些将显示在下拉的AR目标,在统一的清单。当您创建的所有Trackables,选择你感兴趣的是一套,并选择下载选定trackables。当出现提示时,一定要选择统一编辑格式。
A 。unitypackage文件将被下载到您的计算机。双击该文件导入到当前打开的统一项目。另外,你可以选择资产内统一导入包>自定义包,并浏览到该文件。务必接受包中的所有文件。所有的文件将在流资产/ QCAR文件夹,编辑/ QCAR / ImageTargetTextures夹与您的图像的缩放版本。
一旦你已经进口的。unitypackage,统一的项目将自动检测新的配置文件,并相应地更新可用的图像目标。
注:如果有,你会与您的导入,你会质疑,如果你真的想这样做-你可能想导入之前备份你修改的文件覆盖现有的文件。
注:初步目标数据集使用可追踪的大小可能大于一个典型的统一对象进行缩放。你可能要缩减之前,在你的场景中使用它可跟踪督察。
使用帧标记
Vuforia AR统一扩展还支持帧标志。你的场景添加一个帧标记,只需拖动到场景或Hierarchy视图FrameMarker预制的一个实例。这预制类似的ImageTarget预制,除非你指定名称标识,而不是由一个框架标记。
确保每个场景中的FrameMarker有一个唯一的ID。当您拖动新出的FrameMarker预制实例,它们会自动给下一个最高的标志编号。
注:你会发现在二进制代码png文件的所有框架标记编辑/ QCAR / FrameMarkerTextures / frame_markers_transparent.zip包。要打印出来,扩展标记“近邻”选项到一个方便的大小。
注:帧标志不再被放置在目标数据集文件。


使用多目标
一个多目标,是一个可追踪的三维对象,由多个图片安排在一个已知的配置(如一个盒子)的目标。
您可以使用网上Vuforia目标管理系统(TMS)与简单的形状创造的多目标。您也可以手动编辑XML文件下载的配置,以创建不同的配置。每个“零件”是一个多目标只是一个形象的目标是定义一个共同的中心的位置和方向相对。要改变的规模,位置或方向的一部分,你必须使用的TMS编辑各自的项目,或编辑目标数据集的XML配置文件。
一旦你添加文件,以统一的目标数据集,你可以拖动到场景的多目标预制的一个实例。出现一个灰色的立方体。这是一个占位符对象。在督察中使用下拉菜单选择一个多目标的名字。一个新的3D对象将替换占位符对象,在您定义的配置目标数据集文件。每个平面多目标,将其相应的图像目标图像的纹理。
请注意,目前你不能改变一个统一编辑器中的多目标配置。不改变变换任何ChildTargets。你可以翻译或旋转作为一个整体的目标,但你不能缩放编辑器中的目标。如果你需要扩展的目标,打开数据集的XML配置文件和扩展个人形象的目标。
在统一的多目标的行为同样的图像目标。加入它作为一个孩子,你可以绑定内容的目标。然而,有一个附加的功能,那就是多目标自动创建一个集深入口罩阻挡其他虚拟对象。请看到一个完整的例子Vuforia MultiTargets样本项目。


















使用虚拟按键在统一编辑器创建虚拟按键
虚拟按键,用户可以在现实世界中触摸到触发一个动作上的图像目标的“热点”。您添加的VirtualButton预制的一个实例拖放到场景中的一个现有的图像目标。然后,您可以转换和缩放按钮??来匹配所需的位置,并给它一个名字。需要注意的是一个虚拟按钮,需要有一个孩子的场景中的图像目标。


注:只使用虚拟按钮图像目标,不与帧标志或多重目标。
现在你已经放置在目标上的虚拟按钮,下一步是归因于这些按钮的事件处理。通过实施完成本IVirtualButtonEventHandler接口。这个接口有两个方法,OnVirtualButtonPressedOnVirtualButtonReleased。被称为事件处理程序时,您将通过虚拟按钮的一个实例,包括按钮的名称。这种方式可以应对不同的按钮事件。请看到一个完整的例子Vuforia VirtualButtons样本项目。
在运行时创建和删除虚拟按键
你可以通过调用创建为新的虚拟按钮在运行时给定的图像目标CreateVirtualButton对你相应的实例成员函数ImageTargetBehaviour。需要注意的是双方的位置和大小参数定义在本地的图像目标空间。
你可以在打开虚拟的按钮DestroyVirtualButton,再次定义ImageTargetBehaviour通过调用销毁。
请注意,引入可交换数据集,数据集必??须停用之前创建一个虚拟的按钮:
/ /关闭当前数据集ImageTracker imageTracker =(ImageTracker)        TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER);DataSet的数据集= imageTracker.GetActiveDataSet();imageTracker.DeactivateDataSet(集);/ /创建一个虚拟按钮ImageTargetBehaviour ITB = GetComponent <ImageTargetBehaviour>();VirtualButtonBehaviour VBB = itb.CreateVirtualButton(“MyButton的”         Vector2(0,0),          Vector2(0.1F,0.1F));/ /注册一个事件处理程序。/ /在这里,我们假设这个类扩展IVirtualButtonEventHandlerbb.RegisterEventHandler(本);/ /无数据集imageTracker.ActivateDataSet(集);在运行时重新配置虚拟按键

它是一个虚拟按钮在运行时更改以下属性:
  • 灵敏度
  • 图像目标的立场
  • 面积的大小

您可以通过设置一个虚拟按键的灵敏度SensitivitySetting物业VirtualButtonBehaviour实例。
分别改变在虚拟按键的游戏对象的变换位置和规模组件,可以改变一个虚拟按钮的位置和大小。
虚拟按键搭售其他游戏对象
一个典型用例是在运行时重新配置的虚拟按钮,当你想要一个按钮移到另一场比赛对象。为了适应这种情况,一个虚拟按钮不需要是一个直接的图像目标的孩子,但可以连接到另外的游戏对象,其本身具有图像目标作为父。游戏对象移动时,虚拟按钮只会沿着和重新配置,将自动处理。
注:编辑脚本执行预定义的条件下,这唯一的作品。在它的父对象的中心必须位于虚拟按钮。它始终是与图像目标对准轴。此外,父母不能有一个非均匀的规模。如果它的编辑脚本自动重新调整对象,并打印出警告。
在下面的虚拟按钮的例子是一个足球的孩子:


请参阅完整的例子的Vuforia VirtualButtons样品。









可交换数据集
DataSetLoadBehaviour是一个脚本,默认情况下附加的ARCamera对象。脚本公开的数据集列表(即是该项目的一部分)将在现场启动加载。它还包含一个下拉列表中选择一个数据集被激活。您可以使用不同的设置DataSetLoadBehaviour在不同的场景。这使您可以隐式绑定数据集,以统一的场景。请注意,这个脚本不会创建提供了一个运行时API。它只是加载/激活启动时的数据集,但不会做任何事情时,其属性改变后在应用程序生命周期。要改变不同的接口在运行时的数据集,必须使用。
运行数据集API
主要有三个类用于加载/卸载,并在运行时激活/停用集- TrackerManager,ImageTracker DataSet 。
载入数据集:
  • 检查是否在给定的存储位置的文件存在:
DataSet.Exists(,DataSet.StorageType storageType字符串路径);
  • 请注意,您也可以拨打“ 存在 “不指定存储类型。假设,然后是你的数据集已在“应用程序的捆绑StreamingAssets / QCAR “。
  • 要求的ImageTracker从实例TrackerManager
TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER);
  • 创建一个新的DataSet实例:
ImageTracker.CreateDataSet();
  • 从它的存储位置加载数据集文件:
DataSet.Load(字符串路径,DataSet.StorageType storageType;);
  • 存储类型相同的规则适用于对“ 存在 “。
激活数据集:
  • 使用imageTracker实例激活集(请记住,只有一个单一的数据集,可以在一段时间的积极)。ImageTracker.ActivateDataSet(DataSet中的数据集);
/ /加载和激活的数据集在给定的路径。私人的布尔LoadDataSet(字符串dataSetPath,DataSet.StorageType storageType){    / /检查数据集,如果在给定的路径存在。        如果(,!DataSet.Exists(dataSetPath,storageType))    {        Debug.LogError( “ 数据集”dataSetPath +“不存在”);         返回 false ;    }    / /请求从“TrackerManager ImageTracker实例。        ImageTracker imageTracker =        (ImageTracker)TrackerManager.Instance.GetTracker(                                        Tracker.Type.IMAGE_TRACKER);    / /创建一个新的空数据集。        DataSet的数据集= imageTracker.CreateDataSet();    / /加载数据从给定的路径设置。        如果(!dataSet.Load(dataSetPath,storageType))    {        (“无法加载数据集”dataSetPath“。”);         Debug.LogError 返回假;    }    / /(可选)激活的数据集。        imageTracker.ActivateDataSet(集);    返回 true ;}可追踪的添加内容:
  • 要求从1 DataSetTrackableBehaviour数据集的实例:
DataSet.GetTrackable(INT索引);
  • 它的游戏对象 附加TrackableEventHandler
GameObject.AddComponent <MyTrackableEventHandler>();您需要,可以写你自己的实现ITrackableEventHandler接口或使用的AR的Vuforia扩展DefaultTrackableEventHandlerTrackableEventHandler提供回调处理可追踪的失物招领的事件。
  • 添加一个增强的子对象可跟踪
GameObject.transform.parent = DataSetTrackableBehaviour.transform;
/ /添加可追踪的事件处理程序和内容(立方体)的Trackables。私人的无效AttachContentToTrackables(DataSet的数据集){    / /获取数据集定义Trackables。        numTrackables = dataSet.GetNumTrackables();    / /循环所有Trackables的。        (I = 0;我<numTrackables; + + I)    {        DataSetTrackableBehaviour DSTB = dataSet.GetTrackable(I);        游戏物体GO = dstb.gameObject;        / /添加一个可追踪的事件处理程序的可跟踪。        / /此行为的处理可追踪丢失/发现回调。                go.AddComponent <DefaultTrackableEventHandler>();        / /创建一个立方体对象。                游戏物体立方体= GameObject.CreatePrimitive(PrimitiveType.Cube);        / /将立方体的可跟踪和确保有一个适当的大小。                cube.transform.parent = dstb.transform;        cube.transform.localScale = Vector3(0.7f,0.7f,0.7f);        cube.transform.localPosition = Vector3(0.0f,0.35f,0.0f);        cube.transform.localRotation = Quaternion.identity;        cube.active =真;        dstb.gameObject.active =真;    }}销毁一组数据:
  • 正如上文解释, 请求ImageTracker实例。
  • 确保设置的数据破坏是不活跃的(否则破坏将失败):ImageTracker.Deactivate(DataSet中的数据集);
  • 销毁的一组数据:ImageTracker.DestroyDataSet(DataSet中的数据集,布尔destroyTrackableGameObjects);
/ /销毁数据集。私人的布尔DestroyDataSet(DataSet的数据集){    / /请求从“TrackerManager ImageTracker实例。        ImageTracker imageTracker =        (ImageTracker)TrackerManager.Instance.GetTracker(                        Tracker.Type.IMAGE_TRACKER);    / /确保数据集是不活跃。        imageTracker.DeactivateDataSet(集);    / /销毁数据集。    / /(真正的选择,也破坏了属于trackable对象     / /数据集)。        BOOL成功= imageTracker.DestroyDataSet(数据集,TRUE);    返回成功;}







特殊选项针对跟踪事件
有两个接口,可以实现处理跟踪事件,该ITrackableEventHandler和的ITrackerEventHandler的
ITrackableEventHandler包含的OnTrackableStateChanged方法,被称为每一帧后,可跟踪的数据已更新。使用这种方法检测到的变化,如是否可跟踪,只是丢失或刚刚发现,在跟踪状态。见的一个参考实现DefaultTrackableEventHandler,坐落在资产/高通公司扩增实境/ Scripts文件夹中。我们建议复制默认的事件处理程序修改之前,以避免将来升级的冲突。
你可以创建一个单一的类实现ITrackableEventHandler,并将它附加到场景中的每个Trackables。或者,您可以创建为不同Trackables的实现。务必登记实施TrackableBehaviour通过EventHandler的领域(更多细节见样品)。
注:将更新前第一OnTrackableStateChanged方法被称为相对所有Trackables的方向。这意味着它是安全的,在这个回调的相对变换计算。
ITrackerEventHandler包含的OnTrackablesUpdated方法,被称为后每个可跟踪的ITrackableEventHandler被称为(每帧)。这可能是一个游戏逻辑上取决于正在更新和稳定的所有Trackables的好地方。
初始化错误处理
重要的是你的应用程序检测和处理所有可能Vuforia AR SDK初始化错误。这些措施包括不支持设备或设备设置不能下载的情况。每个示例应用程序来自与重视的ARCamera对象DefaultInitializationErrorHandler的。作为一个起点,创建自己的错误处理的示例实现。
启用和禁用的AR对象
启用和禁用的各种Vuforia行为工作在统一的预期。禁用TrackerBehaviour将停止跟踪和相机菜单或其他非AR应用程序的行为,释放CPU周期。禁用Trackables或VirtualButtons将防止这些对象,从接收来自跟踪更新,并重新启用,他们将恢复这些更新。
AR Camera对象选项
下列选项是上ARCamera对象:
  • 摄像设备模式设置:默认情况下,快速,高品质的相机模式之间进行选择。
  • 最大同时图像目标:设置图像目标跟踪,应尽量同时跟踪数。
  • 启用多帧:设置分裂不露痕迹的多个帧图像目标检测。
  • 视频:同步设置相机更新的渲染同步更新。不建议与动画内容的场景。
  • 世界中心的模式:

    • 如果设置为用户,您可以设置作为世界中心的单一可跟踪。这可跟踪绝不会在场景中移动,而不是相机和所有其他Trackables的将它移动,只要它是可见的。
    • 如果设置为AUTO,第一个可见可跟踪被选定为世界的中心。
    • 如果设置为NONE,将相机固定在地方和所有有关Trackables的举动。


图像目标对象选项
下列选项是可用的图像目标对象:
  • 数据集:一个可用的数据集的下拉列表中,位于套\ QCAR StreamingAssets文件夹定义
  • 形象目标:一个可用的图像目标的下拉列表,在数据集的XML配置文件中定义的StreamingAssets \ QCAR夹。
  • 保护儿童的大小:如果选中,这一目标的任何儿童保持其目标是改变大小时。如果任其发展下去,子对象将调整,以配合新的目标规模。

虚拟按钮选项
下列选项是可用的虚拟按钮对象:
  • 名称:虚拟按钮,用于唯一标识的按钮,在处理事件时的名称。
  • 灵敏度设置:按检测的灵敏度。快速检测,强大的检测低。

照相机闪光灯和自动对焦
CameraDevice类 ??提供访问两个摄像功能,闪光灯和自动对焦。你可以把LED与上的闪光灯SetFlashTorchMode方法。您还可以启动和停止自动对焦,并选择对焦模式,跟踪需求。见ImageTargets的一个示例脚本,测试这些不同的模式,样品项目脚本/ CameraDeviceMenu.cs
摄像头图像
CameraDevice类 ??还提供了访问到每帧的摄像机图像。这可能是有用的图像处理,渲染效果和截图。你可以注册使用的各种图像格式(例如RGB565,灰度)SetFrameFormat方法。然后,你可以得到与当前帧的摄像机图像GetCameraImage方法。作为一个必要的大小信息的字节数组返回图像。
视频的背景访问
访问视频的背景,让您使用摄像机的视频作为纹理。当然这也意味着你现在可以修改自己的自定义着色器的视频。 使用视频背景纹理按照以下主要步骤:

  • 打开“开始”关闭自动渲染视频的背景:
QCARRenderer.Instance.DrawVideoBackground = FALSE
  • 从您的统一的纹理对象获取本地纹理ID:
nativeTextureID = myTexture.GetNativeTextureID()
  • 通过以上Vuforia的AR SDK的纹理ID:
QCARRenderer.Instance.SetVideoBackgroundTextureID(nativeTextureID)
  • 等到相机是活跃在更新回调。这是一次视频的背景资料是可用的情况下:
QCARRenderer.Instance.IsVideoBackgroundInfoAvailable()
  • 从Vuforia AR SDK视频质地和改变你更新你的游戏对象相应的(如更新的UVs)的请求信息:
QCARRenderer.VideoTextureInfo的texinfo = QCARRenderer.Instance.GetVideoTextureInfo()
Vuforia VideoBackgroundAccess样品填充细节。您可以使用“ 脚本> VideoTextureBehaviour.cs作为一个起点“的剧本。
阻塞管理
闭塞管理示例应用程序演示了如何着色器可以用来使物体出现半透明。你的相机指向在FlakesBox目标,让你看到茶壶内的部分透明箱对象。 这个范例是根据四着色,每个对象之一,要在正确的顺序(视频的背景下,棋盘箱,里面的茶壶呈现和闭塞盒)。到指定的调用顺序,每个着色器与优先(使用着色器中的定义的标签)。例如,在RenderTeapot.shader,标签是标签{“队列”=“覆盖+3”的“RenderType”=“覆盖”}

Vuforia OcclusionManagement样品给你更多的细节。作为一个起点,您可以使用四个着色。您还可以访问统一的网站了解更多http:///support/documentation/Components/SL-SubshaderTags.html统一订购着色。


由于网速较慢,所以图片没刷新出来,就COPY过来了!
原地址:http:///thread-370-1-1.html
希望对大家有所帮助,爱生活,爱AR!


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多