Javascript 使用threejs创建LED
我正在尝试创建一个板,该板上安装了多个RGB LED,如图所示 我使用以下方法创建了LEDJavascript 使用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');
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的好时机。