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 使用threejs创建LED_Javascript_Three.js_Webgl_Led - Fatal编程技术网

Javascript 使用threejs创建LED

Javascript 使用threejs创建LED,javascript,three.js,webgl,led,Javascript,Three.js,Webgl,Led,我正在尝试创建一个板,该板上安装了多个RGB LED,如图所示 我使用以下方法创建了LED this.light = new THREE.PointLight(color, intensity, distance, decay); this.light.name = 'rgb-light'; this.led_group.add(this.light); let textureGlow = new THREE.TextureLoader().load('images/led1.png');

我正在尝试创建一个板,该板上安装了多个RGB LED,如图所示

我使用以下方法创建了LED

this.light = new THREE.PointLight(color, intensity, distance, decay);
this.light.name = 'rgb-light';
this.led_group.add(this.light);

let textureGlow  = new THREE.TextureLoader().load('images/led1.png');
var sphereMaterial = new THREE.MeshStandardMaterial({
  transparent: true,
  opacity: 0.8,
  emissive: this.light.color,
  color: this.light.color,
  wireframe: false,
  emissiveMap: textureGlow

});

let led_geo = new THREE.BoxGeometry(5, 1.6, 5);
let led_mat = new THREE.MeshBasicMaterial({
  color: 0xffffff
});

let led_mesh = new THREE.Mesh(led_geo, led_mat);
this.led_group.add(led_mesh);

this.ledsource = new THREE.Mesh(new THREE.CylinderGeometry(1.7, 1.7, 1), sphereMaterial);
this.ledsource.name = 'rgb-led';

但我希望它们像现实世界中的普通LED一样明亮发光。我能得到一些关于如何完成这项任务的建议吗?

这不是你问题的确切答案。但您可以使用着色器、一些后期处理效果、体积灯光等来实现这一点。这是一个非常重要的话题。顺便说一句,有很多例子使用更好的照明技术。这是一个来自bkcore的youtube,它使用体积光。

这不是你问题的确切答案。但您可以使用着色器、一些后期处理效果、体积灯光等来实现这一点。这是一个非常重要的话题。顺便说一句,有很多例子使用更好的照明技术。这是一个来自bkcore的youtube,它使用体积光。

是LEDsKeep的一个例子,记住光只是光源。它们不占用任何物理空间或具有物理属性。为了创建光晕效果,您需要执行一些技巧,例如纹理(囚徒的例子),或者按照Cherkesgiller的建议使用着色器。@prisoner849我看到了这个例子,但帧率非常低。。我会比那个例子中使用的更快地切换灯光。@Lonewolf你可以自由使用着色器以获得更好的性能我对webgl一无所知。当我开始这个项目时,我希望能很快完成。但是,即使有像three.js这样的库,我似乎也必须深入webgl来完成它:(.这可能是我学习webgl的好时机。这是LEDsKeep的一个例子,灯光只是光源。它们不占用任何物理空间或具有物理属性。为了创建光晕效果,你需要执行一些技巧,例如纹理(囚徒的例子),或按照Cherkesgiller的建议使用着色器。@prisoner849我看到了这个示例,但帧速率非常低。。我将比该示例中使用的更快地切换灯光。@Lonewolf您可以自由使用着色器以获得更好的性能我对webgl一无所知。当我开始这个项目时,我希望能够完成它非常快。但即使有像three.js这样的库,我似乎也必须深入研究webgl来完成它:(。现在可能是我学习webgl的好时机。