Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Three.js-发光的球体_Javascript_Three.js_Geometry_Light - Fatal编程技术网

Javascript Three.js-发光的球体

Javascript Three.js-发光的球体,javascript,three.js,geometry,light,Javascript,Three.js,Geometry,Light,我有个问题。我想制作一个像光源(太阳)一样工作的球体。我发现meshPhongMaterial有一个选项,比如emissive:color和shiness:intensity,但我没有对太阳进行编码。有人知道怎么做吗?谢谢你的回答 既然你没有具体的问题,我就不能给你一个具体的答案。不过,你似乎有点迷路了,所以你可能缺少一件事:为了让某个东西看起来像光源,它必须做两件事: 照明:通过在其内部创建新灯光对象来实现此目的。将对象和灯光都放在新的THREE.Object3D中是个好主意 辉光:需要创建一

我有个问题。我想制作一个像光源(太阳)一样工作的球体。我发现
meshPhongMaterial
有一个选项,比如
emissive:color
shiness:intensity
,但我没有对太阳进行编码。有人知道怎么做吗?谢谢你的回答

既然你没有具体的问题,我就不能给你一个具体的答案。不过,你似乎有点迷路了,所以你可能缺少一件事:为了让某个东西看起来像光源,它必须做两件事:

  • 照明:通过在其内部创建新灯光对象来实现此目的。将对象和灯光都放在新的THREE.Object3D中是个好主意
  • 辉光:需要创建一个着色器来模糊该对象周围的像素。我在这里找到了一个专门针对three.js的教程:
  • 您可以尝试使用更高级的技术,例如添加


    祝你好运。

    meshPhong材质的参数“emissive”和“Shiness”会影响材质着色器中的计算,但这些参数不会给你想要的效果,它们只用于计算最终颜色

    例如,您可以将聚光灯放置在球体的确切位置,以便使其周围的对象变亮。但是,如果要实现发光球体的效果,则必须编写后处理着色器:

    • 将球体渲染到帧缓冲区1
    • 将相同的球体渲染为黄色(或其他一些明亮的颜色)到帧缓冲区2
    • 模糊帧缓冲区2中的内容作为后处理效果
    • 将原始图像(帧缓冲区1)和模糊帧缓冲区2混合在一起以生成最终图像
    另外,有些示例不使用实际的后处理来实现发光,但它们使用了技巧

    渲染球体,然后渲染一些背面带有“光晕光环”纹理的四边形。
    访问:了解如何模拟光晕并在球体周围创建类似eclipse的圆圈。

    如果您希望创建光晕样式效果,我已经编写了一些可能有用的示例,包括:


    随附博客帖子

    以及更大气风格的辉光效果




    希望这有帮助

    尝试编写代码。如果您在代码中遇到任何问题,我们可以提供帮助。感谢您的所有工作。最后,我总是去那里学习更多关于如何用3J做某些事情的知识。对于辉光的例子,对于复合物体,你是如何做到的?例如,我有一个由缓冲合并几何体组成的分子结构,我试图创建一个类似下图所示的电荷云。我该怎么做有什么建议吗?变形球?如果是,怎么做?还有其他方法吗?