Задать вопрос
  • Как расположить плоскую текстуру сегмента на кольцо?

    @News_Bot Автор вопроса
    Прекрасно. Вот код преобразования на JS
    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;
    });
    Написано