如何使用 SceneKit 和 Swift 更改在搅拌机中创建的形状的颜色?
how to change the color of shape created in blender using SceneKit and Swift?
我有一些使用搅拌机创建的形状,如何动态更改它们的颜色。我已经从另一个问题试过了,但没有用:
newNode.geometry?.firstMaterial?.diffuse.contents = UIColor(red: 0.3, green: 0.5, blue: 0.4, alpha: 1 )
在这种情况下,newNode 是一个子节点:
newNode=newNodeScene.rootNode.childNode(withName:"test3 reference", recursively:true)
我该如何更改它?也许它需要一个覆盖,如果是的话如何?感谢您的宝贵时间
我只是尝试了“基本场景”-> 在 Blender 中创建了一个带有颜色的框,导出为 .dae,导入到 scnassets 中并将其转换为场景并使用此代码启动它。它只是工作。但这只是一个简单的测试...也许您添加了纹理或其他东西,所以如果您能提供更多详细信息,那将是个好主意。
let scene2 = SCNScene(named: "art.scnassets/coloredbox.scn")!
scnView.scene = scene2
if let box = scene2.rootNode.childNode(withName: "Cube", recursively: true) {
box.geometry?.firstMaterial?.diffuse.contents = UIColor.yellow
}
}
我有一些使用搅拌机创建的形状,如何动态更改它们的颜色。我已经从另一个问题试过了,但没有用:
newNode.geometry?.firstMaterial?.diffuse.contents = UIColor(red: 0.3, green: 0.5, blue: 0.4, alpha: 1 )
在这种情况下,newNode 是一个子节点:
newNode=newNodeScene.rootNode.childNode(withName:"test3 reference", recursively:true)
我该如何更改它?也许它需要一个覆盖,如果是的话如何?感谢您的宝贵时间
我只是尝试了“基本场景”-> 在 Blender 中创建了一个带有颜色的框,导出为 .dae,导入到 scnassets 中并将其转换为场景并使用此代码启动它。它只是工作。但这只是一个简单的测试...也许您添加了纹理或其他东西,所以如果您能提供更多详细信息,那将是个好主意。
let scene2 = SCNScene(named: "art.scnassets/coloredbox.scn")!
scnView.scene = scene2
if let box = scene2.rootNode.childNode(withName: "Cube", recursively: true) {
box.geometry?.firstMaterial?.diffuse.contents = UIColor.yellow
}
}