【问题标题】:Removing SceneKit emission material?删除 SceneKit 发射材料?
【发布时间】:2019-01-19 14:16:02
【问题描述】:

为了突出我场景中的热门项目,我正在做这样的事情:

func
highlight(note inNote: Int, highlight inHighlight: Bool)
{
    let scene = self.scene as! MainEditorScene
    let node = scene.noteNodes[inNote]
    let geom = node.geometry!

    if inHighlight
    {
        geom.firstMaterial?.emission.contents = NSColor(calibratedRed: 1.0, green: 1.0, blue: 1.0, alpha: 0.3)
    }
    else
    {
        geom.firstMaterial?.emission.contents = nil
    }
}

不幸的是,这些物体会变成白色,但永远不会恢复到原来的颜色。我不能像这样删除排放内容吗?我该怎么办?

【问题讨论】:

    标签: scenekit


    【解决方案1】:

    在 SceneKit 中,黑色,即(0.0, 0.0, 0.0),通常是“无”的默认值(这是照明方程中0 的贡献)

    geom.firstMaterial?.emission.contents = NSColor.black
    

    【讨论】:

      【解决方案2】:

      让它透明:

      geom.firstMaterial?.emission.contents = UIColor.clear

      代替:

      geom.firstMaterial?.emission.contents = nil

      【讨论】:

        猜你喜欢
        • 2017-02-10
        • 1970-01-01
        • 2019-05-29
        • 2020-05-20
        • 2021-10-23
        • 2020-10-09
        • 1970-01-01
        • 2022-08-13
        • 1970-01-01
        相关资源
        最近更新 更多