投射和接收阴影
-
介绍
我们周围的一切物体都会投射一些阴影(除非你是在一个完全漆黑的屋子里)。因此,添加阴影将使你的三维场景更加逼真。
但是,计算和绘制阴影需要额外的电脑资源和时间。因此,在默认情况下,你添加的所有三维物体不会投射任何阴影。你必须使用代码积木来告诉三维引擎哪些物体会投射阴影。

如上所示,要生成阴影,你实际上需要告诉三维引擎 3 件事情:
- 光源:这将用于计算阴影的位置和形状
- 投射阴影的物体:如花盆或化身
- 接收阴影的物体:这是用于显示阴影的,例如桌子或地板。
光源
你只能使用 单点光或者单向光 作为产生阴影的光源。添加光源的时候,你最好给它起个名字,方便后面引用这个光源。
请注意,在添加光源之前,你可能需要移除场景中所有已有的光源,否则阴影可能会看不见或者非常不明显。
此外,光源的位置应在投影物体和受影物体的上方,否则它不会产生阴影。
这是一个示例程序:

使物体投射阴影
要使物体投射阴影,你需要运行以下积木。它将使当前被选择的角色物体投射阴影。通常情况下,当你添加一个物体后,如果你希望这个物体投射阴影,那你应该紧接着就运行下面这个积木。

它接受 3 个输入:
- 是/否:如果此输入为“是”,则当前的角色物体将开始投射阴影。如果此输入为“否”,则当前的角色物体将停止投射阴影。
- 光源名称:光源的名称。如果它是空白的,那么将使用最后被添加的光源。
- 模糊度:此数值控制阴影的模糊程度。一般来说,物体的阴影都有模糊的边缘。
使物体接收阴影
在添加光源和阴影投射物体后,我们还是看不到任何阴影。那是因为我们还没有指定阴影需要在哪里显示出来。
要让一个物体接收和显示其他物体投射过来的阴影,你需要使用以下积木:

如果输入为“是”,那么当前被选中的角色物体将会接受和显示其他物体投射的阴影;否则,角色物体将停止显示任何阴影。
演示 1
在这个程序中,我们作了 3 件事情:
1.添加一个名为“光源1”的点光源
2.添加一个会投射阴影的花盆
3.添加一个将接收阴影的桌子
你会看到如下结果:
演示 2
在这个程序中,我们做了这 3 件事情:
1.添加一个名为“光源1”的单向光源
2.添加投射阴影的跳舞的化身
3. 使用一个平面作为地板,用来接收阴影
你会看到如下结果:
-
I CreatiCode pinned this topic on
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login