SCNNode 不透明度和可见性
SCNNode opacity and visibility
我有一个节点位于另一个节点内。两者都是从 .obj 文件加载的。外部节点的不透明度为 0.01。内部节点的不透明度为 0.99。除非我将其不透明度更改为 1 或将外部节点的不透明度更改为 0,否则内部节点根本不可见。当我稍微旋转不可见节点的场景时,该节点出现。当我将它旋转回来时它就消失了。
关于如何保持内部节点可见性的任何想法?
You can easily control a visibility of an inner sphere using .renderingOrder
instance property:
var renderingOrder: Int { get set } /* By default it equals to zero */
代码如下所示:
// NESTED OBJECT
let innerNode = SCNNode()
innerNode.geometry = SCNSphere(radius: 0.5)
innerNode.geometry?.firstMaterial?.diffuse.contents = UIColor(white: 0.0,
alpha: 0.99)
scene.rootNode.addChildNode(innerNode)
// OUTER OBJECT
let outerSphere = scene.rootNode.childNode(withName: "ball", recursively: true)
outerSphere?.geometry?.firstMaterial?.diffuse.contents = UIColor(white: 1.0,
alpha: 0.3)
outerSphere?.renderingOrder = 1
我有一个节点位于另一个节点内。两者都是从 .obj 文件加载的。外部节点的不透明度为 0.01。内部节点的不透明度为 0.99。除非我将其不透明度更改为 1 或将外部节点的不透明度更改为 0,否则内部节点根本不可见。当我稍微旋转不可见节点的场景时,该节点出现。当我将它旋转回来时它就消失了。
关于如何保持内部节点可见性的任何想法?
You can easily control a visibility of an inner sphere using
.renderingOrder
instance property:
var renderingOrder: Int { get set } /* By default it equals to zero */
代码如下所示:
// NESTED OBJECT
let innerNode = SCNNode()
innerNode.geometry = SCNSphere(radius: 0.5)
innerNode.geometry?.firstMaterial?.diffuse.contents = UIColor(white: 0.0,
alpha: 0.99)
scene.rootNode.addChildNode(innerNode)
// OUTER OBJECT
let outerSphere = scene.rootNode.childNode(withName: "ball", recursively: true)
outerSphere?.geometry?.firstMaterial?.diffuse.contents = UIColor(white: 1.0,
alpha: 0.3)
outerSphere?.renderingOrder = 1