Есть ли способ создать трехмерную линейку Three.js с шириной и толщиной?
Несмотря на то, что объект линии Three.js поддерживает ширину линии, этот атрибут пока не поддерживается во всех браузерах на всех платформах в WebGL.
Здесь, где вы задаете ширину линии в Three.js:
var material = new THREE.LineBasicMaterial({
color: 0xff0000,
linewidth: 5
});
Недавно был удален ленточный объект Three.js, который имел ширину.
Объект трубки Three.js генерирует 3D-экструзии, но - будучи основанными на Безье - линии не проходят через контрольные точки.
Может ли кто-нибудь подумать о методе рисования линейного ряда (полилиний, сюжетных линий) в файле Three.js, который имеет определенную определяемую пользователем "массу", такую как ширина, толщина или радиус?
Этот вопрос может быть повторением этого вопроса: Экстремирование графика в файле three.js.
Учитывая, что я не думаю, что есть доступный метод, я был бы рад принять участие в попытке создать простую функцию, отвечающую на этот вопрос.
Но ответ, который указывает на существующий работоспособный метод, будет классным...
Как предполагает WestLangley, одно из возможных решений включает в себя полилинию, имеющую постоянную ширину пикселя, - как это доступно в настоящее время с помощью средства рендеринга холста Three.js.
Сравнение двух визуализаторов показано здесь:
Линии Canvas и WebGL по сравнению с страницами GitHub
Линии Canvas и WebGL По сравнению с jsFiddle
Решение, в котором вы могли бы указать ширину линии и аналогичные результаты на обоих рендерах, было бы очень круто.
Существуют, однако, и другие способы мышления трехмерных линий, где линии имеют реальные физические конструкции. Они отбрасывают тени, они реагируют на события. Они также должны быть изучены.
Вот ссылки на страницы GitHub с двумя демонстрационными линиями, состоящими из нескольких ячеек:
"дорогое решение. Каждое соединение состоит из полной сферы.
Мое предположение заключается в том, что построение любой из них как гладких одиночных сеток будет сложным для решения проблем. Таким образом, в то же время здесь есть ссылка на частичную визуализацию 3D-линий, которые являются широкими и имеют высоту:
Цель состоит в том, чтобы кодировать "с низким уровнем сложности", другими словами - для "чайников". Таким образом, 3D-линия должна быть такой же простой и знакомой, как добавление сферы или куба. Геометрия + материал = сеткa > сцена. Геометрия должна быть довольно экономичной с точки зрения создания вершин и граней.
Строки должны иметь ширину и высоту. Вверх всегда находится в направлении Y. Демонстрация показывает это. То, что демо не показывает, - это углы, которые приятно мигрируют...