具有SCNNode阴影属性的问题

问题描述 投票:0回答:1

我有一个3D鲨鱼模型,具有不同的纹理,例如漫反射,法线,粗糙度,金属。当我在场景编辑器中将这些纹理应用于模型时,渲染是完美的,并且阴影属性是Physically Based。但是,当我在设备上运行该应用程序时,它呈现的效果与场景工具箱编辑器中呈现的效果不同。我还添加了此行,但仍无法按需使用。

let material = SCNMaterial()
material.lightingModel = SCNMaterial.LightingModel.physicallyBased
node.geometry?.firstMaterial = material

我也禁用/启用自动默认照明,但到目前为止没有效果:

the3DScene.autoenablesDefaultLighting = true

当我将阴影属性更改为Phong时,渲染很好,但不如Physically Based那么完美,如何解决此问题?

ios swift scenekit scnnode
1个回答
0
投票

确保metalness.intensity = 1roughness.intensity = 0。有时Scene Graph说谎。

还检查您的metalness纹理是否包含必须放置的白色部分!

工作代码如下:

let material = SCNMaterial()
material.lightingModel = .physicallyBased

material.metalness.intensity = 1.0
material.roughness.intensity = 0.0
material.reflective.intensity = 0.5

ship.geometry?.materials = [material]
© www.soinside.com 2019 - 2024. All rights reserved.