SceneKit投射阴影但不接收阴影

4

有没有可能让SCNNode的几何图形产生阴影,但不接受阴影?目前我只发现castsShadow属性可以改变节点对阴影的反应。


1
你解决了吗?我也遇到了同样的问题。 - ooOlly
我还没有找到解决方案,但是对于我使用的几何图形,我遇到了一些阴影问题,所以我决定完全关闭它们。 - Jens Åkerblom
1个回答

0

尝试这个方法来避免自身阴影,但保持投射的阴影。

model.geometry.materials.firstObject.lightingModelName = SCNLightingModelConstant;
model.categoryBitMask = 1;
directionalLight.categoryBitMask = ~1UL;

SCNLightingModelConstant

只考虑环境光的均匀着色。

SCNLightingModelConstant 只考虑环境光对着色的影响,忽略其他视觉属性。

然后设置模型和灯光的 categoryBitMask。 如果两个 categoryBitMask 的按位与结果为零,则节点不会考虑光照,因此不再有自身阴影。模型投射的阴影仍将保留在场景中。


1
这只适用于shadowMode SCNShadowModeForward,是吗?那么如何在SCNShadowModeDeferred模式下实现呢? - John M

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接