我想在iOS中使用SceneKit在3D模型旁边显示文本。它只是必须看起来像是2D。因此,文本应始终面向相机,但是我旋转了3D模型。我有一个带有SCNNode
几何形状的SCNText
,并附加了一个SCNLookAtConstraint
,如下所示:
let constraint = SCNLookAtConstraint(target: cameraNode)
constraint.gimbalLockEnabled = true
textNode.constraints = [constraint]
他们似乎正对着镜头,但方向错误!我看到所有文字都被镜像了!另外,有时文本会旋转,我希望它始终保持水平对齐。所以这就是我不想要的所有行为。
有人可以帮我吗?我只想在3D对象中有一些跟随几个节点的文本。我不在乎。如果可以用一个简单的UILabel来完成,就不必担心我所有的SCNText:对我来说很好!告诉我如何!
最佳答案
从文档中:
您可以通过设置节点的pivot
或使用中间节点来解决该问题。该节点将受到约束,并将文本作为子节点(它将沿y轴旋转π)。
更新
从iOS 11.0开始,SCNLookAtConstraint
类公开 localFront
属性,该属性允许您指定其他前轴。它默认为(0, 0, -1)
,您可以将其更改为(0, 0, 1)
以实现所需的功能。
关于ios - 与SCNLookAtConstraint的SCNText看起来错误的方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28909317/