在Apple演示文稿中,他们说如果不支持ARWorldTrackingConfiguration,我们可以使用较小的AROrientationTrackingConfiguration(以前称为ARSessionConfiguration)。
但是当我在A8设备(iPad mini 4)上试用它时,是否让byte[] img = null;
var tapImage = new TapGestureRecognizer();
tapImage.Tapped += tapImage_Tapped;
image.GestureRecognizers.Add(tapImage);
private async void tapImage_Tapped(object sender, EventArgs e)
{
using (var memoryStream = new MemoryStream())
{
file.GetStream().CopyTo(memoryStream);
file.Dispose();
img = memoryStream.ToArray();
memoryStream.Dispose();
}
}
private void Insert(object sender, EventArgs e)
{
if(img != null)
{
var options = new InformationTable
{
Id = Guid.NewGuid().ToString(),
Quantity = TxtQuantity.Text,
Issue = Ccheck.Checked.ToString(),
Info = TxtInfo.Text,
image = Convert.ToBase64String(img),
};
_connection.Insert(options);
}
}
失败没有区别。跟踪只是不工作。
ARWorldTrackingConfiguration()
如果A8不支持ARKit,那么支持AROrientationTrackingConfiguration()是什么意思?
答案 0 :(得分:4)
所有ARKit仅支持A9及更高版本,包括AROrientationTrackingConfiguration
。正如他们在ARKit docs ...
重要 ARKit需要具有A9或更高版本处理器的iOS设备。
要使您的应用仅在支持ARKit的设备上可用,请使用应用的Info.plist的
UIRequiredDeviceCapabilities
部分中的arkit密钥。如果增强现实是应用程序的辅助功能,请使用isSupported属性来确定当前设备是否支持您要使用的会话配置。
因此,您确实可以制作仅适用于iOS 11设备子集的iOS 11应用程序。 UIRequiredDeviceCapabilities
中需要的内容使App Store不会在您不支持的设备上提供您的应用,并使iTunes拒绝安装该应用。
(是的,看起来苹果花了一些时间才能直接了解他们的故事。回到WWDC,看起来他们在较小的设备上支持3DOF跟踪,但现在你需要A9。)
那么AROrientationTrackingConfiguration
现在的意义何在?
对于某些类型的应用,当当前条件不允许6DOF时,从世界跟踪(6DOF)回退到仅定向跟踪(3DOF)可能是有意义的。对于将虚拟对象放在桌面上的应用程序来说,这没有多大意义,但如果您只是让空间入侵者在空中让玩家进行射击,或者使用AR覆盖天空中的星座,失去6DOF并没有破坏这么多的经历。
答案 1 :(得分:0)
我认为Apple以虚拟方式实现了这个接口,不支持ARKit的设备如果在应用程序中使用ARKit并且使用比A9 +设备更少的功能运行它们就不会崩溃。
答案 2 :(得分:0)
如果您想支持更多设备,8th Wall XR是您想要的库。它支持比最新iOS更多的设备。如果你决定让你的应用进入该细分市场,相同的代码也适用于Android。