如何在 SCNtext 中插入背景(例如“讲话泡泡”或矩形)?具体来说,如果我插入“Hello World”作为 SCNText(显然然后作为场景中的 SCNNode),那么我怎样才能只为该文本添加背景?它会是一个 UIimage,它将作为 SCNNode 插入“Hello World”中的相同位置?(请记住,SceneKit 中没有任何作为 SCNNode 背景的东西)
这是示例代码。它将添加SCNPlane为背景SCNTextNode:
let minVec = textNode.boundingBox.min
let maxVec = textNode.boundingBox.max
let bound = SCNVector3Make(maxVec.x - minVec.x,
maxVec.y - minVec.y,
maxVec.z - minVec.z);
let plane = SCNPlane(width: CGFloat(bound.x + 1),
height: CGFloat(bound.y + 1))
plane.cornerRadius = 0.2
plane.firstMaterial?.diffuse.contents = UIColor.black.withAlphaComponent(0.9)
let planeNode = SCNNode(geometry: plane)
planeNode.position = SCNVector3(CGFloat( minVec.x) + CGFloat(bound.x) / 2 ,
CGFloat( minVec.y) + CGFloat(bound.y) / 2,CGFloat(minVec.z - 0.01))
textNode.addChildNode(planeNode)
planeNode.name = "text"
Run Code Online (Sandbox Code Playgroud)
希望对某人有帮助
您可以将 SCNPlane 用作另一个 SCNNode,为其几何体分配 SCNMaterial,并将该材质的diffuse.contents 属性设置为您要使用的背景图像。然后是的,将其放置在与 SCNText 节点相同的位置,但 position.z 值略低于 SCNText 节点,因此它将在其后面。如果您打算移动或旋转文本节点,请将 SCNPlane 节点添加为文本节点的子节点。
| 归档时间: |
|
| 查看次数: |
1396 次 |
| 最近记录: |