ThreeJS中的阴影黑暗和物体不透明度

问题描述:

我有一个物体将其材质淡化为50%的不透明度,但我注意到阴影不随其不透明度而改变。ThreeJS中的阴影黑暗和物体不透明度

如果对象的不透明度为50%alpha'd。我希望看到的是物体的阴影率达到100%的50%。

使用threejs处理这个问题的好方法是什么?

+0

你是什么意思?影100%黑暗,但你不想它是? –

+0

如果一个物体的不透明度为50%,我希望它的影子能够达到100%的阴影的50%。 – yeahdixon

有一个shadowMaterial这是不可见的,但只能渲染阴影。您可以设置其opacity模仿阴影黑暗,这里是一个演示:

http://jsfiddle.net/f17Lz5ux/5336/

var planeMaterial = new THREE.ShadowMaterial(); 
planeMaterial.opacity = 0.5; 
var shadowPlane = new THREE.Mesh(geometry, planeMaterial); 
shadowPlane.receiveShadow = true; 

缺点:在老版本出现了shadowDarkness - 属性已被删除。现在你需要额外的几何图形和材质来模拟一个简单的属性。

+1

很好的答案,是有帮助的。还要考虑到'阴影明暗'不允许改变不透明度,只有黑暗(因此而得名)。 shadowMaterial更灵活:你可以改变阴影的不透明度和颜色来创建许多复杂的效果。 – taseenb