THREE.js平面着色但有阴影?

时间:2016-07-06 16:18:45

标签: three.js

我希望用Three.js创建一个1位或黑白色的效果,其中所有阴影(投射,接收和自我)都是可见的/黑色但所有材质都有平坦的白色阴影并与之混合(也是白色)背景。我尝试使用THREE.MeshBasicMaterial,但它不喜欢阴影和THREE.ShadowMaterial,但它使材料不可见,我需要它在那里(但经常'平坦'),就像在这个例子中一样:

enter image description here enter image description here

就阴影而言,它们也应该以1位方式运行,只有实体(当超过50%灰色?)或不可见时。

如何实现这样的效果的任何想法?任何人都有一个着色器分享?

我的笔:http://codepen.io/znak/pen/bpxXrV?editors=0010

1 个答案:

答案 0 :(得分:0)

通过增加光照强度来解决这个问题非常简单:

sun = new THREE.DirectionalLight( 0xffffff, 1000 );

示例:http://codepen.io/znak/pen/bpxXrV