我有一个 Vector3 数组,它们定义了 3D 空间中的任意曲线形状。我可以使用 THREE.Geometry
和 THREE.Line
在 Three.js 中渲染曲线轮廓,但我想用颜色填充它。
我尝试使用 THREE.ShapeGeometry
和 THREE.Mesh
,但似乎 THREE.ShapeGeometry
仅适用于二维平面(我的顶点的 z 坐标被忽略了)。我还尝试使用 THREE.Geometry
并在我想要的顶点之外定义面,但没有成功。
我应该怎么做?
代码:
geom.vertices = curve.getPoints(100);
for (var i = 0; i < 97; i++) {
geom.faces.push(new THREE.Face3(i, i + 1, i + 2));
}
var material = new THREE.MeshNormalMaterial();
obj = new THREE.Mesh(geom, material);
scene.add(obj);
最佳答案
通过将上述问题中的代码更改为以下摘录来修复:
geom.vertices = curve.getPoints(100);
for (var i = 0; i < 98; i++) {
geom.faces.push(new THREE.Face3(0, i + 1, i + 2));
}
var materialObj = { color : 0xff0000, side: THREE.DoubleSide };
var material = new THREE.MeshBasicMaterial(materialObj);
obj = new THREE.Mesh(geom, material);
scene.add(obj);
关于javascript - Three.js 中的 3D 曲线几何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41903629/