Somerussian
Somerussian

Reputation: 391

Three.js: how to create polygon/polyhedron?

Are there other ways to create polygon/polyhedron in three.js except this one?

	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 );

Upvotes: 1

Views: 2234

Answers (1)

Flux
Flux

Reputation: 666

Why not use 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 );

Upvotes: 1

Related Questions