【问题标题】:How to change the colour of geometry material in SceneKit如何在 SceneKit 中更改几何材质的颜色
【发布时间】:2021-10-25 05:08:52
【问题描述】:

我有以下代码

let planeGeometry = SCNPlane(width: 5, height: 3)
let planeNode = SCNNode(geometry: planeGeometry)
planeGeometry.firstMaterial?.diffuse.contents = Color(.blue)
planeGeometry.firstMaterial?.isDoubleSided = true
scene.rootNode.addChildNode(planeNode)

我尝试以不同的方式应用颜色,例如

let node = SCNNode()
let geometry = SCNBox(width: 3.0, height: 1, length: 1, chamferRadius: 0)
geometry.firstMaterial?.emission.contents = Color(hue: 10, saturation: 50, brightness: 10)      
node.geometry = geometry;
scene.rootNode.addChildNode(node)

在另一个空的 SceneKit 项目中

无论如何它都是白色的

我正在关注一个教程,该教程表明这应该产生与在可视化编辑器中构建场景相同的结果。但是,在可视化编辑器中会出现我所期望的情况

【问题讨论】:

  • 您没有将其应用于您的对象。显示所有相关的代码行。
  • 设置正确的标签。
  • 感谢您的回复。设置正确的标签是什么意思?
  • 为材质一侧设置颜色的方式表明您使用的主要框架是 SwiftUI,您应该将其添加到您的标签大军中。
  • 我在视图上使用了启用全局照明标签。但是当我向父节点添加一个烧焦的灯时,问题就消失了。谢谢你的帮助。我根据你的建议试了一下

标签: swift swiftui scenekit


【解决方案1】:

问题是我没有照明。当我将环境光添加到父节点时,颜色开始发生变化。我认为我不需要这样做,因为我为场景启用了默认照明标志

【讨论】:

    猜你喜欢
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 2017-05-20
    • 2022-06-30
    相关资源
    最近更新 更多