Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Удаленная работа для IT-специалистов
const texture = textureLoader.load(textureUrl, (texture) => { const width = texture.image.width; const height = texture.image.height; const positions = geometry.attributes.position; const uvs = geometry.attributes.uv; for (let i = 0; i < positions.count; i++) { const x = positions.getX(i); const y = positions.getY(i); const r = Math.sqrt(x * x + y * y); const angle = Math.atan2(y, x); const x_r = (r - innerRadius) / (outerRadius - innerRadius) * width; const y_r = (angle / Math.PI + 0.5) * height; uvs.setXY(i, x_r / width, y_r / height); } geometry.attributes.uv.needsUpdate = true; });