1

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

这是我设置其他阴影设置的方法,效果很好。但我发现除了黑色/不同深浅的灰色之外没有其他方法可以制作阴影。

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 变量的引用,但是理解该文件超出了我的思维能力,并且找不到配置它的方法。考虑到阴影映射技术,这甚至可能吗?

我能想到的唯一解决方法是让来自相反方向的其他光线照亮阴影区域,并被阴影区域外的主光抵消。但是当我开始添加更多的灯光时,这可能很快就会变得一团糟,如果它确实有效的话......

4

1 回答 1

1

shadowColor 变量刚开始时设置为 1,如果启用了阴影,它会根据位置变得越来越暗。这个值最后乘以最终颜色值,所以如果它仍然是 1,则没有任何变化,但如果它小于 1,它会使最终颜色变暗。所以没有办法设置阴影的颜色。

于 2012-12-02T05:42:22.170 回答