我的SCNLight
类型为SCNLightTypeDirectional
。当场景渲染时,模型会在自身上投射阴影,这不是我的期望。如何排除模型的阴影?
或如何平滑阴影边缘?现在看起来很不自然。
答案 0 :(得分:2)
好吧,我找到了一种简单的方法来实现这一目标,但却失去了一些重要的细节。
将素材的灯光模型更改为SCNLightingModelConstant
,并从SCNLight
的灯光计算中排除模型。
<强> 1。设置轻型模型
SCNLightingModelConstant
只考虑环境光到阴影,所以我们需要环境光来保持模型可见。
model.geometry.materials.firstObject.lightingModelName = SCNLightingModelConstant;
<强> 2。设置模型和灯光的类别位掩码
model.categoryBitMask = 1;
directionalLight.categoryBitMask = ~1UL;
如果categoryBitMask
的按位AND结果为零,则节点不会考虑光照,因此不再有自阴影。投射的阴影模型仍将保留在场景中。