在 SCENEKit 场景中更改模糊距离
Change Blur Distance in SCNKit scene
我场景中的模糊距离只模糊了远处的 SCNFloor 节点。我正在尝试从场景中移除模糊。所有其他节点不受影响。这是场景渲染的...
用Apple的文档来固定相机的焦距我已经厌倦了,但似乎不起作用。
cameraNode.camera?.focusDistance = 100
cameraNode.camera?.fStop = 100
cameraNode.camera?.apertureBladeCount = 100
cameraNode.camera?.focalBlurSampleCount = 100
cameraNode.camera?.motionBlurIntensity = 0
我也试过在场景的渲染函数中改变焦距。这也失败了。
func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) {
//Other code to deal with the follow camera
cameraNode.camera?.focusDistance = 100
}
解决方案与地板节点或相机节点有关吗?
好吧,经过深入研究,我找到了解决方案。事实证明,地板节点的各向异性未设置为所需值。所以这是解决方案,
解决方案与相机无关。无论您在何处设置场景,请添加此行:
yourSceneName.rootNode.childNode(withName: "yourFloorNodeName", recursively: true)?.geometry?.firstMaterial?.diffuse.maxAnisotropy = 50 //Change according to preference.
这解决了整个问题。
我场景中的模糊距离只模糊了远处的 SCNFloor 节点。我正在尝试从场景中移除模糊。所有其他节点不受影响。这是场景渲染的...
用Apple的文档来固定相机的焦距我已经厌倦了,但似乎不起作用。
cameraNode.camera?.focusDistance = 100
cameraNode.camera?.fStop = 100
cameraNode.camera?.apertureBladeCount = 100
cameraNode.camera?.focalBlurSampleCount = 100
cameraNode.camera?.motionBlurIntensity = 0
我也试过在场景的渲染函数中改变焦距。这也失败了。
func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) {
//Other code to deal with the follow camera
cameraNode.camera?.focusDistance = 100
}
解决方案与地板节点或相机节点有关吗?
好吧,经过深入研究,我找到了解决方案。事实证明,地板节点的各向异性未设置为所需值。所以这是解决方案,
解决方案与相机无关。无论您在何处设置场景,请添加此行:
yourSceneName.rootNode.childNode(withName: "yourFloorNodeName", recursively: true)?.geometry?.firstMaterial?.diffuse.maxAnisotropy = 50 //Change according to preference.
这解决了整个问题。