有没有可能让SCNNode的几何图形产生阴影,但不接受阴影?目前我只发现castsShadow
属性可以改变节点对阴影的反应。
尝试这个方法来避免自身阴影,但保持投射的阴影。
model.geometry.materials.firstObject.lightingModelName = SCNLightingModelConstant;
model.categoryBitMask = 1;
directionalLight.categoryBitMask = ~1UL;
SCNLightingModelConstant
只考虑环境光的均匀着色。
SCNLightingModelConstant
只考虑环境光对着色的影响,忽略其他视觉属性。
然后设置模型和灯光的 categoryBitMask
。
如果两个 categoryBitMask
的按位与结果为零,则节点不会考虑光照,因此不再有自身阴影。模型投射的阴影仍将保留在场景中。