javascript - Three.js:如何创建多边形/多面体?

标签 javascript three.js polyhedra

除了这个之外,还有其他方法可以在 Three.js 中创建多边形/多面体吗?

	var polyhedronPts = [];
	polyhedronPts.push( new THREE.Vector2 ( -100, 600 ) );
	polyhedronPts.push( new THREE.Vector2 ( 300, 600 ) );
	polyhedronPts.push( new THREE.Vector2 ( 600, -100 ) );
	
	polyhedronShape = new THREE.Shape( polyhedronPts );

	var extrudeSettings = {amount: 20}; // bevelSegments: 2, steps: 2 , bevelSegments: 5, bevelSize: 8, bevelThickness:5
	
	var geometry = new THREE.ExtrudeGeometry( polyhedronShape, extrudeSettings );

	mesh = THREE.SceneUtils.createMultiMaterialObject( geometry, [ new THREE.MeshBasicMaterial( { color: 0x00cc00 } ), new THREE.MeshBasicMaterial( { color: 0xff3333, wireframe: true, transparent: true } ) ] );
	scene.add( mesh );

最佳答案

为什么不使用 http://threejs.org/docs/#Reference/Extras.Geometries/PolyhedronGeometry

var verticesOfCube = [
    -1,-1,-1,    1,-1,-1,    1, 1,-1,    -1, 1,-1,
    -1,-1, 1,    1,-1, 1,    1, 1, 1,    -1, 1, 1,
];

var indicesOfFaces = [
    2,1,0,    0,3,2,
    0,4,7,    7,3,0,
    0,1,5,    5,4,0,
    1,2,6,    6,5,1,
    2,3,7,    7,6,2,
    4,5,6,    6,7,4
];

var geometry = new THREE.PolyhedronGeometry( verticesOfCube, indicesOfFaces, 6, 2 );

关于javascript - Three.js:如何创建多边形/多面体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28109706/

相关文章:

MATLAB:根据一组分散的 3D 点计算凹多面体的体积

javascript - 每 5 秒自动刷新 DIV 内容代码不起作用

javascript - 在鼠标上输入在 Chrome 中行为不端

webgl - 位移贴图 UV 贴图?

javascript - 球体的三个js buffergeometry

computational-geometry - 围绕多面体的最小矩形框

javascript - 更改超链接的文本颜色

javascript - 如何创建固定的、垂直的、可扩展的导航栏?

javascript - 使用 Emscripten C++ Web Worker 高效传输大型数组 : which JavaScript design is better?

javascript - Three.js 多边形/多面体名称或标题