WWDC2017回顾

在WWDC上苹果都说了啥,先看ZEALER的文章

下面重点说ARVR:

AR:苹果随iOS11正式发布ATKit,虽然演示效果很牛X,但是对于开发者来说好不好用又是另一回事。就好像当初发布Metal API,虽然比OpenGL ES好用且效率高,但是国内能搞的人毕竟太少。对于AR来说,挑战之一:如何方便快速的将FBX导入到应用中并能读取其中的动画。挑战之二:如何制作出逼真的Shader(如反射,折射,次表面散射等等),对于ARKit,开发者如果想开发出真实的效果是不是还需要用Metal写底层的Shader代码?如果是这样,估计很多开发者会止步。。。。。。挑战之三:目前大多数AR开发者都是用Unity引擎,很多对iOS开发并不是很熟悉,能否提供一套官方的插件给引擎比较关键(依据苹果的尿性,估计不会) 。如果不提供插件,那就必须将Unity工程导出后进一步编辑,这个估计又会难倒一大批开发者。下面粘贴出官方文档给出一些案例代码。

let cubeNode = SCNNode(geometry: SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0))
cubeNode.position = SCNVector3(0, 0, -0.2) // SceneKit/AR coordinates are in meters
sceneView.scene.rootNode.addChildNode(cubeNode)

func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
    // This visualization covers only detected planes.
    guard let planeAnchor = anchor as? ARPlaneAnchor else { return }

    // Create a SceneKit plane to visualize the node using its position and extent.
    let plane = SCNPlane(width: CGFloat(planeAnchor.extent.x), height: CGFloat(planeAnchor.extent.z))
    let planeNode = SCNNode(geometry: plane)
    planeNode.position = SCNVector3Make(planeAnchor.center.x, 0, planeAnchor.center.z)

    // SCNPlanes are vertically oriented in their local coordinate space.
    // Rotate it to match the horizontal orientation of the ARPlaneAnchor.
    planeNode.transform = SCNMatrix4MakeRotation(-Float.pi / 2, 1, 0, 0)

    // ARKit owns the node corresponding to the anchor, so make the plane a child node.
    node.addChildNode(planeNode)
}


VR:苹果虽然从软件和硬件环境都开始支持VR硬件,但如果我们理性的分析一下。首先硬件成本,能够开发VR的显卡本身不便宜,再加上同等配置下,苹果和Windows的性价比肯定是Windows更高。然后,市场占有量上,Mac与Windows相比,市场占有量差距太大。几乎只有新款的Mac才支持VR,貌似还要外接硬件。最后开发工具上,由于一些原因,很多引擎和第三方开发工具对Windows的支持普遍好于Mac,关键还是要看苹果的整合能力啦。

总体上来说,苹果开始发力VR AR是好事,但是个人觉得没那么容易,毕竟起步晚,成本高,市场容量不乐观。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值