【问题标题】:Three.js spotlight shadow not showingThree.js 聚光灯阴影不显示
【发布时间】:2019-12-06 22:56:14
【问题描述】:

我正试图了解three.js 阴影。目前有一个场景设置,其中一个对象设置为投射阴影,一个地板设置为接收它们。

floor.receiveShadow = true;

不幸的是,阴影没有出现。我确定我在做一些愚蠢的事情。任何想法都会很棒!

此处示例:http://codepen.io/popmatik/pen/oLwPrk?editors=0010

谢谢

【问题讨论】:

  • 不确定这里是否相关? @2pha
  • 你在问我吗?看看那个问题中的小提琴,它展示了如何实现阴影
  • 尝试在第 34 行插入 spotLight.shadow = new THREE.LightShadow(new THREE.PerspectiveCamera(60, 1, 1, 2500));
  • 哦,抱歉,我刚刚注意到我链接到的问题是使用旧版本的 three.js 并且设置阴影不同

标签: javascript three.js


【解决方案1】:

以下代码对我有用(感谢@Ramil Kudashev):

let spotlight = new THREE.SpotLight(0xfdf8d8, 0.3, 400, 0.8, 0.5, 1);
spotlight.target = <Some3DObjectToPointAt>;
spotlight.shadow = new THREE.SpotLightShadow(new THREE.PerspectiveCamera(20, 1, 1, 250));
spotlight.castShadow = true;
//Add to scene somewhere

Ramil 建议使用 THREE.LightShadow,我必须通过 THREE.SpotLightShadow (v0.110.0)

尝试更换相机FOVFAR,但似乎没有改变结果。

【讨论】:

    猜你喜欢
    • 2019-01-14
    • 1970-01-01
    • 2017-08-29
    • 1970-01-01
    • 2020-12-20
    • 2015-08-31
    • 1970-01-01
    • 2019-08-09
    • 2016-10-19
    相关资源
    最近更新 更多