Я пытаюсь взять любую геометрию three.js и разделить ее существующие грани на более мелкие грани. По сути, это дало бы геометрии более высокое «разрешение». В примерах three.js есть инструмент модификатора подразделения, который отлично подходит для того, что я пытаюсь сделать, но в конечном итоге он меняет и трансформирует исходную форму геометрии. Я хотел бы сохранить первоначальную форму.
Просмотреть пример модификатора подразделения
Пример поведения текущего модификатора подразделения:
Грубый пример того, как я хотел бы, чтобы он вел себя:
Модификатор подразделения применяется следующим образом:
let originalGeometry = new THREE.BoxGeometry(1, 1, 1);
let subdivisionModifier = new THREE.SubdivisionModifier(3);
let subdividedGeometry = originalGeometry.clone();
subdivisionModifier.modify(subdividedGeometry);
Я попытался найти источник модификатора подразделения., но я не знал, как изменить его, чтобы получить желаемый результат.
Примечание. Подразделение должно применяться к любой геометрии. В моем примере желаемого результата может показаться, что PlaneGeometry three.js с увеличенными сегментами будет работать, но мне нужно, чтобы это применялось к различным геометриям.