自定义阴影颜色

时间:2012-12-02 01:47:33

标签: three.js

是否可以为阴影渲染指定除黑色以外的其他颜色?我想让用户尝试使用光影和阴影颜色,例如。在光/阴影中使用互补色。

以下是我设置其他阴影设置的方法,它完美无缺。但我发现除了黑色/不同的灰色阴影外,没有办法制作阴影。

this._sun_light = new THREE.DirectionalLight(0xffffff, 1);
...
this._sun_light.intensity = this.getParameter("sun_intensity");
this._sun_light.color.setHex(this.getParameterColorHex("sun_color"));
...
this._sun_light.shadowDarkness = this.getParameter("sun_shadow_intensity");
...

我在three.js \ src \ renderers \ WebGLShaders.js中找到了一些对shadowColor变量的引用,但是理解该文件超出了我的心理能力,并且找不到配置它的方法。考虑到阴影贴图技术,这甚至可能吗?

只有我能想到的解决方法是从相反的方向照射阴影区域的其他光线,并在阴影区域外的主光线取消。但是,当我开始添加更多灯光时,这很快就会变得混乱,如果它起作用的话......

1 个答案:

答案 0 :(得分:1)

shadowColor变量在开始时设置为1,如果启用阴影,则根据位置变暗和变暗。此值乘以最后的最终颜色值,因此如果它仍为1则没有任何变化,但如果它小于1则会使最终颜色变暗。所以没有办法设置阴影的颜色。