gpt4 book ai didi

SceneKit:向相机节点添加定向光没有效果

转载 作者:行者123 更新时间:2023-12-02 22:07:30 25 4
gpt4 key购买 nike

基于建议in this answer ,目标是向场景添加环境光,并向相机添加定向光。

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

此安排的编码失败。就好像没有添加定向光一样。对场景无影响;就好像只有环境光存在。

欧拉角的 x 分量的不同值没有区别 - 尝试了 PI/2、PI 和其他值,但仍然没有变化。

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

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)
}

最佳答案

创建一个 SCNNode,例如名称为cameraNode。创建一个SCNCamera并将其分配给cameraNode的camera属性。将cameraNode 添加到场景中(作为rootNode 的子节点)。

之后,您可以将灯光节点添加为cameraNode的子节点,或者,如果它是唯一的相机,则将其添加为pointOfView节点的子节点(现在代表您创建并添加到场景中的cameraNode)。默认相机及其 pointOfView 节点不是场景对象层次结构的一部分。

关于SceneKit:向相机节点添加定向光没有效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48915534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com