我有问题。我想制作一个像光源(太阳)一样工作的球体。我发现meshPhongMaterial
有emissive: color
和shininess: intensity
这样的选项,但我没有设法对太阳进行编码。有谁知道怎么做?谢谢你的回答!
答案 0 :(得分:16)
如果您想创建一种发光效果,我在http://stemkoski.github.io/Three.js/上写了一些可能有帮助的例子,包括:
http://stemkoski.github.io/Three.js/Selective-Glow.html
随附博客文章
http://stemkoski.blogspot.com/2013/03/using-shaders-and-selective-glow.html
以及更具大气风格的发光效果
http://stemkoski.github.io/Three.js/Atmosphere.html
和
http://stemkoski.github.io/Three.js/Shader-Halo.html
希望这有帮助!
答案 1 :(得分:2)
由于您没有具体问题,我无法给您一个具体的答案。你似乎有点失落,所以这就是你可能会遗漏的东西:为了让某些东西看起来像光源,它必须做两件事:
您可以尝试更多高级技巧,例如添加godrays。
祝你好运。
答案 2 :(得分:2)
meshPhong材质具有参数'emissive'和'shininess',它们会影响材质着色器中的计算,但这些参数不会产生您想要的效果,它们仅用于计算最终颜色。
例如,您可以将聚光灯放在球体的确切位置,这样可以减轻周围的物体。但是,如果要实现发光球体的效果,则必须编写后处理着色器:
此外,一些示例不使用实际的后处理来实现发光,但它们使用技巧。
渲染球体,然后在背面渲染一些带有“发光光环”纹理的四边形。 访问:http://threegraphs.com/charts/sample/world/,了解如何模拟发光并在球体周围创建类似日食的圆圈。