首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将SCNLight添加到SCNNode会使SCNNode变黑

将SCNLight添加到SCNNode会使SCNNode变黑
EN

Stack Overflow用户
提问于 2019-03-21 08:00:40
回答 1查看 137关注 0票数 1

我正在尝试将SCNLight添加到SceneKit中的SCNSphere (SCNNode)。它的效果令人惊叹,唯一的问题是SCNLight所连接的源球体是完全黑色的,因为作为源,它根本得不到任何光。如何确保光源(即球体)完全亮起?

这是光源代码:

代码语言:javascript
复制
public func addLightSource(position: SCNVector3) -> SCNLight {
        let light = SCNLight()
        light.type = .omni
        light.intensity = 5000
        light.temperature = CGFloat(3500)
        return light
}

以及以后的

代码语言:javascript
复制
ParentNode.light = addLightSource(position: absolutePosition)

这是可行的,但会使ParentNode变黑。

EN

回答 1

Stack Overflow用户

发布于 2019-04-28 20:51:37

为球体和灯光设置categoryBitMask实例属性以排除/包含它们:

代码语言:javascript
复制
func addLightSource(position: SCNVector3) -> SCNLight {
    let light = SCNLight()
    light.type = .omni
    light.intensity = 5000
    light.categoryBitMask = 1
    light.temperature = CGFloat(2000)
    return light
}

let sphereNode1 = SCNNode()
sphereNode1.geometry = SCNSphere(radius: 2)
sphereNode1.position = SCNVector3(x: 10, y: 0, z: 0)
sphereNode1.light = addLightSource(position: sphereNode1.position)
sphereNode1.categoryBitMask = 1
scene.rootNode.addChildNode(sphereNode1)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55271885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档