Possibly dumb question but here goes. Three.js geometries have ‘parameter’ feilds associated with them, see the box geometry here…
I am trying to update these parameters like this…
var nodeSize = 10; var geometry = new THREE.CubeGeometry(nodeSize, nodeSize, nodeSize); mesh = new THREE.Mesh(geometry, new THREE.MeshNormalMaterial({side:THREE.DoubleSide})); scene.add(mesh); mesh.geometry.parameters.depth=20;
But of course, the geometry remains unchanged. Is there a way of updating the geometry by editing these parameters?
fiddle here https://jsfiddle.net/kn3owveg/2/
Any help appreciated!
Advertisement
Answer
Gaitat is totally right, you can’t change geometry with changing of parameters
.
And there can be another solution. With scaling of your cube.
function setSize( myMesh, xSize, ySize, zSize){ scaleFactorX = xSize / myMesh.geometry.parameters.width; scaleFactorY = ySize / myMesh.geometry.parameters.height; scaleFactorZ = zSize / myMesh.geometry.parameters.depth; myMesh.scale.set( scaleFactorX, scaleFactorY, scaleFactorZ ); } ... setSize(mesh, 10, 10, 20);
jsfiddle example