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
автоматически определяется faceIndex и VertexIndex? – schlenger
@schlenger нет, вам нужно сделать это самостоятельно. Просто добавил это для завершения. – escapedcat
Достаточно интересно обновить цвет, необходимо использовать функцию .setHSL(), просто присваивая новый THREE.Color(), не обновляет график для меня. – Paul