2013-07-26 6 views
3

Я использую версию Three.js 57. Теперь я работаю в анимации с помощью JSONLoader. Я получил анимацию успешно. Но я хочу обновить полный цвет вершины сетки для каждого кадра в анимации. Является ли это possibe в three.jsДинамическое изменение цвета вершин в Three.js

Заранее спасибо

ответ

5

Vertex цвета в настоящее время не поддерживается в CanvasRenderer.

Вот шаблон, который вы должны следовать за WebGLRenderer:

Набор THREE.VertexColors при создании материала для сетки;

material.vertexColors = THREE.VertexColors; 

Также убедитесь, что vertexColors определены для каждой грани вашей геометрии.

geometry.faces[ faceIndex ].vertexColors[ vertexIndex ] = new THREE.Color(0xff0000); 

Затем в цикле рендеринга, чтобы изменить цвет вершины, сделайте следующее:

geometry.faces[ faceIndex ].vertexColors[ vertexIndex ].setHSL(Math.random(), 0.5, 0.5); 
mesh.geometry.colorsNeedUpdate = true; 

Three.js R.59

+0

автоматически определяется faceIndex и VertexIndex? – schlenger

+1

@schlenger нет, вам нужно сделать это самостоятельно. Просто добавил это для завершения. – escapedcat

+1

Достаточно интересно обновить цвет, необходимо использовать функцию .setHSL(), просто присваивая новый THREE.Color(), не обновляет график для меня. – Paul

Смежные вопросы