[AR開發(fā)]如何在放置模型時,讓正面始終面向觀眾?

現(xiàn)在有個場景,在找到平面后,如果再次轉(zhuǎn)動鏡頭,平面跟著鏡頭走,類似于宜家的app(Ikea place),此時放置模型,會出現(xiàn)正面未朝向觀眾的問題,那如何在放置模型時,無論手機(jī)的任意移動和轉(zhuǎn)向,都能保證模型始終“面向觀眾”呢?

其實每當(dāng)點擊屏幕,模型都會被放到點擊點對應(yīng)的這個平面上,這個過程可以抽象成通過相機(jī)視口發(fā)出了一條射線撞擊這個平面,如下圖,轉(zhuǎn)動鏡頭,平面跟著移動,那相機(jī)節(jié)點與點擊點的射線就有了個角度,這個角度就是模型在被放置時,正面偏移鏡頭的角度,所以需要模型旋轉(zhuǎn):

guard let camera = sceneView.session.currentFrame?.camera else { return }
let rotate = simd_float4x4(SCNMatrix4MakeRotation(camera.eulerAngles.y, 0, 1, 0))
virtualObject.simdTransform = rotate
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容