Three.js根据几何体对象自身阴影本身

时间:2014-05-28 14:33:38

标签: three.js shader shadow

我和clara.io玩了一点,我想重现用它完成的图像。

realistic

我已经在网上搜索了几天,想要重现他们所谓的“逼真”渲染。 正如你在图像上看到的那样,六个圆形部分在多个光源的(一块)砖上有自己的阴影。

我不知道他们是如何做到的,如果它是一个简单的设置,或复杂的着色器。 我能做的最好的是that,我不知道如何根据它的几何形状来制作和对象阴影本身。

任何小道?

2 个答案:

答案 0 :(得分:4)

即。实际上这是一个非常简单的设置。 THREE.Object3D有两个属性castShadowreceiveShadow您可以通过将两者都设置为true

来实现您正在寻找的效果(即自阴影)

答案 1 :(得分:3)

实际上你需要:

renderer.shadowMapEnabled = true;
light.castShadow = true;
object.castShadow = true;
object.receiveShadow = true;

我知道它有点反直觉,光和网格都具有相同的属性" castShadow",但它是如何工作的。

如果阴影没有出现或显示不正确,还要记得检查光线的阴影相机的近,远和大小。

这是我做的一个例子: http://shahar.thenachts.com/threejs/examples/selfShadow.html

加载模型需要一些时间(模型是地板和墙壁)及其纹理,所以请耐心等待。

查看代码,右键单击任意位置并选择"检查元素"。