美文网首页
[AR开发]如何在放置模型时,让正面始终面向观众?

[AR开发]如何在放置模型时,让正面始终面向观众?

作者: 沈枫_SerenF | 来源:发表于2021-01-20 10:51 被阅读0次

    现在有个场景,在找到平面后,如果再次转动镜头,平面跟着镜头走,类似于宜家的app(Ikea place),此时放置模型,会出现正面未朝向观众的问题,那如何在放置模型时,无论手机的任意移动和转向,都能保证模型始终“面向观众”呢?

    其实每当点击屏幕,模型都会被放到点击点对应的这个平面上,这个过程可以抽象成通过相机视口发出了一条射线撞击这个平面,如下图,转动镜头,平面跟着移动,那相机节点与点击点的射线就有了个角度,这个角度就是模型在被放置时,正面偏移镜头的角度,所以需要模型旋转:

    guard let camera = sceneView.session.currentFrame?.camera else { return }
    let rotate = simd_float4x4(SCNMatrix4MakeRotation(camera.eulerAngles.y, 0, 1, 0))
    virtualObject.simdTransform = rotate
    

    相关文章

      网友评论

          本文标题:[AR开发]如何在放置模型时,让正面始终面向观众?

          本文链接:https://www.haomeiwen.com/subject/udtmzqtx.html