![](/img/trans.png)
[英]How to construct a 3D cube using javascript with THREE.js (without box/cube geometry)?
[英]three.js Cube Geometry - how to update parameters?
可能是愚蠢的问题,但这是可行的。 Three.js几何具有与之关联的“参数”领域,请参见此处的框几何...
我正在尝试像这样更新这些参数...
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/
任何帮助表示赞赏!
parameters.depth
仅在几何构造时使用。 修改时无效。 您可以将其视为read only
。
使用BoxGeometry上的示例和右侧的gui来查看如何实现所需的功能。
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示例
更改参数后,需要再次render
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.