Светодиодная лента в тройках

Как лучше всего имитировать светодиодную ленту в threejs, как показано на рисунке? Есть ли пример, чтобы сделать что-то подобное?

введите здесь описание изображения


person revy    schedule 31.10.2018    source источник
comment
Один из подходов — использовать карты освещения: threejs.org/examples/?q=lightm#webgl_materials_lightmap< /а>   -  person prisoner849    schedule 31.10.2018


Ответы (1)


Это действительно зависит от того, какой реализм вы хотите. Всегда есть способы сделать эффекты более реалистичными, но это быстро становится довольно сложным.

Однако, если мы ограничимся готовыми функциями THREE.js, в нашем распоряжении будут следующие типы освещения:

  • Окружающий свет
  • Направленный свет
  • ПолушариеСвет
  • Точечный свет
  • RectAreaLight
  • Прожектор

Из них лично я бы рекомендовал RectAreaLight, поскольку он представляет Area Light (форму которой вы можете указать, чтобы она соответствовала форме ваших светодиодных лент), которая представляет собой прямоугольник, который равномерно излучает свет по всей своей поверхности. Лампа, подобная той, что изображена на вашем рисунке, возможно, не излучает свет полностью равномерно, но в зависимости от вашей цели это может быть достаточно близкое приближение. Вы также можете комбинировать несколько источников света для достижения определенных эффектов.

person Berthur    schedule 31.10.2018
comment
Спасибо, я решил использовать сетку излучающего материала с RectAreaLight поверх нее. Не уверен, как решить проблему отсутствия теней, поскольку RectAreaLight не может отбрасывать тени. - person revy; 02.11.2018
comment
Интересное решение! Рассматривали ли вы сочетание этого с другими источниками света, такими как Pointlights или DirectionalLight, для получения (приблизительно) теней? - person Berthur; 03.11.2018