首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从对象发射灯光

从对象发射灯光
EN

Stack Overflow用户
提问于 2018-06-20 20:14:02
回答 2查看 5.3K关注 0票数 3

我正在制作一个Three.js场景,在这个场景中我有星星对象,我希望能够让它们“发光”。

我所说的发光是指让它们真正发光,而不仅仅是在它们周围放置一个“光环”效果。

我试着将一个PointLight对象放在与星星相同的位置,这使得光线从对象中发射出来,但正如你所看到的,它不会使对象“发光”,从而产生奇怪的效果。

我当前的代码如下所示:

代码语言:javascript
复制
class Marker extends THREE.Object3D {
  constructor() {
    super();
    // load obj model
    const loader = new OBJLoader();
    loader.load(
      "https://supersecretdomain.com/star.obj",
      object => {
        object.traverse(child => {
          if (child instanceof THREE.Mesh) {
            // child.material.map = texture;
            child.material = new THREE.MeshLambertMaterial({
              color: 0xffff00
            });
            child.scale.set(0.01, 0.01, 0.01);
          }
        });
        this.add(object);
      }
    );
    const light = new THREE.PointLight(0xffff00, 0.5, 5);
    this.add(light);
  }
}

你知道怎么做吗?;)

EN

回答 2

Stack Overflow用户

发布于 2018-06-21 03:05:18

向星形添加点光源是使其他对象受其光源影响的正确方法。要使星体本身发光,可以将材质的emissive颜色设置为除黑色之外的其他颜色(为了获得最佳效果,您可能希望它与灯光的颜色相同)。

票数 4
EN

Stack Overflow用户

发布于 2018-06-21 07:57:50

除了设置您的灯光,并设置材质的发射属性,如上面的Jave所提到的。

您可能需要查看以下三个PostProcessing示例。特别是虚幻的布卢姆通行证。如果你能让它工作,它真的能卖出效果。

https://threejs.org/examples/webgl_postprocessing_unreal_bloom.html

请注意高光辉光实际上是如何渗入对象周围的场景中的…

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50948014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档