我正在尝试在WebGL中创建一个太阳能系统。 但是我不知道设置照明。 我想在阳光下照灯,让它投射360度光。我的行星应该投射并接收阴影。要实现这一点,我的光需要投射360度的阴影。 有可能做那样的事吗?如果是这样,怎么样?我应该使用哪种类型的灯?
我的太阳有一个meshBasicMaterial,我的行星有一个meshShaderMaterial。任何人都可以如此友善地为我提供一些示例代码吗?
谢谢!
答案 0 :(得分:5)
你应该为太阳添加THREE.PointLight
- 它会向所有方向投射光线。
由于Three.js中的点光源不支持阴影投射,阴影更加棘手。你有一些不太理想的选择:
请注意,在阴影接收对象上使用自定义ShaderMaterial
时,您需要在着色器中自己实现阴影(或包含three.js'阴影代码块)。
答案 1 :(得分:2)
听起来你需要使用全向灯。