Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Three.js-阴影正在穿过墙壁_Three.js_Shadow - Fatal编程技术网

Three.js-阴影正在穿过墙壁

Three.js-阴影正在穿过墙壁,three.js,shadow,Three.js,Shadow,免责声明:完成noob to 3D编程和three.js 我正在为最终场景制作原型,该场景将包含多个墙、设备等。。。正如您在屏幕截图中看到的,代表我们的一个设备的立方体在立方体旁边的墙上投射了一个阴影,但阴影也穿过了墙壁。墙被设置为接受阴影,但不是故意投射阴影,因为墙的显示长度比实际长度短,但假定为朝向“天花板”,因此不应投射阴影。你知道我做错了什么让阴影穿过墙吗。我再次为我的问题可能是琐碎的性质道歉,但在这一点上,我已经看了这几天没有解决办法的视线。谢谢 您能发布渲染立方体和墙的代码片段吗?

免责声明:完成noob to 3D编程和three.js

我正在为最终场景制作原型,该场景将包含多个墙、设备等。。。正如您在屏幕截图中看到的,代表我们的一个设备的立方体在立方体旁边的墙上投射了一个阴影,但阴影也穿过了墙壁。墙被设置为接受阴影,但不是故意投射阴影,因为墙的显示长度比实际长度短,但假定为朝向“天花板”,因此不应投射阴影。你知道我做错了什么让阴影穿过墙吗。我再次为我的问题可能是琐碎的性质道歉,但在这一点上,我已经看了这几天没有解决办法的视线。谢谢


您能发布渲染立方体和墙的代码片段吗?你的应用程序的一个jsfiddle会特别有用,因为你的墙不是
shadowCaster
这里是一个asrequested@gmarkc要完成您需要的功能,您可以尝试将地板网格分为两部分-内部部分带有
receiveShadow=true
,外部部分不带它,我以前遇到过这个问题,我个人解决这个问题的方法是使用light.shadow.camera.top、light.shadow.camera.bottom、light.shadow.camera.right-left值或使用三个.Object3D()使墙成为与地板相同的3d对象