【问题标题】:THREE JS Shadow Issues三个 JS 影子问题
【发布时间】:2021-04-10 14:14:29
【问题描述】:

我有一个“旗帜”动画,当布料在风中飘动并自行折叠时,我希望它在自身上显示阴影 - 查看小提琴以了解我的意思:

https://jsfiddle.net/gilomer88/zfa9eLbo/38/

我已将两个灯都设置为 castShadows,如下所示:

light1.castShadow = true;

我的“标志”对象被设置为接收阴影:

flagMesh.receiveShadow = true;

但我没有在旗帜上看到任何阴影 - 我做错了什么?

【问题讨论】:

    标签: three.js shadow


    【解决方案1】:

    我检查了你的小提琴,似乎在你的灯光变量(light1,light2)上你写道:

    light1.castsShadow = true;
    

    代替:

    light1.castShadow = true;
    

    这有助于显示某种阴影,但看起来 like so。 这看起来像影子文物。您可以对它们做的就是以较小的值更改 LightShadow 的 bias。在你的小提琴的情况下,似乎投射这个阴影的光是 light2 所以你可以像这样改变它的偏差值:

    light2.shadow.bias = -0.0001;
    

    当然,你也可以玩正值,看看什么看起来更好,玩光的位置,等等。

    【讨论】:

    • 嘿,你是对的!我确实拼错了那里的代码。我尝试了您建议的bias 声明 - 它确实有效,但它并不漂亮,是吗?奇怪的。为什么这很难做到?不管怎样,谢谢!
    猜你喜欢
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 2021-08-25
    • 2021-05-19
    • 1970-01-01
    相关资源
    最近更新 更多