Я пытаюсь создать плату, на которой установлено несколько светодиодов RGB, как показано на рисунке.создать светодиод, используя трижды
Я создал светодиоды с помощью следующей
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';
Но я хотел бы, чтобы они были яркими и светиться как обычный светодиод будет в физическом мире. Могу ли я получить указания на то, как я могу это сделать?
[здесь] (http://dkobozev.github.io/webgl/led_cube/) является примером светодиодов – prisoner849
Имейте в виду, что огни - это просто источники света. Они не занимают никакого физического пространства или не имеют физических атрибутов. Чтобы создать эффект свечения, вам нужно выполнить трюки, такие как текстуры (пример заключенного), или использовать шейдеры, как предложил Черкесгиллер. – TheJim01
@ prisoner849 Я видел этот пример, но частота кадров очень низкая .. и я бы переключил свет быстрее, чем то, что используется в этом примере. – Lonewolf