javascript - Three.js 中的 3D 曲线几何

标签 javascript three.js

我有一个 Vector3 数组,它们定义了 3D 空间中的任意曲线形状。我可以使用 THREE.GeometryTHREE.Line 在 Three.js 中渲染曲线轮廓,但我想用颜色填充它。

我尝试使用 THREE.ShapeGeometryTHREE.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/

相关文章:

javascript - 从 codeigniter Controller 发送电子邮件后无法在 jquery 中获得响应

javascript - Three.js 中 Material 的漫反射贴图和颜色之间的相关性

three.js - camera.up 在 Three.js 中有什么作用?

javascript在字符串中找到div id并删除它的内容

3d - SketchUp 导出带有纹理的对象 - 如何

javascript - 如何让统计框显示在我的 Threejs Canvas 上?

matrix - 三个 js,更新对象的矩阵不会改变其位置和旋转参数

javascript - 在页面渲染之前执行函数

javascript - AngularJS Factory 从返回对象访问这个方法

javascript - 获取多个 div 之间的距离(水平距离,即左边界到右边界 - 以像素为单位)