Unity3d 如何在Arcore(unity)中获得vuforia云识别类功能
我使用vuforia在unity中创建了一个原型应用程序,我将一个图像上传到myserver,然后服务器将图像(以及元数据中关联的assetbundle链接)发送到vuforia cloud,将其添加到图像目标数据库中。然后在unity中,当相机跟踪图像目标时,我下载资产包以增强它Unity3d 如何在Arcore(unity)中获得vuforia云识别类功能,unity3d,vuforia,arcore,vuforia-cloud-recognition,Unity3d,Vuforia,Arcore,Vuforia Cloud Recognition,我使用vuforia在unity中创建了一个原型应用程序,我将一个图像上传到myserver,然后服务器将图像(以及元数据中关联的assetbundle链接)发送到vuforia cloud,将其添加到图像目标数据库中。然后在unity中,当相机跟踪图像目标时,我下载资产包以增强它 public void OnNewSearchResult(TargetFinder.TargetSearchResult targetSearchResult) { TargetFinder.TargetS
public void OnNewSearchResult(TargetFinder.TargetSearchResult targetSearchResult)
{
TargetFinder.TargetSearchResult cloudRecoSearchResult =
(TargetFinder.TargetSearchResult)targetSearchResult;
mTargetMetadata = cloudRecoSearchResult.MetaData;
Debug.Log(mTargetMetadata);
mCloudRecoBehaviour.CloudRecoEnabled = false;
// Build augmentation based on target
if (ImageTargetTemplate)
{
Debug.Log("Image target activated");
// enable the new result with the same ImageTargetBehaviour:
ObjectTracker tracker = TrackerManager.Instance.GetTracker<ObjectTracker>();
ImageTargetBehaviour imageTargetBehaviour =
(ImageTargetBehaviour)tracker.TargetFinder.EnableTracking(
targetSearchResult, ImageTargetTemplate.gameObject);
JsonData jd = JsonMapper.ToObject(mTargetMetadata);
string url = jd["content-url"].ToString();
Debug.Log("video url :"+ "http://192.168.2.92/arads/" + url);
vidPlayer.url = "http://192.168.2.92/arads/"+url;
vidPlayer.Prepare();
if(!vidPlayer.isPlaying)
vidPlayer.Play();
}
}
public void OnNewSearchResult(TargetFinder.TargetSearchResult TargetSearchResult)
{
TargetFinder.TargetSearchResult CloudSearchResult=
(TargetFinder.TargetSearchResult)TargetSearchResult;
mTargetMetadata=cloudRecoSearchResult.MetaData;
Debug.Log(元数据);
mcloudrecobhavior.CloudRecoEnabled=false;
//基于目标的构建增强
if(ImageTargetTemplate)
{
Log(“映像目标已激活”);
//使用相同的ImageTargetBehavior启用新结果:
ObjectTracker tracker=TrackerManager.Instance.GetTracker();
ImageTargetBehavior ImageTargetBehavior=
(ImageTargetBehavior)tracker.TargetFinder.EnableTracking(
targetSearchResult,ImageTargetTemplate.gameObject);
JsonData jd=JsonMapper.ToObject(mTargetMetadata);
字符串url=jd[“内容url”].ToString();
Log(“视频url:+”http://192.168.2.92/arads/“+url);
vidPlayer.url=”http://192.168.2.92/arads/“+url;
vidPlayer.Prepare();
如果(!vidPlayer.isPlaying)
vidPlayer.Play();
}
}
以上代码用于从服务器获取相关视频。我可以用arcore或arfoundation获得类似的功能吗?我了解到arcore的参考图像数据库可以有1000幅图像
ARCore和Vuforia之间的区别在于ARCore可以在运行时将图像添加到数据库中,这样就不必使用任何服务器
GoogleARCore.ARCoreSessionConfig.AugmentedImageDatabase
祝你好运 谢谢你的回复。要在数据库之间切换,如何确保当前正在扫描的图像不在当前加载的数据库中?有没有类似db扫描回调之类的东西?