Я пытаюсь применить текстуру к ringGeometry в three.js r67. Я не могу правильно настроить текстуру. Я хотел бы применить следующую текстуру к сетке ringGeometry радиально, так что синий конец текстуры появится на внутренней окружности кольца, а красный край появится на внешней окружности. Вот соответствующая часть моего кода с JSFiddle ссылкой на запущенном например:Как применить радиальную текстуру к кольцу с помощью тр.js r67?
geometry = new THREE.RingGeometry(100, 192, 60);
material = new THREE.MeshPhongMaterial({ map: texture });
mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
http://jsfiddle.net/mareid/8t4cz/4/
Я не могу получить текстуру (а) поток в радиальном направлении, (б) линия с радиальным протяженность кольца, чтобы отображалась вся текстура, и (c) появляются с обеих сторон кольца. Я хочу, чтобы это появилось больше, как это:
http://astro.utoronto.ca/~mreid/ring_gradient.png
У меня есть очень шаткое схватывание УФ отображения. Обратите внимание, что текстура, которую я предоставил, является лишь примером. Я хотел бы иметь возможность сделать это в общем случае радиальных текстур на кольцах.
Кто-то разместил подобный вопрос, но я не могу понять, как адаптировать отображение УФ на их примере помоему:
Non-radial texture mapping over a ring geometry in WebGL using Three.js
Спасибо за вашу помощь!
Не могли бы вы использовать что-то похожее на 'ring_gradient.png' как свою текстуру? – WestLangley
Я бы сказал, что код в ответе, который вы связываете, имеет точный ответ, который вам нужен, нет необходимости адаптировать код. Я что-то упускаю ? – vals
@vals, я попытался изменить отображение uv, используя код в этой ссылке. Он ориентирует текстуру в правильном направлении (то есть радиально), но только небольшая часть текстуры фактически отображается на кольцо. То есть, если бы я сделал текстуру пяти цветных полос (например, красного, оранжевого, желтого, зеленого, синего), результатом будут красные и оранжевые концентрические круги, но не желтые, зеленые или синие. Я не могу понять, как отобразить остальную текстуру. Это похоже на то, что 10% текстуры отображается на 100% от радиальной протяженности кольца, а не 100% -100%. – mareid