ARKit 中(包括官方 demo)擺放物體默認(rèn)都沿同一個(gè)方向,這樣對(duì)于用戶來說是無法預(yù)測(cè)的,待展示的物體可能會(huì)面向任意方向。
但對(duì)于展示類 app 來說,讓待展示的物體正對(duì)用戶擺放無疑是最佳的用戶體驗(yàn)。
實(shí)現(xiàn)方式如下:
ARSCNView 有一個(gè)實(shí)例變量 pointOfView,這是一個(gè) SCNNode,提供了虛擬攝像機(jī)的位置和方向,所以第一步獲取它的 rotation:
let pointOfViewRotation = sceneView.pointOfView?.rotation
然后讓物體繞 y 軸旋轉(zhuǎn)(水平面上)與虛擬攝像機(jī)相同的角度即可:
object.rotation = SCNVector4Make(0, pointOfViewRotation.y, 0, pointOfViewRotation.w)