three.js Cube Geometry - 如何更新参数?
可能是愚蠢的问题,但在这里。 three.js所几何形状与他们相关联的“参数”精密组件,在这里看到的盒体几何形状...three.js Cube Geometry - 如何更新参数?
我试图更新这些参数是这样的...
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;
但当然,几何保持不变。是否有通过编辑这些参数来更新几何的方法?
小提琴这里https://jsfiddle.net/kn3owveg/2/
任何帮助表示赞赏!
Gaitat是完全正确的,您不能通过更改parameters
来更改几何。
而且可以有另一种解决方案。随着您的立方体的缩放。
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例如
感谢您的帮助。我已经从你的回答https://jsfiddle.net/henryJack/kn3owveg/6/ – henryJack
看起来不错,做得好:) – prisoner849
parameters.depth
仅用于几何构造时间。修改它时不起作用。你可以把它想象成read only
。
使用https://threejs.org/docs/?q=Box#Reference/Geometries/BoxGeometry的例子和右边的gui来看看如何实现你想要的。
什么是你想改变'depth'领域呢?该信息可能会有帮助 – Giovazz89
感谢您的帮助@ Giovazz89,我已经从收到的答案小提琴https://jsfiddle.net/henryJack/kn3owveg/6/ – henryJack