SceneKit:在相机节点中添加方向光没有效果



基于此答案中的建议,目标是在相机中向场景添加环境光。

这在Xcode场景编辑器中起作用,定向光设置为70%的白色,环境光为50%白色。定向光使用默认值的欧拉角。

编码此布置失败。好像没有添加方向光。对现场没有影响;好像只有环境光。

Euler角度的x组件的不同值没有区别-PI/2,PI和其他值,但仍然没有更改。

但是,将方向光添加到场景的根节点(scene.rootNode.addChildNode(directionalLightNode)(确实确实将光添加到场景中。

fileprivate func addLightNode() {
    // Create ambient light
    let ambientLightNode = SCNNode()
    ambientLightNode.light = SCNLight()
    ambientLightNode.light!.type = .ambient
    ambientLightNode.light!.color = UIColor(white: 0.70, alpha: 1.0)
    // Add ambient light to scene
    scene.rootNode.addChildNode(ambientLightNode)
    // Create directional light
    let directionalLight = SCNNode()
    directionalLight.light = SCNLight()
    directionalLight.light!.type = .directional
    directionalLight.light!.color = UIColor(white: 1.0, alpha: 1.0)
    directionalLight.eulerAngles = SCNVector3(x: 0, y: 0, z: 0)
    // Add directional light to camera
    let cameraNode = sceneView.pointOfView!
    cameraNode.addChildNode(directionalLight)
}

使用名称cameranode创建一个scnnode。创建一个scncamera,并将其分配给摄像机的相机属性。将摄像头添加到场景(作为rootnode的孩子(。

之后,您可以将光节点添加为摄影机的子节点,或者鉴于它是唯一的相机,是PointOfview节点的孩子(现在代表您创建的相机并添加到场景中(。默认摄像机及其点浏览节点不是场景对象层次结构的一部分。

相关内容

  • 没有找到相关文章

最新更新