【问题标题】:three.js shadow cutoffthree.js 阴影截止
【发布时间】:2012-06-10 08:18:57
【问题描述】:

正如标题所说。 当我渲染当前场景时,一切正常。 只有白猴的影子被切断了。 怎么会这样,有解决办法吗?

这里是网站:http://hammer.bz/test/ 还有一个屏幕;)
http://i.stack.imgur.com/6jd0h.png

我猜这与相机或灯光有关.. 他们是这样的:

renderer.shadowMapEnabled   = true;
renderer.sortObjects = false;
renderer.shadowMapWidth = 3072;
renderer.shadowMapHeight = 3072
renderer.shadowCameraNear = 2;
renderer.shadowCameraFar = 40000;
renderer.shadowCameraFov = 50;
renderer.shadowMapBias = -0.00022;
renderer.shadowMapDarkness = 0.55;
renderer.shadowMapSoft      = true;
renderer.physicallyBasedShading = true;
renderer.setClearColorHex( 0x999999, 1 );


camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 0.1, 40000 );
camera.position.x = x;
camera.position.y = y;
camera.position.z = z;  
camera.rotation.x = -0.8;
scene.add( camera );


var light = new THREE.DirectionalLight( 0xffffff, 1 );
light.position.set( -2, 5, 2 ).normalize();
light.shadowCameraNear  = 0.01;
light.shadowCameraFar   = 1000000;
light.castShadow        = true;
light.shadowDarkness        = 0.5;
light.shadowCameraVisible   = false;
scene.add( light );

提前致谢!
布拉姆

编辑:明白了:

只需改用THREE.SpotLight。 这是一个愚蠢的问题。

只需戴上shadowCameraVisible = true; 即可看到光线,它会起作用。 现在对这个问题感到有点愚蠢哈哈;)

【问题讨论】:

  • 很高兴你知道了!永远不要因为一个简单的答案问一个问题而感到愚蠢。我无法告诉你有多少次我在输入 Stack Overflow 问题时或在发布问题后立即发现了自己的问题。我建议实际上将您的发现添加为该问题的答案,然后在所需的 24 小时等待后将其标记为已接受的答案。这有助于其他人确定问题已在未来得到解决。

标签: html canvas webgl three.js


【解决方案1】:

只需改用THREE.SpotLight

只需戴上shadowCameraVisible = true; 即可看到光,它会起作用。 当然你需要设置位置position.set(x, y, z);

【讨论】:

    猜你喜欢
    • 2013-06-11
    • 1970-01-01
    • 2017-08-29
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    相关资源
    最近更新 更多