SceneKit - 将晕影添加到 SCNView 无效
SceneKit – Adding vignette to SCNView has no effect
我正在尝试在 SCNView 中设置晕影效果。我在 this tutorial 之后使用或多或少相同的代码执行此操作,因为我对值的范围没有经验。但是当我将它应用到我的 SCNViews 相机对象时,没有任何反应。
关于 vignette 的 docs 读到有必要设置 wantsHDR = true
所以我这样做没有任何明显的区别。
// scene setup (light, models, etc.)
...
sceneView.backgroundColor = .gray
sceneView.allowsCameraControl = true
let camera = sceneView.scene?.rootNode.camera
camera?.wantsHDR = true
camera?.vignettingPower = 0.6
camera?.bloomIntensity = 1.4
camera?.bloomBlurRadius = 1.0
camera?.fStop = 20.0
camera?.fStop = 5.0
camera?.focusDistance = 1.0
我只更改了标记为已弃用的参数,但这不是问题所在。
我已经用 Storyboard 实例化了 SCNView,我通过在我的 ViewController 中有一个 Outlet 来访问它,我可以成功地使用很多功能。
此外,我在使用 sceneView.antialiasingMode = .multisampling4X
设置 MSAA4x 时遇到了问题。结果没有区别。还有一些 methods/parameters 与 skybox/environment 照明没有做任何事情(见 )。
控制台中没有显示任何错误。
如果您在场景中添加了新相机,它会渲染晕影。
let cameraNode = SCNNode()
cameraNode.camera = SCNCamera()
cameraNode.position.z = 10
cameraNode.camera?.wantsHDR = true
cameraNode.camera?.vignettingPower = 1
cameraNode.camera?.vignettingIntensity = 1
sceneView.scene?.rootNode.addChildNode(cameraNode)
您的方法无效,因为您正在访问默认摄像头。
cameraNode.camera = sceneView.scene?.rootNode.camera
我正在尝试在 SCNView 中设置晕影效果。我在 this tutorial 之后使用或多或少相同的代码执行此操作,因为我对值的范围没有经验。但是当我将它应用到我的 SCNViews 相机对象时,没有任何反应。
关于 vignette 的 docs 读到有必要设置 wantsHDR = true
所以我这样做没有任何明显的区别。
// scene setup (light, models, etc.)
...
sceneView.backgroundColor = .gray
sceneView.allowsCameraControl = true
let camera = sceneView.scene?.rootNode.camera
camera?.wantsHDR = true
camera?.vignettingPower = 0.6
camera?.bloomIntensity = 1.4
camera?.bloomBlurRadius = 1.0
camera?.fStop = 20.0
camera?.fStop = 5.0
camera?.focusDistance = 1.0
我只更改了标记为已弃用的参数,但这不是问题所在。
我已经用 Storyboard 实例化了 SCNView,我通过在我的 ViewController 中有一个 Outlet 来访问它,我可以成功地使用很多功能。
此外,我在使用 sceneView.antialiasingMode = .multisampling4X
设置 MSAA4x 时遇到了问题。结果没有区别。还有一些 methods/parameters 与 skybox/environment 照明没有做任何事情(见
控制台中没有显示任何错误。
如果您在场景中添加了新相机,它会渲染晕影。
let cameraNode = SCNNode()
cameraNode.camera = SCNCamera()
cameraNode.position.z = 10
cameraNode.camera?.wantsHDR = true
cameraNode.camera?.vignettingPower = 1
cameraNode.camera?.vignettingIntensity = 1
sceneView.scene?.rootNode.addChildNode(cameraNode)
您的方法无效,因为您正在访问默认摄像头。
cameraNode.camera = sceneView.scene?.rootNode.camera