【问题标题】:Placing SCNNode with geometry用几何放置 SCNNode
【发布时间】:2019-07-26 03:24:30
【问题描述】:

我正在使用以下代码创建一个放置在我的 AR 场景中的框:

let box = SCNBox(width: side, height: side, length: side, chamferRadius: 0.008)
box.firstMaterial?.diffuse.contents = UIColor(red: 220/255, green: 65/255, blue: 23/255, alpha: 0.6)
box.firstMaterial?.diffuse.contents = UIImage(named:"test1")!
let nodo = SCNNode(geometry: box)
nodo.position = position

我想弄清楚的是如何使盒子在屏幕尺寸(图像空间)中具有恒定的尺寸。

我希望将盒子节点放置在 3D 场景中以始终看起来相同的大小,比如 30x30 像素...

因此,当我在 ARKit 相机周围移动手机时,无论我离盒子多远或多近,我都希望盒子在视口中时始终在屏幕上显示相同的大小。

我怎样才能做到这一点?

【问题讨论】:

    标签: ios swift scenekit arkit


    【解决方案1】:

    如果您需要将对象呈现为 3D,则解决方案是使用对象与相机之间的距离在每一帧对其进行缩放。有一个similar answer here

    如果您想要一个 2D 平面,您可以使用 UIKit 放置它,并通过将 3D 点投影到 2D 系统并将这些值用作视图的坐标来更新其位置。 (Reference)

    【讨论】:

    • 非常好。我没有看到这个问题,我会先尝试解决这个问题,看看结果如何。
    猜你喜欢
    • 1970-01-01
    • 2018-05-18
    • 2018-05-16
    • 2018-01-12
    • 2018-02-22
    • 2016-12-20
    • 2016-03-25
    • 2018-08-04
    • 2017-10-27
    相关资源
    最近更新 更多