Вы правы в том, что вам нужен второй набор ультрафиолетовых лучей. Причина этого заключается в том, что диффузные текстуры часто повторяются (например, кирпичная стена или клетчатая футболка). Затенение АО, однако, с большей вероятностью будет уникальным для каждой части геометрии, поэтому оно почти никогда не повторяется. Поскольку для этого часто требуется альтернативный метод UV-картирования, по умолчанию используется второй набор UV.
Вы можете сделать 2 вещи:
- Реэкспортировать свой актив GLTF с дубликат набора UV.
- Дублируйте существующие UV в Three. js, создав новый BufferAttribute в вашей геометрии:
// Get existing `uv` data array
const uv1Array = mesh.geometry.getAttribute("uv").array;
// Use this array to create new attribute named `uv2`
mesh.geometry.setAttribute( 'uv2', new THREE.BufferAttribute( uv1Array, 2 ) );
.getAttribute
и .setAttribute
- это методы BufferGeometry
, если вы хотите узнать о них больше.