Есть ли способ установить материал на фиксированную часть сетки?
Как вы уже упоминали, есть способ установить разные материалы на разные частигеометрия.Проблема здесь заключается в том, чтобы определить, что означает fixed :
или есть ли способ установить сегменты так, чтобы один из них всегда имел фиксированный размер?
Да.Вы должны изменить геометрию самостоятельно.Доберитесь до g.attributes.position.array
и измените вершины, составляющие сегмент.Это более низкий уровень и отличается от графа сцены.
Может быть, нет веских причин для того, чтобы держать все в одной геометрии.Это имело бы смысл, если бы вы использовали цвета вершин, например, для рисования различных сегментов и, возможно, анимировали экструзию в GLSL, а не с scale.set()
.Но так как вы хотите применять разные материалы и не пишете GLSL, вы все равно будете в конечном итоге получать колл-коллы.
На самом деле вы можете сэкономить немного памяти, сохранив только простой куб и дважды ссылаясь на него, чем сохраняя дополнительные вершины и грани.Итак, то, что вы пытаетесь сделать, - это больше потреблять больше памяти и иметь такое же количество накладных расходов на рендеринг.В этом случае, делая все с графом сцены, с двумя сетками и одна геометрия (вам не нужно дублировать прямоугольник, вам нужно только два узла ), которые должны быть производительными, игораздо проще работать.