javascript - 三、形状从绿色到红色

标签 javascript colors three.js geometry shapes

我使用 THREE.Shape 创建了一个简单的圆圈并将其着色为绿色。

但是我希望更改颜色,使其从绿色(中间)变为红色(边框)。

我一直在看 this 中的一个例子网站,但我不明白如何为我的项目实现类似的方式。

创建圆圈的代码:

var arcShape = new THREE.Shape();
arcShape.absarc(100, 100, circleRadius, 0, Math.PI * 2, false);

var geometry = new THREE.ShapeGeometry(arcShape);
var material = new THREE.MeshBasicMaterial({ color: 0x00ff11, overdraw: 0.5, side: THREE.DoubleSide });

var mesh = new THREE.Mesh(geometry, material);
mesh.position = CirclePosition;
mesh.rotation.set(Algorithms.ConvertDegreesToRadians(-90), 0, 0);

最佳答案

另一种方法是使用顶点颜色

var colorRed = new THREE.Color (0.9, 0.0, 0.0);
var colorGreen = new THREE.Color (0.0, 0.9, 0.0);

material = new THREE.MeshBasicMaterial({ vertexColors: THREE.VertexColors});

geometry = new THREE.CircleGeometry(100, 10, 0, 3);

var nmax = geometry.faces.length;
for (var n=0; n<nmax; n++) {
    geometry.faces[n].vertexColors[0] = colorRed;
    geometry.faces[n].vertexColors[1] = colorRed;
    geometry.faces[n].vertexColors[2] = colorGreen;
}

关于javascript - 三、形状从绿色到红色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23422189/

相关文章:

javascript - 从服务器,如何识别 javascript fetch() 调用(asp.net mvc)

javascript - 如何混合不透明度的多层?

r - 如何在R中生成一些最有特色的颜色?

javascript - Threejs着色器实现

three.js - THREE.BufferGeometry - 访问面索引和面法线

javascript - SetTimeout 未针对 mousedown/touchstart 函数执行

javascript - jQuery 就绪函数

JavaScript "this"关键字和闭包编译器警告

r - 从 ggplot 中的 ggtheme 主题访问颜色

基于关闭闪烁速度的 Python Lighting RGB LED