2017-01-23 71 views
3

是否可以让SCNNode的几何投射阴影但不接收它们?目前我只找到castsShadow属性来改变节点对阴影的反应方式。SceneKit投射但不接收阴影

+1

你解决了吗?与你遇到同样的问题。 – ooOlly

+0

我还没有找到解决方案,但对于我正在使用的几何体,我得到了一些阴影问题,所以我决定彻底关闭它们。 –

回答

0

试试这个以避免自我阴影,但保持阴影铸造。

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

SCNLightingModelConstant

均匀着色,只有结合了环境照明。

SCNLightingModelConstant只考虑环境光线对阴影,igonring其他视觉属性。

然后设置模型和灯的categoryBitMask。 如果两个categoryBitMask的按位AND结果为零,节点将不考虑光照,所以不再有自我阴影。阴影模型铸造仍将保留在场景中。

+0

这只适用于shadowMode SCNShadowModeForward,但是正确吗?如何实现SCNShadowModeDeferred的这一点? –