【问题标题】:Adding SCNLight inside SK3DNode在 SK3DNode 中添加 SCNLight
【发布时间】:2020-06-26 07:22:13
【问题描述】:

我正在 SKScene 内创建一个 SK3DNode

let ball: SK3DNode = {
    let scnScene = SCNScene()
    let ballGeometry = SCNSphere(radius: 200)
    let ballNode = SCNNode(geometry: ballGeometry)
    ballNode.position = SCNVector3(0, 0, 0)

    let material = SCNMaterial()
    material.diffuse.contents = UIImage(named: "wall")
    ballGeometry.materials = [material]

    let light = SCNLight()
    light.type = .omni
    light.color = UIColor.white
    let lightNode = SCNNode()
    lightNode.light = light

    scnScene.rootNode.addChildNode(ballNode)
    scnScene.rootNode.addChildNode(lightNode)
    let node = SK3DNode(viewportSize: CGSize(width: 1000, height: 1000))
    node.scnScene = scnScene
    node.autoenablesDefaultLighting = false
    return node
}()

但是,球体呈现黑色。不管有没有材料都试过了。有什么我遗漏的吗?

【问题讨论】:

    标签: swift sprite-kit scenekit


    【解决方案1】:

    球体被手动放置在(0, 0, 0),灯光也是如此(默认值)。这意味着光线被放置在内部球体中。这意味着球体的表面背对光源,因此不被点亮。

    【讨论】:

      猜你喜欢
      • 2019-08-11
      • 2015-07-28
      • 2015-11-27
      • 2016-06-05
      • 2017-04-01
      • 2023-04-04
      • 2015-02-14
      • 2018-04-13
      • 1970-01-01
      相关资源
      最近更新 更多