如何排除模型的阴影?

ooO*_*lly 5 ios scenekit arkit

我有一个SCNLight类型SCNLightTypeDirectional.当场景渲染时,模型会在自身上投射阴影,这不是我的期望.如何排除模型的阴影?

或者如何平滑阴影边缘?现在看起来很不自然.

有这样的场景: 在此输入图像描述

ooO*_*lly 4

好吧,我找到了一种简单的方法来实现这一目标,但丢失了一些材料细节。

将材质的光照模型更改为SCNLightingModelConstant并将模型从SCNLight.

1.设置灯光模型

SCNLightingModelConstant只考虑环境光来着色,所以我们需要环境光来保持模型可见。

model.geometry.materials.firstObject.lightingModelName = SCNLightingModelConstant;
Run Code Online (Sandbox Code Playgroud)

2.设置模型和灯光的类别位掩码

model.categoryBitMask = 1;
directionalLight.categoryBitMask = ~1UL;
Run Code Online (Sandbox Code Playgroud)

如果按位与的结果为零categoryBitMask,则节点将不考虑光照,因此不再有自阴影。投射的阴影模型仍将保留在场景中。